Alprogramok fordítása. Kódgenerálás II. (alprogramok, memóriakezelés) Függvény, eljárás. Alprogramok írása assemblyben

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Alprogramok fordítása. Kódgenerálás II. (alprogramok, memóriakezelés) Függvény, eljárás. Alprogramok írása assemblyben"

Átírás

1 Alprograok forítása Kógenerálás II. (alprograok, eóriakezelés) Forítóprograok előaás (A,C,T szakirány) függvény, eljárás, etóus paraéterátaási forák érték szerint, hivatkozás szerint... tagfüggvények 28. őszi félév Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) 2 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Függvény, eljárás Alprograok írása asseblyben függvény: eljárás: sak beenő paraéterek visszatérési érték nins ellékhatása ki- és beenő paraéterek jellezően nins visszatérési érték Péla: függvény int uplaja( int n ) { urn 2*n; } Péla: eljárás C, C++, Java,... : nins ilyen egkülönböztetés voi uplaz( int & n ) { n *= 2; } paraéter nélküli alprograok 2 paraéterátaás 3 lokális változók 3 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) 4 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) A all és utasítások all Cíke az regiszter tartalát a verebe teszi ez a all utáni utasítás íe visszatérési ínek nevezzük átaja a vezérlést a Cíke íkéhez int egy ugró utasítás kiveszi a vere legfelső négy bájtját és az regiszterbe teszi int egy pop utasítás a progra a vereben talált ínél folytatóik e: b Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) 6 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés)

2 nulláz e: e: 7 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) 8 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) e e: eb e: eb 9 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterek átaása e: eb a paraétereket a verebe kell tenni a all utasítás előtt C stílusú paraéterátaás: forított sorrenben tesszük a verebe az utolsó kerül legalulra az első a vere tetejére az ejárásból való visszatérés után a hívó állítja vissza a veret visszatérési érték: az ea regiszterbe kerül Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) 2 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés)

3 Péla: paraéterátaás (. változat) Péla: paraéterátaás (. változat) b: push wor : all uplája : a,4 b b: push wor : all uplája : a,4 uplája: ov ea,[+4] f: a ea,[+4] g: uplája: ov ea,[+4] f: a ea,[+4] g: 3 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) 4 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Péla: paraéterátaás (. változat) Péla: paraéterátaás (. változat) b: push wor : all uplája : a,4 uplája b: push wor : all uplája : a,4 f uplája: ov ea,[+4] f: a ea,[+4] g: uplája: ov ea,[+4] f: a ea,[+4] g: ea Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) 6 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Péla: paraéterátaás (. változat) Péla: paraéterátaás (. változat) b: push wor : all uplája : a,4 g b: push wor : all uplája : a,4 uplája: ov ea,[+4] f: a ea,[+4] g: uplája: ov ea,[+4] f: a ea,[+4] g: 7 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) 8 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés)

4 Péla: paraéterátaás (. változat) Paraéterátaás. változat hivatkozás a paraéterekre (ha inegyik 4 bájtos):.: [+4] 2.: [+8]... b: push wor : all uplája : a,4 uplája: ov ea,[+4] f: a ea,[+4] g: e 9 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) 2 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás. változat hivatkozás a paraéterekre (ha inegyik 4 bájtos):.: [+4] 2.: [+8]... probléa: Iőnként használni akarjuk a veret az alprogra belsejében. Pélául: egyes regiszterek elentése lokális változóknak helyfoglalás Ilyenkor változik a paraéterekre való hivatkozás ója! Péla: verehasználat alprogra belsejében alprogra: ; itt [+4] az első paraéter push e ; itt ár [+8] pop e ; itt egint [+4] 2 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás 2. változat Megolási ötlet: Használjuk az regisztert az helyett: az alprogra elején egkapja értékét közben akárhogy változhat a paraétereket inig ugyanúgy érjük el: [+4], [+8],... Péla: használata a paraéterek eléréséhez alprogra: ov, ; az első paraéter: [+4] push e ; ugyanúgy [+4] pop e ; továbbra is [+4] 2 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás 2. változat probléa: Alprograhívás egy alprogra belsejében: elállítja értékét! Alprograhívás alprograban egyik: ov, ; első paraéter: [+4] all asik ; ez elállítja -t ; itt -t ár ne tujuk használni Paraéterátaás 3. (végső) változat Megolás: Mentsük el értékét az alprogra elején a verebe és állítsuk vissza a végén! Alprograhívás alprograban egyik: push ov, ; első paraéter: [+8] all asik ; ez egőrzi értékét ; itt is [+8] az első paraéter pop asik: ov, ;... ; itt állítjuk el -t asik: push ov, ;... pop ; itt entjük el -t ; és itt állítjuk vissza 22 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) 23 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés)

5 Paraéterátaás 3. (végső) változat Hivatkozás a paraéterekre: [+8], [+2],... []: az elentett értéke [+4]: a visszatérési í Akár rekurzív is lehet az alprogra Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 b 2 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 26 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 fat 27 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 f 28 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 g 29 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés)

6 Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 h ea 3 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 zero flag= i ea 3 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 zero flag= j ea 32 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 k 33 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 l 34 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 fat 3 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés)

7 Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 f 36 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 g 37 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 h 38 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 zero flag= i 39 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 zero flag= nulla 4 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 vege ea 4 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés)

8 Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 q: q ea 42 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 q: ea 43 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 q: n ea 44 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 q: o ea eb 4 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 q: p ea eb 46 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 q: vege ea eb 47 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés)

