1.
INFORMATIKAI ALAPFOGALMAK ............................................................................................................. 2 1.1 1.2
2.
HÍRKÖZLÉSI RENDSZER ............................................................................................................................. 3 2.1 2.2 2.3 2.4 2.5
3.
AZ INFORMÁCIÓ ......................................................................................................................................... 2 MODELLEZÉS ............................................................................................................................................. 2
REDUNDANCIA ........................................................................................................................................... 3 TÖMÖRÍTÉS ............................................................................................................................................... 3 HIBAFELISMERŐ ÉS JAVÍTÓ KÓDOK ................................................................................................................ 4 KRIPTOGRÁFIA ........................................................................................................................................... 4 EMBER-GÉP KOMMUNIKÁCIÓ ........................................................................................................................ 5
SZÁMRENDSZEREK ................................................................................................................................... 6 3.1 A HELYIÉRTÉK FOGALMA ............................................................................................................................... 6 3.2 TÍZES (DECIMÁLIS) SZÁMRENDSZER ................................................................................................................. 7 3.3 KETTES (BINÁRIS) SZÁMRENDSZER .................................................................................................................. 7 3.3.1 Kettes számrendszer jelentősége az informatikában ........................................................................ 7 3.3.2 Bináris-decimális konverzió ............................................................................................................... 7 3.3.3 Decimális-bináris konverzió ............................................................................................................... 7 3.4 TIZENHATOS (HEXADECIMÁLIS) SZÁMRENDSZER ................................................................................................ 8 3.4.1 Hexadecimális-decimális, decimális-hexadecimális konverzió: ......................................................... 8 3.4.2 Bináris-hexadecimális, hexadecimális-bináris konverzió ................................................................... 8 3.5 NYOLCAS (OKTÁLIS) SZÁMRENDSZER ............................................................................................................... 9
5.
FIXPONTOS SZÁMÁBRÁZOLÁS ............................................................................................................... 10 5.1 5.2 5.3 5.4
ELŐJEL NÉLKÜLI ÁBRÁZOLÁS ........................................................................................................................ 10 ELŐJELES ÁBRÁZOLÁS................................................................................................................................. 10 ELTOLT (TÖBBLETES) ÁBRÁZOLÁS ................................................................................................................. 11 KOMPLEMENTERES ÁBRÁZOLÁS ................................................................................................................... 11
6.
LEBEGŐPONTOS SZÁMÁBRÁZOLÁS ........................................................................................................ 13
7.
KÓDRENDSZEREK ................................................................................................................................... 15 7.1 ASCII (AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE CODE) KÓDRENDSZER ................................. 15 7.2 EBCDIC (EXTENDED BINARY CODED DECIMAL INTERCHANGE CODE) KÓDRENDSZER ............................................. 15 7.3 BINÁRISAN KÓDOLT DECIMÁLIS (BCD – BINARY CODED DECIMAL) .................................................................... 16 7.4 ZÓNÁZOTT DECIMÁLIS ÁBRÁZOLÁS................................................................................................................ 16 7.5 TÖMÖRÍTETT DECIMÁLIS ÁBRÁZOLÁS ............................................................................................................ 17 7.5.1 Előjel nélküli számok esetén: ........................................................................................................... 17 7.5.2 Előjeles számok esetén: ................................................................................................................... 17
1
1. Informatikai alapfogalmak 1.1 Az információ Az információ új ismeretet, értesülést jelent. Az információt mindig valamilyen adat hordozza, más szóval, az információ az adat jelentése. Ugyanazt az információt többféle adattal is közölhetjük. Például: információ az, hogy örülök, hogy találkozom valakivel. A „De jó, hogy látlak!”, és az „It’s nice to see you!” adat ugyanazt az információt hordozza. Az információ adattá alakítása a kódolás (pl. amikor közlendőmet szavakban kifejezem), az adatból az információ visszanyerése a dekódolás. Kódolásról és dekódolásról beszélünk akkor is, mikor egy adatot információtartalmának megőrzése mellett más adattá alakítunk (pl. fordítás egyik nyelvről a másikra). Kód az adatban szereplő jelek halmaza. Kód lehet pl. a magyar ABC (írott szöveg esetén), egy nyelv hangjainak halmaza (beszéd esetén), vagy akár a hangjegyek. Számítógépeknél a kód többnyire előre definiált alapszavakból, azonosítókból, számokból áll (a legegyszerűbb esetben csak a 0 és 1 számjegyből). Az informatika az információ kezelésével foglalkozó tudomány. A gép mindig adatokkal foglalkozik, melyek a megfelelő környezetben nyerik el az ember számára hasznos információtartalmukat.
1.2 Modellezés Az ember már igen régóta törekszik a valós világ megismerésére. A valós világban mindenféle objektumok (személyek, tárgyak, intézmények, számítógépes programok) vannak – nevezzük ezeket egyedeknek. Az egyedeknek egyrészt rájuk jellemző tulajdonságaik vannak, másrészt közöttük bonyolult kapcsolatrendszer áll fenn. Az egyedek reagálnak a körülöttük lévő más egyedek hatásaira, kapcsolatba lépnek egymással, információt cserélnek – vagyis viselkednek. Az egyes konkrét egyedeket egymástól tulajdonságaik eltérő értékei, vagy eltérő viselkedésük alapján különböztetjük meg. Ugyanakkor viszont a valós világ egyedei, közös tulajdonságaik és viselkedésmódjuk alapján kategorizálhatók, osztályozhatók. A valós világ túlságosan összetett ahhoz, hogy a maga teljességében megragadjuk, éppen ezért a humán gondolkodás az absztrakción alapszik és ennek segítségével modellekben gondolkodunk. Az absztrakció lényege, hogy kiemeljük a közös, lényeges tulajdonságokat és viselkedésmódokat, az eltérőeket, lényegteleneket pedig elhanyagoljuk. Ezáltal létrejön a valós világ modellje, amely már nem az egyes egyedekkel, hanem az egyedek egy csoportjával, osztályával foglalkozik. Az ember modelleket használ, amikor egy megoldandó problémán gondolkodik, amikor beszélget valakivel, amikor eszközt tervez, amikor tanít, amikor tanul, és amikor megpróbálja megérteni az itt leírtakat. A számítógépek megjelenése lehetővé tette az emberi gondolkodás bizonyos elemeinek automatizálását. Az informatika a modellezés terén is alapvető jelentőségre tett szert. Az egyedek tulajdonságait számítógépen adatokkal, a viselkedésmódot pedig programokkal tudjuk kezelni – ezzel természetesen szintén egyfajta modellt megadva. Így beszélhetünk adatmodellről és funkcionális modellről (eljárásmodellről). Ez a megkülönböztetés azonban csak számítógépes környezetben lehetséges, hiszen a modell maga egy és oszthatatlan.
2
2. Hírközlési rendszer
2.1 Redundancia Redundanciának nevezzük azt az adatot, amely nem hordoz (új) információt. Példa: beszédben az ismétlés, könyvben az oldalszámozás (mivel magunk is megszámolhatnánk az oldalakat). A redundancia kára, hogy a fölösleges, azaz redundáns adat tárolása több tárterületet, továbbítása több időt igényel. Mind a tárterület, mind a gépidő a számítástechnikában sokszor pénzben mérhető értékek. A redundancia azonban hasznos is lehet. Gyorsíthatja az adatfeldolgozást, az adattovábbítás hibái esetén lehetővé teszi a hiba felismerését és javítását (beszédben az ismétlés).
2.2 Tömörítés Tömörítésnek nevezzük az adatok redundanciáját csökkentő módon való átkódolását. Ez – a számítástechnikában elterjedten használatos módszer – általában kisebb adatmennyiséget eredményez. A tömörítés, és az eredeti adatok visszanyerése (dekódolás vagy kibontás) időigényes, de tárterület és átviteli idő nyerhető vele. Léteznek információtartó (gzip, png, gif, Huffman) és információt vesztő (jpeg, mpeg, mp3) tömörítési módszerek. Információtartó tömörítésnél, a későbbiekben egy fordított eljárással pontosan visszanyerhető az adat. Információt vesztő esetben az információ egy (kevéssé lényeges, a felhasználó számára gyakorlatilag észrevehetetlen) része elvész tömörítés során. Ez utóbbi a képek és hangok tömörítésénél használatos módszer. Az eredeti és kibontás után visszakapott adat nem egyezik pontosan, de az emberi szem vagy fül alig veszi észre a különbséget. Egyetlen tömörítési eljárás sem tud valamilyen tömörítési arányt garantálni minden lehetséges bemeneti adatra. Más szavakkal kifejezve, bármely adattömörítési algoritmus esetében lesz olyan bemeneti adathalmaz, aminek a méretét az algoritmus nem képes csökkenteni. Példák tömörítésre: – sok 0-t és kevés 1-et tartalmazó sorozat jól tömöríthető, ha az eredeti sorozat helyett megadjuk a hosszát és az 1-esek helyét (így pl. 0000 0001 0000 0010 0000 0000 sorozatból lesz 24, 8,15) – szöveg jól tömöríthető, ha a gyakran ismétlődő szavak helyett speciális, rövid jelsorozatot használunk (pl. egy kvantummechanikával és relativitás-elmélettel kapcsolatos cikkben e két szó helyett \kv és \re jeleket).
3
2.3 Hibafelismerő és javító kódok Ha az adattovábbítás során hibák léphetnek fel (zajos csatorna), a továbbítandó adatot szándékosan redundánssá teszik, hogy a hibák felismerhetők és javíthatók legyenek. Ezek a módszerek feltételezik, hogy az adatátvitel nem nagyon hibás (hiába ismétlünk mindent kétszer, ha a partner mindkét alkalommal ugyanúgy hallja félre). A hibák felismeréséhez a legkézenfekvőbb módszer mindent megismételni. Ha a két változat nem egyezik a vevő oldalán, kérheti az üzenet megismétlését. Ez azonban megduplázza az adatátviteli időt. Az ellenőrzőösszeg (angol kifejezéssel: checksum) adatcsomag bájtjain végrehajtott matematikai művelet eredménye. Magát műveletet hash-nek nevezzük. Egy összetett matematikai eljárás melynek célja, hogy az adatok sértetlenségét jelezze tárolása vagy továbbítás során. A küldés előtt és után képzett ellenőrzőösszeg összehasonlításával ellenőrizhető a csatorna adatátvitele. Az eljárás során kapott eredmény lényegesen kisebb, mint maga az adat, ez természetesen azt jelenti, hogy az ellenőrzőösszeg nem tartalmazhatja az eredeti adathalmazt. Ebből következik, hogy több olyan adat is létezik melynek ellenőrzőösszege azonos, de mivel ez a jelenség ritka, kismértékű tartalmi változás esetén lehetetlen, így a módszer a gyakorlatban meglehetősen biztonságos. Többféle hash függvény is létezik. A legelterjedtebbek az SHA-1 és az MD5, CRC. Az ellenőrző összegre egyszerű példa a paritásbit használata: itt az adat 0 és 1 számjegyekből álló sorozat. Az adó az üzenetet bitek blokkjaira tördeli, ahol minden blokkhoz tartozik egy plusz bit, a paritásbit. A paritásbit értéke 1, ha a blokkban páros számú egyes van, és 0, ha páratlan számú. Ha átvitel során egy hiba keletkezik (0 helyett 1 érkezik, vagy fordítva), a vevő a paritásbit alapján erről tudomást szerez. Természetesen az is hibának számít, ha a paritásbit jön át hibásan. Két hibát ezzel a módszerrel nem lehet észlelni (két hiba valószínűsége azonban sokkal kisebb egy hibánál). Pl. 0110 1101 0 1111 0000 1 1010 1110 0
2.4 Kriptográfia A kriptográfia egy mára önállóvá vált, erősen matematikai jelleget kapott, elsősorban informatikai tudományág, mely a rejtjelezéssel, titkosírásokkal, ezek előállításával és megfejtésével foglalkozik. Egy kommunikációs folyamat során továbbított nyilvános üzenetet akkor nevezünk titkosnak, ha a feladó olyan formában küldi, melyet olvasni vagy fogadni esetleg többen is tudnak, de megérteni csak a fogadók egy megcélzott csoportja tudja. A titkosságra való törekvés az emberi társadalmak velejárója; mely elsősorban a civil és katonai ügynökségek, állami szervezetek, a diplomácia, az ipari vagy egyéb kutatást is végző vállalatok, a személyes és visszaélésre is alkalmas adatokat kezelő cégek (bankok stb.), és általában szinte mindenki számára fontos. A kriptográfia jelen van mindennapjainkban is. Pl. DES, AES, RSA, digitális aláírás, digitális pénz, GSM titkosítás…
4
2.5 Ember-gép kommunikáció Pl. társalgás mobiltelefonon keresztül. Kik/mik töltik be az egyes kommunikációs szerepeket? Ki az adó? Ki a vevő? Mi a kommunikációs csatorna? Egyáltalán hány kommunikációs csatornára van szükség? Egy másik probléma az ember-gép kommunikációval kapcsolatban az, hogy a számítógépek adattárolása digitális, a valós világ viszont az információt többnyire analóg formában tartalmazza, így a számítógép és a külvilág közti adatcserénél analóg-digitális és digitálisanalóg (A/D és D/A) átalakítókat használunk. Analóg számábrázolás: az ábrázolandó mennyiség valamely folytonosan változó fizikai mennyiséggel reprezentált (az „analóg” szó a fizikai mennyiségnek való megfeleltetést jelenti). Digitális számábrázolás: a mennyiségeket diszkréten változó mennyiségekkel, többnyire számjegyekkel ábrázoljuk (a „digit” szó számjegyet jelent, bit – binary digit). Analóg ábrázolásnál bármilyen közbülső érték ábrázolására képesek vagyunk, de az ábrázolás pontosságának van határa. Digitális esetben csak bizonyos értékeket ábrázolhatunk, de azt teljes pontossággal.
5