adattipusok-cover

A programozás alapjai 0.2 – Adattípusok, egy program futása

Ahhoz, hogy programozásról beszéljünk, egyszer az alapokat kell megemlítenünk, vagyis, hogy mi is az a processzor, hogyan tárolódnak az adatok a memóriában, mik is azok az adattípusok.

Alapok

Érdemes azzal az egyszerű kijelentéssel kezdeni, hogy minden kódnyelv, ahhoz, hogy fusson, gépnyelvre fordítódik. Általában minden programozási nyelvnek saját fordítója van, ami a gépnyelvre való fordítást végzi.

Hogy mi is az a gépnyelv? A gépnyelv a processzor által ismert műveletek sokasága. A processzor általában alap műveleteket tud végezni, azt viszont nagyon gyorsan. Például egy 2.4 Ghz -es processzor 2400000000 műveletet végez másadpercenként, de figyelem, ezek a saját, belső műveletei.

A jelenleg is működő, használt programozási nyelv, ami direkt gépi nyelv, vagyis processzorműveleteket tartalmaz, az az Assembler, vagy Assembly nyelv.

Amint látható a fenti példában, ami két számot ad össze, a kód processzorműveleteket tartalmaz, vagyis nem kell még leforduljon gépi nyelvre, hanem direkt futtatható.

Felmerül a kérdés, hogy a processzor honnan tudja, hogy milyen műveleteket kell végezzen? Ezt a műveleti memória határozza meg. Amikor elindítjuk a számítógépet, a memória feltöltődik az operációs rendszer által meghatározott műveletekkel, és a processzor futás közben azokat hajtja végre. A műveleti memória a teljes memória egy felhasznált része, a többi memória a feldolgozandó adatoknak marad.

A következő kérdés, ami felmerül, hogy miként van az, hogy megy a YouTube a háttérben, közben egy dokumentumot szerkesztek, és még egy játék is fut a háttérben? Ez is nagyon egyszerű. A párhuzamos futás egy számítógépen csak illúzió. Igazából a különböző futó alkalmazások szerre futnak, vagyis egy kevés egyikből, egy kevés a másikból, de csak egymás után. A több magos processzorok esetében is így van, csak a műveletek száma megoszlik.

Adattípusok

Bármilyen programozási nyelvről beszélünk, két dolog mindig jelen van: a változók és a műveletek. A változók azok az izék, amikben az adatainkat tároljuk a program futása allatt. A műveletek pedig az általunk meghatározott teendők.

Amikor a programozás kialakult, szükség volt valami módszerre, amivel a matematikában használt számokat és kifejezéseket le lehetett vetíteni a programozás világába. Megszülettek tehát az alap adattípusok, amelyek a következők: integer, float, double, char, boolean.

Mielőtt bárki megijedne, ezek csak kifejezések arra, hogy egy bizonyos adat miként jelenik meg a memóriában. Mivel a memória 0-1 bitek sokaságából áll, ezeket kell használnunk arra, hogy kifejezzünk egy számot, vagy egy karaktert. Egy adattípus a memóriában általában meghatározott hosszúságú, de ezt legtöbbször a programozási nyelv és annak fordítója határozza meg. Az alap egység a bit, ami után jön a byte. Egy byte 8 bit. Erre alapszanak a többi adattípusok.

Példának egy táblázat a Java nyelv primitív adattípusaival:

Kulcsszó Leírás Méret
(természetes számok)
byte Byte-hosszúságú integer 8-bit
short Rövid integer 16-bit
int Integer 32-bit
long Hosszú integer 64-bit
(egész számok)
float Egyszeres precizitású lebegőpont 32-bit IEEE 754
double Dupla precizitású lebegőpont 64-bit IEEE 754
(más típusok)
char Egy karakter 16-bit Unicode karakter
boolean Boolean érték (igaz vagy hamis) igaz vagy hamis

A programozásban a változóinknak, amiket használunk, bizonyos adattípusa van. Ezekkel végzünk műveletek, például összeadást, szorzást, vagy épp karakterösszefűzést.

Természetesen a legtöbb programozási nyelv ezeken az alaptípusokon kívül használ más típusokat is, amik vagy saját, alaptípusok, vagy valamelyik primitív típusra épülő adattípusok. Mivel ezek nyelvenként változnak, erre nem tírünk ki.

Valaki fel lehet háborodva most már, hogy hány cikket elolvasott, de még mindig nem fogtunk neki programozni. Csak semmi pánik, oda is elérkezünk lassan, viszont ezek az alapok fontosak ahhoz, hogy értsük, hogy igazából mire is épül a programozás, mi is történik a háttérben.

Minden vélemény számít!

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.

A következő HTML tag-ek és tulajdonságok használata engedélyezett: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">