9 Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 q: q ea eb 48 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 q: ea eb 49 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás (3. változat) b: push wor : all fat : a,4 fat: push f: ov, h: p ea, j: e ea l: all fat : a,4 q: e ea eb Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Paraéterátaás egjegyzések inen éppen futó alprogra-pélányhoz tartozik egy rész a vereből aktiváiós rekor / vere-ke (stak frae) az regiszter segítségével érhetők el az aktuális aktiváiós rekor részei bázis pointer az -ből inulva egy lánolt listára vannak felfűzve az aktiváiós rekorok ez teszi lehetővé az eggyel korábbi aktiváiós rekorhoz való visszatérést az alprogra végén Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Lokális változók Az aktiváiós rekor felépítése a lokális változók a vere tetejére kerülnek hivatkozás a lokális változókra (ha inegyik 4 bájtos): [-4], [-8],... az a lokális változók területe fölé utat lehet vereűveleteket és alprogra-hívásokat végrehajtani a lokális változók felülírása nélkül lokális változók előző akt. rek. bázispointere visszatérési í. paraéter 2. paraéter... 2 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) 3 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés)

10 Alprograefiníiók forítása Lokális változók efiníiójának forítása Alprograok séája alprogra: push ov, sub, a lokális változók ée ; az alprogra törzse vége: a, a lokális változók ée pop egyei íkéket kell generálni a lokális változók összée a törzs szintetizált attribútua lehet összesíteni kell az alprograban használt lokális változókat ha inet az elején kell efiniálni, akkor könnyű fel kell venni őket a szibólutáblába inegyikhez ki kell száolni, hogy hol fog elhelyezkeni: [-?] az összéükre szükség lesz az alprogra sub, a lokális változók ée soránál 4 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Lokális változók kiértékelése A urn utasítás forítása kiegészítjük a kifejezéskiértékelés forítását egy új esettel: ha a kifejezés egyetlen lokális változó... a szibólutáblából kiolvassuk a pozíióját: p a generálanó kó: Hivatkozás lokális változóra ov ea,[-p] A urn kifejezés utasítás kója ; a kifejezés kiértékelése ea-be jp vége itt is tuni kell az alprogra végét jelző íkét (hasonló probléák, int a break esetén) 6 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) 7 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) Alprograhívás forítása Paraéterátaás Alprograok séája ; utolsó paraéter kiértékelése ea-be push ea ;... ;. paraéter kiértékelése ea-be push ea all alprogra a, a paraéterek összhossza érték szerint: a paraéterértékeket ásoljuk a verebe ha az alprogra óosítja, az ne hat az átaott változóra hivatkozás szerint az átaanó változóra utató pointert kell a verebe tenni az alprograban a lokális változó kiértékelése is óosul: ov ea,[+p] ov ea,[ea] 8 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) 9 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés)

11 Meóriakezelés A heap eória statikus eóriakezelés: a.ata vagy.bss szakaszban globális vagy statikusnak eklarált változók előre iserni kell a változók éét, arabszáát inaikus eóriakezelés blokk-szerkezethez kötőő, lokális változók: vere tetszőleges élettartaú változók: heap eória két alapvető űvelet: allokálás és felszabaítás az operáiós renszer vagy egy prograkönyvtár végzi a szaba és foglalt területeket nyilván kell tartani allokáláskor valailyen stratégia szerint egy szaba területet kell lefoglalni a felszabaított eóriát hozzá kell tenni a szaba területhez asseblyből lehet hívni a C allo és free függvényeit 6 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés) 6 Forítóprograok előaás (A,C,T szakirány) Kógenerálás II. (alprograok, eóriakezelés)

A verem (stack) A verem egy olyan struktúra, aminek a tetejéről kivehetünk egy (vagy sorban több) elemet. A verem felhasználása

A verem (stack) A verem egy olyan struktúra, aminek a tetejéről kivehetünk egy (vagy sorban több) elemet. A verem felhasználása A verem (stack) A verem egy olyan struktúra, aminek a tetejére betehetünk egy új (vagy sorban több) elemet a tetejéről kivehetünk egy (vagy sorban több) elemet A verem felhasználása Függvény visszatérési

Részletesebben

é ö é Ö é ü é é ö ö ö ü é é ö ú ö é é é Ő ö é ü é ö é é ü é é ü é é é ű é ö é é é é é é é ö ö í é ü é ö ü ö ö é í é é é ö ü é é é é ü ö é é é é é é é é é é é é é é é ö é Í ö í ö é Í í ö é Í é í é é é é

Részletesebben

A programozás alapjai 1 Rekurzió

A programozás alapjai 1 Rekurzió A programozás alapjai Rekurzió. előadás Híradástechnikai Tanszék - preorder (gyökér bal gyerek jobb gyerek) mentés - visszaállítás - inorder (bal gyerek gyökér jobb gyerek) rendezés 4 5 6 4 6 7 5 7 - posztorder

Részletesebben

Mutatók és mutató-aritmetika C-ben március 19.

Mutatók és mutató-aritmetika C-ben március 19. Mutatók és mutató-aritmetika C-ben 2018 március 19 Memória a Neumann-architektúrában Neumann-architektúra: a memória egységes a címzéshez a természetes számokat használjuk Ugyanabban a memóriában van:

Részletesebben

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK Sapientia EMTE 2015-16 1 Felülnézet 1 Feltételes fordítás #if, #else, #elif, #endif, #ifdef, #ifndef stb. Felülnézet 2 #include: hatására a preprocesszor

