Programozás módszertan I. 10.B Tanítási órák anyaga
Informatikai, programozási alapfogalmak 1.1. Informatikai alapfogalmak átismétlés A kódolás fogalma, kódrendszerek, az ASCII kódrendszer A számítógépes adatábrázolás, adatok tárolása, fix és lebegőpontos adatábrázolás 1.2. Átszámítás kettes, tízes és tizenhatos rendszerben Az adattárolás fajtái és jellemzői
1.1. Informatikai alapfogalmak átismétlése A személyi számítógép felépítése: aritmetikai és logikai egység (CPU alapegysége) vezérlő egység (CPU alapegysége) memória beviteli egység kiviteli egység A számítógép működésének alapelvei: Soros működésű Kettes számrendszer használata Belső memória alkalmazása Tárolt programozás elve Univerzális gép
A gépek az adatfeldolgozást teljesen elektronikusan végzik A gépek az adatfeldolgozást teljesen elektronikusan végzik. A megoldandó matematikai problémákat a lehető legegyszerűbb lépésekre fel kell bontani, ami sok esetben az elvégzendő műveletek összeadások sorozatára vezethető vissza. Az alkalmazott elektromos eszközök miatt a kettes számrendszert használják. Alan Mathison Turing (1912-1954) munkássága alapján tudjuk, hogy ha egy gép képes néhány alapművelet elvégzésére, akkor összetett műveletek elvégzésére is képes. A számítógépen belül a műveletek végrehajtásának irányításáért a központi műveletvezérlő egység a felelős= CPU (Central Processing Unit).
Az adatok és az utasítások a belső memóriában helyezkednek el Az adatok és az utasítások a belső memóriában helyezkednek el. A CPU innen veszi a soron következő utasítást, a hozzá tartozó adatokat és a művelet eredményeit ide helyezi el. A nagyobb mennyiségű adatok tárolására külső tárolóeszközt használnak. Lényegében a fentieket írta le Neumann János (1903-1957) 1945-ben az ENIAC számítógép megépítésével kapcsolatos tapasztalatok összegzésében, amely leírás a tervezés alatt álló EDVAC számítógép teljes leírását adta. Ezeknek az elvárásoknak megfelelő gépeket nevezik Neumann elvű számítógépeknek. információ= felvilágosítás, hír, értesülés, adat, új ismeret adó= az információ forrása
vevő= az üzenet valamilyen jelkészletből áll, majd ezeket a jeleket az adó valamilyen információhordozóra bízza, és küldi az üzenet címzettjének kódolás= azt a folyamatot, amikor az adó az üzenetet a szállításhoz átalakítja dekódolás= az a folyamat amikor a vevő visszaalakítja a jeleket információs folyamat= az adatgyűjtési és feldolgozási eljárások együttese adat= betűk, számok, jelek és azok kombinációi
Az adattárolás egységei: a szg. minden adat végső formája nullákból és egyesekből álló számsorozat, bitsorozat az adattárolás alapegysége a bit a szg. legkisebb tároló egysége a 8 bináris számjegy elhelyezésére alkalmas bájt (byte) egy bájton 28, azaz 256 bitsorozat helyezhető el az 1 byte kis adatmennyiséget jelöl, ezért szükség van különböző váltószámok bevezetésére: Adattárolásra használatos tárolókapacitási mértékegységek: 1KB= 1024 byte= 210 byte 1MB= 1024 KB= 220 byte 1GB= 1024 MB= 230 byte 1TB= 1024 GB= 240 byte
-karakterek= számjegyek, betűk, írásjelek, speciális jelek A karakterek számítógépes ábrázolására bináris kódokat alkalmaznak. Az ábrázolandó karakterek száma nem haladhatja meg a 256-ot (28) 1 karakter tárolására elég 1 byte. Az egész világon egységesnek kell lennie ennek az összerendelésnek, ezért bevezettek egy szabvány kódrendszert, az ASCII kódrendszert 1963-ban. ASCII= American Standard Code for Information Interchange (amerikai szabványos információcsere kódrendszer) 256 karaktert tartalmaz és 1 karaktere 1 byte- on tárolható. Tartalmazza a számjegyeket, betűket, jeleket, írásbeli-, műveleti-, vezérlő jeleket, görög abc betűit, táblázatkészítő karaktereket, nemzeti karaktereket.
1.2. A számítógépes adatábrázolás, adatok tárolása, fix és lebegőpontos adatábrázolás A szg.– en kétféle módon tárolják az adatokat: - gépi számábrázolás =a számok műveletvégzésre alkalmas formájú tárolás - szöveg kódolt ábrázolása= a tetszőleges betűkből, számokból, jelekből álló információ A szg.- en kétféle számtípust különböztetünk meg: egész és valós A szg. a műveletvégzés megkönnyítésére a matematikában , megszokott alaktól eltérő módon tárolja az egész és a valós számokat.
Bináris Hexadecimális Decimális 0000 0 0 0001 1 1 0010 2 2 0011 3 3 Az alábbi táblázatban a bináris- hexadecimális- decimális számrendszerek közötti konverziót mutatjuk be: Bináris Hexadecimális Decimális szám szám szám 0000 0 0 0001 1 1 0010 2 2 0011 3 3 0100 4 4 0101 5 5 0110 6 6 0111 7 7 1000 8 8 1001 9 9
1010 A 10 1011 B 11 1100 C 12 1101 D 13 1110 E 14 1111 F 15
Átszámítás kettes, tízes és tizenhatos rendszerben (2): Pl. 129= 1000 0001 Gyakorlatok: 1) 255 129 2 2) 170 64 1 3) 365 32 0 4) 729 16 0 8 0 4 0 2 0 1 0 0 1
(10): (2) (16): Pl.: 10010010= 0+ 2+ 0+ 0+ 16+ 0+ 0+ 128= 146 Gyakorlatok: 1. 1111 1110 2. 1001 1100 3. 1101 1000 4. 1010 0011 (2) (16): Pl. : 0010 1010 0001= 2A1 8 4 2 1 8 4 2 1 8 4 2 1 2 10 1 2 A 1 Gyakorlatok: 1. 1010 0101 2. 1110 1011 3. 1111 1111 4. 1001 1011 1101
(16) (2): Pl.: 2A1= 10 1010 0001 2A1 = 0010 1010 0001 Gyakorlatok: 1. F0 2. 11 3. A6 4. 7ED
Egész számok ábrázolása Fixpontos vagy egész ábrázolás A negatív számok ábrázolására többnyire a kettes koplemensképzés (nullára történő kiegészítés) módszerét alkalmazzuk. A negatív számokat azonos módon kezelhetjük a pozitívokkal, az át- és visszaírás ugyanúgy történik, valamint a kivonás műveleténél nem kell a nagyságrendekkel foglalkozni. A komplemensképzés azt jelenti, hogy a bináris szám minden jegyét átfordítjuk a másik bináris jegyre: pl. 00101110 11010001 Tárolás módja: pl. -27 1. lépés: a 27- et átváltjuk a kettes számrendszerbe 27 13 6 3 1 0 1 1 0 1 1 tehát: 27 (2) = 11011 Hogy a jegyek száma a tárolási mód miatt byte- nyi méretű legyen, vezető nullákkal kell kiegészíteni a számot 8 jegyűre: 27= 00011011
A 27= 00011011 komplemense: 11100100 lesz. 2. lépés: a számhoz hozzá kell adni még 1-et, így alakul ki a kettes komlemens alak: 11100100+ 1 11100101 a -27 mint negatív szám így kerül be a memóriába Az előjeles egész számok a következő formában kerülnek a memóriába, és visszaírásnál is így értékeli ki a szg. a tartalmat: - pozitív szám: 0 előjel bit, majd a szám bináris jegyei - negatív szám: 1 előjel bit, majd a szám kettes komplemens alakban.
Pl. 113-54= 113 56 28 14 7 3 1 0 1 0 0 0 1 1 1 113 (2) = 1110001 vezető nullákkal kiegészítve: 01110001 54 27 13 6 3 1 0 0 1 1 0 1 1 54 (2) = 110110 vezetőnullákkal kiegészítve: 00110110 54 komplemense= 11001001 -54 = 11001001+ 1 11001010 , így 113+(-54)= 01110001+ 11001010 00111011
b) Lebegőpontos ábrázolás A valós számokat úgynevezett lebegőpontos formában ábrázolja a számítógép. Ehhez a számot kettes normál alakra kell hozni, ami azt jelenti hogy a kettedes törtet 0 és 1 közé eső számmá írjuk át, a kettő megfelelő hatványával szorozva, hogy az értéke ne változzon. Az első rész lesz a mantissza, míg a kettő megfelelő hatványa lesz a karakterisztika. Az ábrázolás a következő módon történik: -az első bitet itt a szám előjeleként kezeljük, 0 a pozitív, 1 a negatív értéket jelenti.
-ezt követi a karakterisztika 7 biten, torzítva ábrázolva. A torzítás a negatív kitevők miatt szükséges, és 64 (=1000000) hozzáadását jelenti a tényleges karakterisztikához. Így a negatív kitevőkkel nem kell többet foglalkoznunk külön. A karakterisztika így -64 és 63 közötti érték lehet. -a harmadik részt a mantissza kettedes vessző utáni jegyeivel töltjük fel. Ha az rövidebb, akkor az üres helyeket 0- val töltjük fel Pl. ábrázoljuk -1384- et lebegőpontos számábrázolással 32 biten 1. lépés: a számot át kell váltani kettes, majd tizenhatos számrendszerbe 1384(10) = 10101101000(2) =568(16) 0 1 0 1 0 1 1 0 1 0 0 0 5 6 8
2. lépés: képezzük a szám normál alakját, ami: 0,568(16) *163 3. lépés: -határozzuk meg a karakterisztikát: kitevő = 3, karakterisztika 64+3=67, ezt a kettes számrendszerbe felírva kapjuk 10000112 számot, ami a karakterisztika -a mantisszához az 56816 számot kell binárisan felírni 24 biten, a szám végét 0- val egészítjük ki. -mivel a szám negatív, így az előjelbit értéke 1
az eredmény: 1 1000011 0101 0110 1000 0000 0000 0000 Előjelbit karakterisztika 5 6 8 0 0 0 mantissza
Gyakorlatok: Ábrázoljátok fix és lebegőpontosan: -159 -1247 -563 -174