Részletesebben

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás Kódgenerálás Memóriagazdálkodás Kódgenerálás program prológus és epilógus értékadások fordítása kifejezések fordítása vezérlési szerkezetek fordítása Kódoptimalizálás L ATG E > TE' E' > + @StPushAX T @StPopBX

Részletesebben

Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r

Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r Programozás I. Széchenyi István Egyetem, Gy r 2014. november 16. Áttekintés kel kapcsolatos fogalmak deklaráció Több, kompatibilis változat is elképzelhet. Meg kell el znie a fv. hívását. Mindenképp rögzíti

Részletesebben

Számítógépek felépítése

Számítógépek felépítése Számítógépek felépítése Emil Vatai 2014-2015 Emil Vatai Számítógépek felépítése 2014-2015 1 / 14 Outline 1 Alap fogalmak Bit, Byte, Word 2 Számítógép részei A processzor részei Processzor architektúrák

Részletesebben

A C programozási nyelv II. Utasítások. A függvény.

A C programozási nyelv II. Utasítások. A függvény. A C programozási nyelv II. Utasítások. A függvény. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv II (Utasítások, fuggvények) CBEV2 / 1 Kifejezés utasítás Kifejezés utasítás, blokk

Részletesebben

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból

Részletesebben

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete A szemantikus elemzés elmélete Szemantikus elemzés (attribútum fordítási grammatikák) a nyelvtan szabályait kiegészítjük a szemantikus elemzés tevékenységeivel fordítási grammatikák Fordítóprogramok előadás

Részletesebben

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák Az GOTO offset utasítás. P relatív: P értékéhez hozzá kell adni a két bájtos, előjeles offset értékét. Mic 1 program: Main1 P = P + 1; fetch; goto() goto1 OP=P 1 // Main1 nél : P=P+1 1. bájt goto P=P+1;

Részletesebben

Á É Á É Ü É é í ü ü ü é é ö é é é é ö é ó ó é é í ó é é é é ü é ó ó éó ó ó é é é é é é é í ó Ü ö ö ű é ű í é ó é ó é ü é í ü é ü ü é é í ö ö é ü é í ü ü é é é ü ö é ó ó ö í ó é é ü ö é ö í é é é é ü é

Részletesebben

A kódgenerálás helye a fordítási folyamatban. Kódgenerálás I. (kifejezések és vezérlési szerkezetek) A kódgenerálás feladata. Ebben az előadásban...

A kódgenerálás helye a fordítási folyamatban. Kódgenerálás I. (kifejezések és vezérlési szerkezetek) A kódgenerálás feladata. Ebben az előadásban... A kódgenerálás helye a fordítási folyamatban Forrásprogram Forrás-kezelő (source handler) Kódgenerálás I. (kifejezések és vezérlési szerkezetek) Fordítóprogramok előadás (A,C,T szakirány) 2008. őszi félév

Részletesebben

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot

Részletesebben

Paraméter átadás regisztereken keresztül

Paraméter átadás regisztereken keresztül Eljárások paramétereinek átadási módjai Az eljárások deklarációjánál nincs mód arra, hogy paramétereket adjunk meg, ezért más, közvetett módon tudunk átadni paramétereket az eljárásoknak. Emlékeztetőül:

Részletesebben

Assembly utasítások listája

Assembly utasítások listája Assembly utasítások listája Bevezetés: Ebben a segédanyagban a fontosabb assembly utasításokat szedtem össze. Az utasítások csoportosítva vannak. A fontos kategóriába azok az utasítások tartoznak, amiknek

Részletesebben

Programozás alapjai. 10. előadás

Programozás alapjai. 10. előadás 10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály

Részletesebben

Adatszerkezetek 1. Dr. Iványi Péter

Adatszerkezetek 1. Dr. Iványi Péter Adatszerkezetek 1. Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot kódoltan tároljuk

Részletesebben

ü Á É Á Á Á É É ü É ő Á É Í Í É É É í é í ö í ü ö é ö ö é ú é é é é é é ő ő ő é É é é ü é é í é É É É é í ö é é é Í é í é é ö ü é í ö é é É í ö é é ú ű É ö é é ö ö é ö ö ö é í ö é É ö í é é ü é Á é ü

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak

Részletesebben

Bevezetés a C++ programozási nyelvbe

Bevezetés a C++ programozási nyelvbe Bevezetés a C++ programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék CPP0 / 1 Története A C++ programozási nyelv a C programozási nyelv objektum orientált kiterjesztése. Az ANSI-C nyelvet

Részletesebben

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás.

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás. Emlékeztető: a fordítás lépései Forrás-kezelő (source handler) Szimbólumtábla-kezelés Fordítóprogramok előadás (A, C, T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus elemző

Részletesebben

:.::-r:,: DlMENZI0l szoc!0toolnl ránsnnat0m A HELYI,:.:l:. * [:inln.itri lú.6lrl ri:rnl:iilki t*kill[mnt.ml Kilírirlrln K!.,,o,.r*,u, é é é ő é é é ő é ő ő ú í í é é é ő é í é ű é é ő ő é ü é é é í é ő

Részletesebben

ó ó ú ú ó ó ó ü ó ü Á Á ü É ó ü ü ü ú ü ó ó ü ó ü ó ó ú ú ú ü Ü ú ú ó ó ü ó ü ü Ü ü ú ó Ü ü ű ű ü ó ü ű ü ó ú ó ú ú ú ó ú ü ü ű ó ú ó ó ü ó ó ó ó ú ó ü ó ó ü ü ó ü ü Ü ü ó ü ü ü ó Ü ó ű ü ó ü ü ü ú ó ü

Részletesebben

Á ű ő ö Í é é ő Ö Ö é ő Ö ő ö é é Ö ü é ó Ő é é ó é ó é é é é Ö ó ó ő é Ü é ó ö ó ö é é Ő ú é é é é ő Ú é ó Ő ö Ő é é é é ű ö é Ö é é ó ű ö é ő é é é é é é é é é Ö é Ö ü é é é é ö ü é ó é ó ó é ü ó é é

Részletesebben

Ü Ö Á Á Á Á Á É ű Ü Ú ű ű Á É ű Ú Ü ű Ü Ü Ü Ü Ü Ü Ü Ü Ü Á Ü Ü Ü Ö Ö Ú Ö Ü Ö ű ű ű ű ű Á ű Ú ű ű ű ű ű É Á Ö Ö Ö ű ű ű Á ű ű ű ű ű ű ű ű ű ű Ü Ü Ü Ü ű ű ű ű ű ű ű ű ű ű ű Ú ű ű ű ű ű ű Ü Ö Ü Ó Ö ű ű ű

Részletesebben

Ü Éü É ü í í Í ö Ü Ú ú Ó í ő í Ö ű ö Ó ú Ű ü í Ó ö Ó Ü Ó Ó í í ú í Ü Ü ő Ú Ó Ó í ú É ÉÉ É Á Ü Ü Ü Ú ő í Ő Ó Ü ő ö ü ő ü ö ú ő ő ő ü ö ő ű ö ő ü ő ő ü ú ü ő ü ü Í ü Í Á Ö Í É Ú ö Í Á Ö í É ö í ő ő í ö ü

Részletesebben

Ö Ó ú É ű É Ö Ö Ö Ü Ó Ú É ú É Ü Ú ú Ü ű ú Ü Ö Ö ú ű Ú ű ű ú Ö Ö Ö Ö É ú ú Ő Ö ú Ü Ó ú Ú Ü Ö ű ű ű Ö ű ú Ó ű Ö Ü ű ú ú ú ú É ú Ö ú ú Ü ú Ó ú ú ú ú ú ú ű ű ú ű ú ú ű Ö ú ú ú ű Ö ú ű ú ű Ü Ö Ü ű Ü Ö ú ú Ü

Részletesebben

ű Ő ű Ü Ü Ü ű ű Ú ű ű ű ű ű ű ű ű ű ű ű ű ű Ú ű ű ű Ú Ü Ő ű Ö ű Ü ű Ö ű Ú ű ű Ű É É ű ű ű ű ű ű ű Ü ű ű ű ű ű ű ű Ú ű ű ű É Ű É Ü Ü Ú É É ű ű ű Ü ű É É Ű É ű ű ű ű ű ű ű Ö Ó ű ű ű ű ű ű Ö É Ó É É É Ü

Részletesebben

ú Ú Ö É ú ü í í ü í í í í ü Ú í ű í ú ü ü í í ü ü í ü ü ú Í í ű í ü ü Ü í í ü í ú ű ú ú í í ü ú í ü É ü Ö í í ü ú ű í í ü í ű í í Í Ö í í ü Ö ú É Í í í í ü ű ü ű ü ü ü ü í í í í ú í ü í ú É ü ü ü ü í ü

Részletesebben

Á Á Ó É ö ó ó ó ő ő ó ö ő ő ű ó ú ö ó ó ő ó ü ó ó ő ó ó ő ó ü ó ő ő ő ó ő ő ö ó ó ó ö ö ü ö Á Á Ó ü ó ö ó ő ó ő ő Á É Á Ó ű ü ö ó ő ó ú ÉÉ ó ú ő ö ó ó ó ó ó ö ö ő ü ó ö ö ü ó ű ö ó ó ó ó ú ó ü ó ó ö ó

Részletesebben

É É É ü É ó ó É ű ó ÉÉ ó É ó É É ó É ü ó ó Ó ű ó ó ó ó ü É ü ű ó É É É É ü ü ó ó ó ü É ó É ó É ó ó ó ü ü ü ü ó ü ü ü ü ó ű ű É Í Ó Ü Ö ó ó ó Ó ó ü ü ü ű ó ü ü ű ü ü ó ü ű ü ó ü ó ó ó ó ó ó ó ü ó ó ó ű

Részletesebben

Mi az assembly? Gyakorlatias assembly bevezető. Sokféle assembly van... Mit fogunk mi használni? A NASM fordítóprogramja. Assembly programok fordítása

Mi az assembly? Gyakorlatias assembly bevezető. Sokféle assembly van... Mit fogunk mi használni? A NASM fordítóprogramja. Assembly programok fordítása Mi az assembly Gyakorlatias assembly bevezető Fordítóprogramok előadás (A, C, T szakirány) programozási nyelvek egy csoportja gépközeli: az adott processzor utasításai használhatóak általában nincsenek

Részletesebben

Hatékony memóriakezelési technikák. Smidla József Operációkutatási Laboratórium január 16.

Hatékony memóriakezelési technikák. Smidla József Operációkutatási Laboratórium január 16. Hatékony memóriakezelési technikák Smidla József Operációkutatási Laboratórium 2014. január 16. 1 Tartalom A cache áthidalása Cache optimalizálás Adatszerkezetek tervezése A programkód szerkezete Prefetch

Részletesebben

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények. Dr. Bécsi Tamás 6. Előadás

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények. Dr. Bécsi Tamás 6. Előadás Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények Dr. Bécsi Tamás 6. Előadás Bevezetés Egy idő után az egyetlen main(){ függvénnyel megírt programunk túl nagy méretű lesz. Vannak

Részletesebben

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

C programozás. 6 óra Függvények, függvényszerű makrók, globális és C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,

Részletesebben

Balaton Marcell Balázs. Assembly jegyzet. Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született.

Balaton Marcell Balázs. Assembly jegyzet. Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született. Balaton Marcell Balázs Assembly jegyzet Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született. 1. Regiszterek Regiszterek fajtái a. Szegmensregiszterek cs (code):

Részletesebben

Programozás alapjai. 7. előadás

Programozás alapjai. 7. előadás 7. előadás Wagner György Általános Informatikai Tanszék Jótanács (1) Tipikus hiba a feladat elkészítésekor: Jótanács (2) Szintén tipikus hiba: a file-ból való törléskor, illetve a file-nak új elemmel való

Részletesebben

Szemantikai elemzés. konzisztenciájának vizsgálata a szemantikai elemzés feladata lesz.

Szemantikai elemzés. konzisztenciájának vizsgálata a szemantikai elemzés feladata lesz. Szemantikai elemzés A szintaktikai elemzés meghatározta az elemzend szöveg szintaxisfáját. szintaxisfa pontjaihoz olyan attribútumokat rendelünk, amelyek leírják az adott pont tulajdonságait. Ezeknek az

Részletesebben

Stack Vezérlés szerkezet Adat 2.

Stack Vezérlés szerkezet Adat 2. Stack Vezérlés szerkezet Adat 2. Kód visszafejtés. Izsó Tamás 2013. november 14. Izsó Tamás Stack Vezérlés szerkezet Adat 2./ 1 Változó típusú paraméterekátadása 1. #include < s t d i o. h> int64 myfunc

Részletesebben

Eljárások és függvények

Eljárások és függvények Eljárások és függvények Jegyzet Összeállította: Faludi Anita 2012. Bevezetés Ez a jegyzet elsősorban azoknak a diákoknak készült, akiket tanítok, ezért a jegyzet erőteljesen hiányos. Az olvasó egy percig

Részletesebben

Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás

Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás 5.3. Mutatók,tömbök A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza. A C nyelvű programokban gyakran használják a

Részletesebben

ö é ö ó é é é ó é é é ő ó ü é ű é í ü é é ó é é é ö é é ó é é ü é ó é é é é ú ó é ő ő é é é ü é é é É ó í ú ü é é ő Ő é í é é é é é ő é ő ű é ó ö ö é

ö é ö ó é é é ó é é é ő ó ü é ű é í ü é é ó é é é ö é é ó é é ü é ó é é é é ú ó é ő ő é é é ü é é é É ó í ú ü é é ő Ő é í é é é é é ő é ő ű é ó ö ö é ö é Ö é ő ü é ü ö é é ő é ü ö ö ö ő ü é ő ü é ö ó ö ö é é ő ö ő ó ő é ő Á é ő é ő ő é ő ő é í ő ó ö ő éé í ö ő é é ő í ő ö ő é í ő ó ö ö ő é ő é é é ő í é ő ő í é é ő í ó ő ö ő é í é í é é ő ő é é é ü

Részletesebben

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon 1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (

Részletesebben

Á ő ő ö é é ő ü ő ő é Ö é ő ü ő ő ő é ö é Á é é é é ó ó ó é ö é é őí ü ű ö é ö ő ő é ö é ö é ó Ő Ő ö é Ö ö ö é é é ű ö ő ó ö ö Ö ó ő ő é ü ö é é ü ű ö

Á ő ő ö é é ő ü ő ő é Ö é ő ü ő ő ő é ö é Á é é é é ó ó ó é ö é é őí ü ű ö é ö ő ő é ö é ö é ó Ő Ő ö é Ö ö ö é é é ű ö ő ó ö ö Ö ó ő ő é ü ö é é ü ű ö ü ú ö É Á ő ő ö é Ö ő ő é Ö ö ö Á ő ő ö é é ő ü ő ő é Ö é ő ü ő ő ő é ö é Á é é é é ó ó ó é ö é é őí ü ű ö é ö ő ő é ö é ö é ó Ő Ő ö é Ö ö ö é é é ű ö ő ó ö ö Ö ó ő ő é ü ö é é ü ű ö é ő é é í ó ó ó ö

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve

Részletesebben

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény

Részletesebben

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés A C programozási nyelv V. Struktúra Dinamikus memóriakezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv V. (Struktúra, memóriakezelés) CBEV5 / 1 A struktúra deklarációja 1.

Részletesebben

1. Az utasítás beolvasása a processzorba

1. Az utasítás beolvasása a processzorba A MIKROPROCESSZOR A mikroprocesszor olyan nagy bonyolultságú félvezető eszköz, amely a digitális számítógép központi egységének a feladatait végzi el. Dekódolja az uatasításokat, vezérli a műveletek elvégzéséhez

Részletesebben

á é é é é é é é é á é é é é á ú ó é ő á ő á é ű é á ó é é ő é ú ő á é é őá é é é é é é é á ő ö ő ö é á é ő é éé é é é á ő á é ő é á ó á ú á á é á é őí

á é é é é é é é é á é é é é á ú ó é ő á ő á é ű é á ó é é ő é ú ő á é é őá é é é é é é é á ő ö ő ö é á é ő é éé é é é á ő á é ő é á ó á ú á á é á é őí é é í á é é á é ő é ú ó ő é é í ő á é ő ő é ö á á ó í ú á á á é é á é é í é é é ő á á á é ö é é é á é é í é á á é á é á á í é é á á é á é ö é é é é é ü é á é é ö á á á é é é é ő é é á ú ű é á é ő é é ü

Részletesebben

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása A fordítóprogramok szerkezete Forrásprogram Forrás-kezelő (source handler) Kódoptimalizálás Fordítóprogramok előadás (A,C,T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus

Részletesebben

Í Á Ó É é ü ö ö é Ö é ü é ő ő é ő ő é é ő ö ó é ó é é é ő í ő ő ö ö é é í ő ú é ő é ü ö ö é ó é é í é é ő é é ü í ő í é í é ő é ü ö é ő é é í é é í é é ó ő ő é ö é ő é ő í í é ő ő ó ö É ó É Á É Í É ü ú

Részletesebben

1. Az adott kifejezést egyszerűsítse és rajzolja le a lehető legkevesebb elemmel, a legegyszerűbben.

1. Az adott kifejezést egyszerűsítse és rajzolja le a lehető legkevesebb elemmel, a legegyszerűbben. 1 1. z adott kifejezést egyszerűsítse és rajzolja le a lehető legkevesebb eleel, a legegyszerűbben. F függvény 4 változós. MEGOLÁS: legegyszerűbb alak egtalálása valailyen egyszerűsítéssel lehetséges algebrai,

Részletesebben

É Ü ö Ü ú Ú ű Ó Ó ű ö Ó Ó ú ű Ü Ö Ó Ó ö Ó Ő ű Ó Ó ú Ü Ü Ó Ó Ó Ü Ó Í Í ö ö ö ö ö ú ú ö ű ú ö ö ö ú ö ú ű ö ö ű ö ö ö ű ö ö ö ú ö ö ú ö ö ö ö ö ú ö ö ö ö ú ö ú ö ö ö ö ö ö ú ö ö ö ö Í ö Ö ö ú ö ö ö ö Ó Í

Részletesebben

Í Ő É Ó É é Ö Á Á Á Ó é Ó é ö é Ö ű ö é ö ű ö é ö é é é é é é é é é é é é é é é é é é ü é é é Í é é é é ü é ö ü é ü é é ö ö é ú é é ü é é ü é é ü é ü é é é ú é Ó é é ú é ü é é ö é ö é Á Á Á Ó é Ó Í é ö

Részletesebben

ö í Ö Ó ü í ü ö Ö ö ü ü ö ö ö ö Ö ü ö ö Ö ü Ű Ö ö ü ú ű ö ö í ö ö í ü ö ö í í ö Á É ö Ö í ö Ö ü ö Ö ö ö ö ö ö ü í ü ö í ü ö ö ö Ö ü ö í ü í ö ö ö Ö ü ö Ö í í ö Ö ü ö Ö í ü ö Á É ö Ö í ü ö í ö ű ö ö ű ö

Részletesebben

ő ő ű í ó ú í ó í ó Á Á Á É ű ő ó ó ő ó ő Á É ó Á É ú Á É É Á ó Á Á Á Á Á É É ó Á É í É É í É ú ú ú ó ó Ö ú É ú ó ő ú ó í É É É É Ö Ö É Á É É É Ő Ó É ő ó ó í ő ú ő ő ű í ó ú Ő Ö ú É ú ú ő ő É É ő ő ő ő

Részletesebben

ö é é ü Ő Ö é ü ö é é ü é é ó é ü ü é é é é é í é ü é é é é é é ö é é ö ö é ü ö ö é ü í é ü ü é é é ü é ö é é é ó é é é é é ü ö é é ü ú ö é é é é ö é é ö é é ó é ó é é í é é ó é é ó é é í ó é é ü ü é ó

Részletesebben

ü ő ő ü ő ő ö ö ő ö í ü ő í ö ö í ő ö ő ű ú ő í ü ő ö ő Í ö ö ő ö ö ő ő ö ő í Í í ü ö ő í ü ü ú ü ö ö ő ü ő ö ő í ü ő í ö ö ő ő ő í í ő í ő ő Á Ó Í í í ő ű ú ő í í ő ő Í ő í ő í í Í í ő í ő í ő ő íí ő

Részletesebben

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat Kivételkezelés, beágyazott osztályok Nyolcadik gyakorlat Kivételkezelés Nem minden hibát lehet fordítási időben megtalálni Korábban (pl. C-ben) a hibakezelést úgy oldották meg, hogy a függvény hibakódot

Részletesebben

Bevezetés a programozásba. 8. Előadás: Függvények 2.

Bevezetés a programozásba. 8. Előadás: Függvények 2. Bevezetés a programozásba 8. Előadás: Függvények 2. ISMÉTLÉS Helló #include using namespace std; int main() cout

Részletesebben

ö é é é ö é é í ó á á í é üé é á á á é é á á á é é ő é é í é ő ü á é é é é ó á é ó á ú é á é ü á é é á ó á ü á á á ö é ü á á í é á é ó é ó á é ó é ó ó

ö é é é ö é é í ó á á í é üé é á á á é é á á á é é ő é é í é ő ü á é é é é ó á é ó á ú é á é ü á é é á ó á ü á á á ö é ü á á í é á é ó é ó á é ó é ó ó é ú á á ő é é ő ü ú é ó á á é ő ü ö á á á ó ó í é á ó ó ó ö á á í ö á í í á á ó á é ü é Ü á á á á á á á é ö ü ö í á ó é ö ü á ö á é é á á ö é í é é é ö é é ó ö á á á é é ö á á ö ö é ő é é ö é ő é é á á

Részletesebben

Oktatási segédlet 2014

Oktatási segédlet 2014 Oktatási segédlet 2014 A kutatás a TÁMOP 4.2.4.A/2-11-1-2012- 0001 azonosító számú Nemzeti Kiválóság Program Hazai hallgatói, illetve kutatói személyi támogatást biztosító rendszer kidolgozása és működtetése

Részletesebben

É É É Á Ő É Ű ÖÉ í ö ű ü ö í ö í ö ü ö ö Á Á Í É Ű ö É Á ö í ű ö ü ö ü ű ö ű ö ű ö í ö í ö í í Á Á ö ú ö ö ö ö ü ö ö ű í í ü ö ü í ö í í í ö ö ú ű í í í í Á Á ö ö ö ú ü í í í üü ö í í ü í ö í í í ö ö í

Részletesebben

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism) Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény

Részletesebben

Függvények int, long 1. Adott a mellékelt f alprogram.

Függvények int, long 1. Adott a mellékelt f alprogram. Függvények int, long 1. Adott a mellékelt f alprogram. Határozzon meg két különböző természetes értéket az [1,50] intervallumból, amelyeket felvehet az x egész változó, úgy hogy az f(30,x) térítse vissza

Részletesebben

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység Mikroprocesszor CPU C Central Központi P Processing Számító U Unit Egység A mikroprocesszor általános belső felépítése 1-1 BUSZ Utasítás dekóder 1-1 BUSZ Az utasítás regiszterben levő utasítás értelmezését

Részletesebben

1. hét. Neptun kód. Összesen. Név

1. hét. Neptun kód. Összesen. Név 1. hét 1 5 1 3 28 1 1 8 1 3 3 44 1 5 1 3 2 3 1 7 5 1 3 1 45 1 5 1 1 1 6 51 1 1 1 1 1 5 1 2 8 1 7 3 4 8 5 8 1 1 41 1 5 8 1 1 3 46 1 8 1 3 2 33 1 7 8 1 3 38 1 5 7 1 7 1 49 1 1 5 1 1 45 1 8 1 3 31 1 8 8 1

Részletesebben

Fordító Optimalizálás

Fordító Optimalizálás Fordító Optimalizálás Kód visszafejtés. Izsó Tamás 2012. szeptember 27. Izsó Tamás Fordítás Optimalizálás / 1 Section 1 Fordító részei Izsó Tamás Fordítás Optimalizálás / 2 Irodalom Fordító részei Optimalizálás

Részletesebben

Digitális rendszerek. Utasításarchitektúra szintje

Digitális rendszerek. Utasításarchitektúra szintje Digitális rendszerek Utasításarchitektúra szintje Utasításarchitektúra Jellemzők Mikroarchitektúra és az operációs rendszer közötti réteg Eredetileg ez jelent meg először Sokszor az assembly nyelvvel keverik

Részletesebben

A számítógép alapfelépítése

A számítógép alapfelépítése Informatika alapjai-6 számítógép felépítése 1/8 számítógép alapfelépítése Nevezzük számítógépnek a következő kétféle elrendezést: : Harvard struktúra : Neumann struktúra kétféle elrendezés alapvetően egyformán

Részletesebben

Kivételkezelés a C++ nyelvben Bevezetés

Kivételkezelés a C++ nyelvben Bevezetés Kivételkezelés a C++ nyelvben Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Kivételkezelés a C++ nyelvben CPP9 / 1 Hagyományos hibakezelés Függvény visszatérési értéke (paramétere) hátrányai:

Részletesebben

Informatika szigorlat. A lexikális elemző feladatai közé tartozik a whitespace karakterek (a

Informatika szigorlat. A lexikális elemző feladatai közé tartozik a whitespace karakterek (a Informatika szigorlat 17-es tétel: Felülről lefelé elemzések 1. Lexikális elemzés A lexikális elemző alapvető feladata az, hogy a forrásnyelvű program lexikális egységeit felismerje, azaz meghatározza

Részletesebben

Rekurzió. Dr. Iványi Péter

Rekurzió. Dr. Iványi Péter Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(

Részletesebben

C++ programozási nyelv Konstruktorok Gyakorlat

C++ programozási nyelv Konstruktorok Gyakorlat C++ programozási nyelv Konstruktorok Gyakorlat Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. október A C++ programozási nyelv Soós Sándor 1/17 Tartalomjegyzék

Részletesebben

Programozás I. 5. Előadás: Függvények

Programozás I. 5. Előadás: Függvények Programozás I 5. Előadás: Függvények Függvény Egy alprogram Egy C program általában több kisméretű, könnyen értelmezhető függvényből áll Egy függvény megtalálható minden C programban: ez a main függvény

Részletesebben

C memóriakezelés. Mutató típusú változót egy típus és a változó neve elé írt csillag karakterrel hozhatjuk létre.

C memóriakezelés. Mutató típusú változót egy típus és a változó neve elé írt csillag karakterrel hozhatjuk létre. C memóriakezelés Ez a kis segédanyag az adatszerkezetek órán használt eszközök megértését hivatott elősegíteni. A teljesség igénye nélkül kerül bemutatásra a mutató típus és a dinamikus memóriakezelés.

Részletesebben

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi. Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód

Részletesebben

A programozás alapjai

A programozás alapjai A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,

Részletesebben

Rekurzió. Működése, programtranszformációk. Programozás II. előadás. Szénási Sándor.

Rekurzió. Működése, programtranszformációk. Programozás II. előadás.   Szénási Sándor. Rekurzió Működése, programtranszformációk előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Rekurzió Rekurzió alapjai Rekurzív

Részletesebben

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.04.05. - 1

Részletesebben

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök Programozás alapjai II. (8. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT Speciális adatszerkezetek A helyes adatábrázolás választása, a helyes adatszerkezet

Részletesebben

Programozás alapjai II. (7. ea) C++

Programozás alapjai II. (7. ea) C++ Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.04.05. - 1

Részletesebben

Bevezetés az informatikába

Bevezetés az informatikába Bevezetés az informatikába 3. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.

Részletesebben

Verem Verem mutató 01

Verem Verem mutató 01 A számítástechnikában a verem (stack) egy speciális adatszerkezet, amiben csak kétféle művelet van. A berak (push) egy elemet a verembe rak, a kivesz (pop) egy elemet elvesz a verem tetejéről. Mindig az

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 9. gyakorlat Intelligens tömbök, mátrixok, függvények Surányi Márton PPKE-ITK 2010.11.09. C++-ban van lehetőség (statikus) tömbök használatára ezeknek a méretét fordítási időben

Részletesebben

1. Bevezetés A C++ nem objektumorientált újdonságai 3

1. Bevezetés A C++ nem objektumorientált újdonságai 3 Előszó xiii 1. Bevezetés 1 2. A C++ nem objektumorientált újdonságai 3 2.1. A C és a C++ nyelv 3 2.1.1. Függvényparaméterek és visszatérési érték 3 2.1.2. A main függvény 4 2.1.3. A bool típus 4 2.1.4.

Részletesebben

ö ű é é é é é é ü é é é é ű é é ü é é é é é ó ó é Í é í é é é é ó ö é ö ö ö ó é é í é é é é Ő é é é ü ü é é é ö ö ö é ü é é í é ó ü é é ü é ó é ó ó é

ö ű é é é é é é ü é é é é ű é é ü é é é é é ó ó é Í é í é é é é ó ö é ö ö ö ó é é í é é é é Ő é é é ü ü é é é ö ö ö é ü é é í é ó ü é é ü é ó é ó ó é ö é ü ö ö Ö ú é ü ü é é é ó é é é é é ó é é Ö ö é é ó é é ó é é í é é ö ó ó ó ö ö ü é é ü é í ü é ö í é é é é é ü é ó é ü ö í í ó í ü Í é é é ü é é é ü é é ü ö ö ó ó é é í é é é é é é é Ö í ó é í ö é é

Részletesebben

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK 1. ELÁGAZÁSOK ÉS CIKLUSOK SZERVEZÉSE Az adatszerkezetek mellett a programok másik alapvető fontosságú építőkövei az ún. algoritmikus szerkezetek.

Részletesebben

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;

Részletesebben

É ű ű ú ú ú Ü ú Ö ű ü ü ü

É ű ű ú ú ú Ü ú Ö ű ü ü ü ű ű É ű ű ú ú ú Ü ú Ö ű ü ü ü Ü Ö ü ú ű ű ü ű ú Ú Ú ú ü ú ú ű ú ú ú ű ú ű ú ű ű ű ű ü Ü ú ú ű ü ű ü ű ű Ü É ü ú ű ü ú ü É Ő ű ü Ü ü ü ü ü ű Ü Ü ű ü Ü ü É ü Ü É Í É Ü Ö Ó Ö ú Ö Ú Ú Ü ú ú ú Ü ű ű ü ÉÉ ű

Részletesebben

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Tömb Ugyanolyan típusú elemeket tárol A mérete előre definiált kell legyen és nem lehet megváltoztatni futás során Legyen n a tömb mérete. Ekkor:

Részletesebben

Í Á ő é é é é é ő é ő é ő é Í Á Ú Á Á é ő é ő é é é é é ű é é é é é é é é Á é é é é é ú ú é é é é é é é ú é é é é é é é é é é é ő é é é é é é é é ű é

Í Á ő é é é é é ő é ő é ő é Í Á Ú Á Á é ő é ő é é é é é ű é é é é é é é é Á é é é é é ú ú é é é é é é é ú é é é é é é é é é é é ő é é é é é é é é ű é é é é Í Ó é é ü ő é é é ű ő ő ű é ő Í Ó ő ü é ő é ü é ő é é é é é é ú é ú Í Á é é é é é ű é é é é é é ú é ő é é é é ú é é é é é é é é é é é é é ő é é ő Í Á ő é é é é é ő é ő é ő é Í Á Ú Á Á é ő é ő é é

Részletesebben

Adatszerkezetek 7a. Dr. IványiPéter

Adatszerkezetek 7a. Dr. IványiPéter Adatszerkezetek 7a. Dr. IványiPéter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér () Nincsennek hurkok!!! 2 Bináris fák Azokat a

Részletesebben

ö é ü ö é é ü é í ü é é ü é é é é é é ö é é é í é ö é ö ö ö é ü ü é é é é é é ü é í í é é ü ö é é é é é ü é é é ú ú ö é Ó é ü é ü ü é é ö é Ö é ö é é

ö é ü ö é é ü é í ü é é ü é é é é é é ö é é é í é ö é ö ö ö é ü ü é é é é é é ü é í í é é ü ö é é é é é ü é é é ú ú ö é Ó é ü é ü ü é é ö é Ö é ö é é Á Ö É Ö Á É Ó Ü É ö í ü é é ö é Ö é ö é é é é é é ú ö é ö í é é é ü é í ö ű ö é í ú ö Á é é é é ö é é é ö é é í é é é ö é é ü é íé é ü é í é í é é é é é ű ú é ü ú é é é ö ö ű é é é é ö é é é é ö é ü ö

Részletesebben