Szoftverek obfuszkációja

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

Download "Szoftverek obfuszkációja"

Átírás

1 Szoftverek obfuszkációja Kócsó Balázs Budapesti M szaki és Gazdaságtudományi Egyetem november 24.

2 Tartalom Bevezetés: alapfogalmak Anti-reversing Obfuszkáció Deobfuszkáció Obfuszkációs technikák Példák Felületes obfuszkáció (Surface obfuscation) Mély obfuszkáció (Deep obfuscation) Deobfuszkáció kitekintés Összefoglalás Kócsó Balázs (BME) Obfuszkáció november / 28

3 Anti-reversing technológiák Céljuk, hogy megnehezítsék a programot vizsgálót abban, hogy megértse annak pontos bels m ködését, illetve hogy automatikus eszközökkel vissza tudja fejteni annak forráskódját. Anti-debug techinikák: Debuggerek detektálása Töréspontok detektálása Operációs rendszer függ m ködés Disassemblerek összezavarása Packerek vagy wrapperek használata Obfuszkáció Virtualizáció Ezen technológiák között nehéz az éles határokat meghúzni, ugyanis legtöbbször együtt, egymást támogatva jelennek meg. Kócsó Balázs (BME) Obfuszkáció november / 28

4 Obfuszkáció Anti-reversing Fogalma: A kommunikáció szándékos elrejtése azért, hogy a kívülállók számára zavaros, kétértelm vagy nehezen érthet legyen. Szoftverek esetében ezt a kiadott binárisra tudjuk értelmezni, azaz minél nehezebben lehessen megérteni annak pontos m ködését úgy, hogy a program helyesen m ködik. Felhasználása: Illegális szoftvermásolás megakadályozása Értékes algoritmusok védelme Megnehezíteni a támadók számára a kód megértését és visszafejtését Kártékony kódok elrejtése, polimorzmusa "Célja": A deobfuszkáció megakadályozása. Kócsó Balázs (BME) Obfuszkáció november / 28

5 Deobfuszkáció Anti-anti-reversing Fogalma: Az obfuszkált kommunikáció visszafejtése olyan formába, mely mindenki számára érthet és egyértelm. Szoftverek esetében ezt az obfuszkált kód vagy bináris visszaállítására tudjuk értelmezni, hogy az az eredetihez hasonló érthet formában elérhet legyen, mint az obfuszkáció el tt. Felhasználása: Obfuszkált kódok visszaállítása, megértése Kártékony kódok analizálása és felismerése "Célja": Az obfuszkációs technológiák kijátszása. Kócsó Balázs (BME) Obfuszkáció november / 28

6 Felületes és mély obfuszkáció összehasonlítása Felületes (surfer): szintaktika alapú nem szükséges érteni hozzá a program funkcióit egyszer bizonyos esetekben nagyon jó megoldást nyújt könnyen általánosítható és automatizálható Mély (deep): szemantika alapú a program funkcióinak átalakítása komplex vannak lehet ségek, amikre már a felületes obfuszkáció nem nyújt megoldást nehezen általánosítható, specikus megoldások Kócsó Balázs (BME) Obfuszkáció november / 28

7 Obfuszkációs technikák áttekintése Egyszer Adat- és konstansobfuszkáció Ugrási láncok használata Felesleges kód beillesztés Utasítási sorok felcserélése, szétszórt számítások Gyenge Komplex Átlátszatlan feltételek (Opaque predicates) Kód párhuzamosítás Vezérlési-gráf lapítása (Control-ow attening) Önmódosító kódok Virtuális gépek... Hatásos Kócsó Balázs (BME) Obfuszkáció november / 28

8 Adatobfuszkáció A programban lév adatok (szövegek vagy számok) sok információt nyújtanak a kódrészek beazonosításához, ezért próbáljuk meg ket elrejteni valahogy. Többféle módszer létezik: El zetesen letárolt értékek védelme, hogy ne lehessen rájuk könnyen keresni egyszer rejtjelezések XOR-olás Szövegtároló tömbök átszervezése Szövegtömbök összevonása és szétszedése Szövegtároló konténerek számának növelése Elemek permutációja Kócsó Balázs (BME) Obfuszkáció november / 28

9 Adatobfuszkáció, példa Boolean típusú adatok obfuszkációja Egy adatobfuszkációs technika a változók hasítása (variable splitting). A V boolean változót széthasítjuk p és q integer változóvá a jobb oldalon látható táblázat alapján. Az f() függvény segítségével elkészítjük a beépített boolean típusnak egy másik reprezentációját. g(v ) f(p, q) p q V 2p + q 0 0 Hamis Igaz Igaz Hamis 3 Kócsó Balázs (BME) Obfuszkáció november / 28

10 Konstans obfuszkáció A konstansok védelme egyszer bb, ugyanis azok nem módosítják értéküket a program futása során. Ha a konstansok pontos értékére nincs szükségünk, tehát ha csak egyenl illetve nem egyenl vizsgálatokat végzünk rajtuk, akkor a hashelés nagyon hatásos módszer. Például: if (x == 42) {...} helyett használjuk if ( hash (x) == 0 x50a2fabfdd276f573ff97ace8b11c5f4 ) {...} A helyes m ködés egyetlen feltétele csak az ütközésmentesség. A hash függvények egyirányúsága miatt az eredeti érték kitalálása legfeljebb csak a program további analízisével lehetséges. Kócsó Balázs (BME) Obfuszkáció november / 28

11 Kódobfuszkáció A kódobfuszkáció hatásos módszer a bels m ködés megfejtésének megnehezítésére. Nagyon sokféle lehet ség ennek megvalósítására, de vajon hol érdemes ezt csinálni? 1 Magasabb szint nyelvek forráskódjában? 2 Hardver közeli nyelvek forráskódjában? Kócsó Balázs (BME) Obfuszkáció november / 28

12 Kódobfuszkáció A kódobfuszkáció hatásos módszer a bels m ködés megfejtésének megnehezítésére. Nagyon sokféle lehet ség ennek megvalósítására, de vajon hol érdemes ezt csinálni? 1 Magasabb szint nyelvek forráskódjában? 2 Hardver közeli nyelvek forráskódjában? A magasabb szint nyelvek fordítói nagyon sok alkalmazott trükköt kioptimalizálnának, ezért a kódobfuszkációt az alacsony szint (assemblyhez hasonló) nyelven szokták elvégezni. Kócsó Balázs (BME) Obfuszkáció november / 28

13 Kódobfuszkáció, példa Egy utasítás helyettesítése több utasítással: Eredeti kód mov esi, 0x0 mov edx, 0x Obfuszkált kód mov esi, 0x1 dec esi mov edx, 0x xor dx, dx Kócsó Balázs (BME) Obfuszkáció november / 28

14 Kódobfuszkáció, példa Felesleges kódrészek beszúrása: Eredeti kód... mov edx, 0x5555 Obfuszkált kód mov edx, 0x30... mov edx, 0x5555 Kócsó Balázs (BME) Obfuszkáció november / 28

15 Kódobfuszkáció, példa NOP-szer kódok beszúrása Eredeti kód mov edx, 0x2014 Obfuszkált kód mov edi, edi mov edx, 0x2014 xchg cx, cx Kócsó Balázs (BME) Obfuszkáció november / 28

16 Kódobfuszkáció, példa Elérhetetlen kód beszúrása Eredeti kód mov esi, 0x0 and eax, ebx Obfuszkált kód mov esi, 0x0 jmp _label elérhetetlen kód... _label and eax, ebx Kócsó Balázs (BME) Obfuszkáció november / 28

17 Kódobfuszkáció, példa Elágazás beszúrása a következ utasításra Eredeti kód mov esi, 0x0 and edx, 0x Obfuszkált kód mov esi, 0x0 jmp _label _label and edx, 0x Kócsó Balázs (BME) Obfuszkáció november / 28

18 Kódobfuszkáció, példa Utasítások felcserélése Eredeti kód mov esi, 0x1 dec esi and edx, 0x Obfuszkált kód mov esi, 0x1 and edx, 0x dec esi Kócsó Balázs (BME) Obfuszkáció november / 28

19 Átlátszatlan feltételek (Opaque predicates) Olyan elágazás-feltételek, melyek mindig igazra vagy hamisra értékel dnek ki, de ezt nehéz belátni a visszafejtett programot vizsgálva. Például: if ( (x + x ^ 2) % 2 == 0) {... /* mindig igaz */ } A hatásossága nagyban függ a választott feltételek bonyolultságától és sokszín ségét l Használhatóak platformfügg specikus értékek is. (Ezekben az esetekben kérdéses lehet a kompatibilitás.) Hatásos a statikus analízissel szemben és viszonylag könny elkészíteni, ezért kedvelt technika. Ennek használatával a vezérlésfolyam bonyolítható. Kócsó Balázs (BME) Obfuszkáció november / 28

20 Vezérlési-gráf lapítása (Control-ow attening) Minden programhoz készíthet egy vezérlési gráf, hogy mi után mi következik. Általánosságban van egy f függvény (main), amely mindent vezérel és abból történnek még további függvényhívások. A párhuzamos futás megnehezíti az analízist, ugyanis nem tudhatjuk, hogy el ször milyen irányba kell indulni a vizsgálat során. A vezérlési-gráf lapításnak ez az alapötlete. M ködése: 1 a nagy blokkokat törjük szét sok kis blokkra 2 válasszunk egy ún. menetirányítót, akinek az értéke mindig az el z blokk futásától függ 3 így egy nagy blokkból készítettünk egy pontra mindig visszatér sok kis blokkot, melynek megfejtése sokkal több id t vesz igénybe, mint ha szekvenciálisan tudnánk azt olvasni Természetesen az összetartozó blokkokat érdemes mind helyileg, mind a menetirányító logikája szerint elszeparálni. Kócsó Balázs (BME) Obfuszkáció november / 28

21 Vezérlési-gráf lapítása (Control-ow attening) A példakód és a vezérélési gráfja: int f( int i, int j) { int a = 1; if (i < j) { a = j; } else do { a *= i - -; } while (i > 0); return a; } Kócsó Balázs (BME) Obfuszkáció november / 28

22 Vezérlési-gráf lapítása (Control-ow attening) Az obfuszkált vezérlési gráf: Kócsó Balázs (BME) Obfuszkáció november / 28

23 Vezérlési-gráf lapítása (Control-ow attening) Példa menetirányító logikai szeparációjára: Kócsó Balázs (BME) Obfuszkáció november / 28

24 Obfuszkációs technikák És ezek tetsz leges kombinációja! Kócsó Balázs (BME) Obfuszkáció november / 28

25 Kitekintés: deobfuszkáció típusai Statikus: szintaxis-alapú egyszer bb és gyorsabb nem szükséges a kód futtatása bizonyos esetekben nagyon jó megoldást nyújt különösen hasznos lehet kártékony kódok esetében, ha m ködik Dinamikus: szemantika alapú komplexebb és id igényesebb szükséges lehet a kód futtatása a funkciók megértéséhez (kátékony kódok?) többre képest, mint a statikus obfuszkáció nagyon sok esetben csak ezzel lehet sikereket elérni Kócsó Balázs (BME) Obfuszkáció november / 28

26 Összefoglalás: Obfuszkáció vs. Deobfuszkáció Folyamatos versengés Újabb technikák az egyik oldalon újabb technikák a másik oldalon is A szemantikus módszerek egyre nagyobb teret nyernek Kártékony kódoknál fontos lehet, hogy csak statikus eszközökkel ne lehessen felismerni azokat Kócsó Balázs (BME) Obfuszkáció november / 28

27 Összefoglalás: Obfuszkáció Nincs tökéletes megoldás Aktív kutatási terület, de kevés az általános megoldás, inkább csak speciális házi megoldások a jellemz ek Kutatások folynak a kriptográai alapokkal megtámogatott obfuszkáció irányába: jelenleg az obfuszkáció csak nehezítés, a visszafejtés id igényét és költségét növelhetjük szükség lenne valamilyen matematikai bizonyosságra adott obfuszkációs technológiához tartozó deobfuszkáció visszavezetése valamilyen ismerten nehéz matematikai problémára mindezt úgy, hogy a program mérete és futásideje ne n jön jelent s mértékben Kócsó Balázs (BME) Obfuszkáció november / 28

28 Köszönöm a gyelmet! Kérdések? Kócsó Balázs (BME) Obfuszkáció november / 28

29 Felhasznált források Sharath K. Udupa Saumya K. Debray, Matias Madou (2005) Deobfuscation Christian S. Collberg,Member, IEEE Computer Society, Clark Thomborson (2002) Watermarking, Tamper-Proong, and Obfuscation Nguyen Anh Quynh (2013) Machine Code Deobfuscation for Malware Analysis Sebastian Porst, Christian Ketterer (2009) Automated static deobfuscation in the context of Reverse Engineering Bene Máté (2014) Anti-debug technikák kártékony kódokban Kurucsai István (2013) Deobfuscation of obfuscated software Kócsó Balázs (BME) Obfuszkáció november / 28

Deobfuscation of obfuscated software. Kurucsai István

Deobfuscation of obfuscated software. Kurucsai István Deobfuscation of obfuscated software Kurucsai István Tartalom Bevezetés Obfuszkáció típusai Mit és hol? Deobfuszkáció Szintaxis alapú módszerek Szemantikus módszerek Összefoglalás Bevezetés Anti-reversing:

Részletesebben

Fordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1

Fordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1 Fordító részei Kód visszafejtés. Izsó Tamás 2016. szeptember 29. Izsó Tamás Fordító részei / 1 Section 1 Fordító részei Izsó Tamás Fordító részei / 2 Irodalom Izsó Tamás Fordító részei / 3 Irodalom Izsó

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

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

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

sallang avagy Fordítótervezés dióhéjban Sallai Gyula sallang avagy Fordítótervezés dióhéjban Sallai Gyula Az előadás egy kis példaprogramon keresztül mutatja be fordítók belső lelki világát De mit is jelent, az hogy fordítóprogram? Mit csinál egy fordító?

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 5. gyakorlat Surányi Márton PPKE-ITK 2010.10.05. C++ A C++ egy magas szint programozási nyelv. A legels változatot Bjarne Stroutstrup dolgozta ki 1973 és 1985 között, a C nyelvb

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

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

Programozási nyelvek (ADA)

Programozási nyelvek (ADA) Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 1. előadás Hasznos weboldal http://kto.web.elte.hu Program felépítése Programegységek (program unit) eljárások (procedure)

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

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és

Részletesebben

Programok értelmezése

Programok értelmezése Programok értelmezése Kód visszafejtés. Izsó Tamás 2016. szeptember 22. Izsó Tamás Programok értelmezése/ 1 Section 1 Programok értelmezése Izsó Tamás Programok értelmezése/ 2 programok szemantika értelmezése

Részletesebben

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. március 3. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja Miért

Részletesebben

Fordítás Kódoptimalizálás

Fordítás Kódoptimalizálás Fordítás Kódoptimalizálás Kód visszafejtés. Izsó Tamás 2016. október 20. Izsó Tamás Fordítás Kódoptimalizálás / 1 Aktív változók Angol irodalomban a Live Variables kifejezést használják, míg az azt felhasználó

Részletesebben

GPU Lab. 4. fejezet. Fordítók felépítése. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

GPU Lab. 4. fejezet. Fordítók felépítése. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc 4. fejezet Fordítók felépítése Grafikus Processzorok Tudományos Célú Programozása Fordítók Kézzel assembly kódot írni nem érdemes, mert: Egyszerűen nem skálázik nagy problémákhoz arányosan sok kódot kell

Részletesebben

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok A szemantikus elemzés helye Forrásprogram Forrás-kezelő (source handler) Lexikális elemző (scanner) A szemantikus elemzés feladatai Fordítóprogramok előadás (A, C, T szakirány) Szintaktikus elemző (parser)

Részletesebben

Programozás I gyakorlat

Programozás I gyakorlat Programozás I. - 3. gyakorlat Operátorok, típuskonverziók, matematikai függvények Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 24,

Részletesebben

Adatszerkezetek és algoritmusok

Adatszerkezetek és algoritmusok 2009. november 13. Ismétlés El z órai anyagok áttekintése Ismétlés Specikáció Típusok, kifejezések, m veletek, adatok ábrázolása, típusabsztakció Vezérlési szerkezetek Függvények, paraméterátadás, rekurziók

Részletesebben

Indexszámítási módszerek; Simpson-paradoxon

Indexszámítási módszerek; Simpson-paradoxon Indexszámítási módszerek; Simpson-paradoxon Vida Balázs 2018. március 7. Vida Balázs Indexszám; SP 2018. március 7. 1 / 22 Bevezetés Mir l lesz szó? 1 Index(szám) fogalma, példák 2 Érték-, ár- és volumenindexek

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

Java és web programozás

Java és web programozás Budapesti M szaki Egyetem 2013. szeptember 25. 3. El adás User public class User { private String realname_; private String nickname_; private String password_; public User(String realname, String nickname)

Részletesebben

Intel x86 utasításkészlet + disassembler működése

Intel x86 utasításkészlet + disassembler működése Intel x86 utasításkészlet + disassembler működése Kód visszafejtés. Izsó Tamás 2016. november 10. Izsó Tamás Intel x86 utasításkészlet + disassembler működése / 1 Section 1 Intel X86 utasításkészlet Izsó

Részletesebben

Podoski Péter és Zabb László

Podoski Péter és Zabb László Podoski Péter és Zabb László Bevezető Algoritmus-vizualizáció témakörében végeztünk kutatásokat és fejlesztéseket Felmértük a manapság ismert eszközök előnyeit és hiányosságait Kidolgoztunk egy saját megjelenítő

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

Programozás alapjai Bevezetés

Programozás alapjai Bevezetés Programozás alapjai Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Programozás alapjai Bevezetés SWF1 / 1 Tartalom A gépi kódú programozás és hátrányai A magas szintÿ programozási nyelv fogalma

Részletesebben

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. október 11. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja

Részletesebben

Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével

Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével Pekárdy Milán, Baumgartner János, Süle Zoltán Pannon Egyetem, Veszprém XXXII. Magyar Operációkutatási

Részletesebben

Java és web programozás

Java és web programozás Budapesti M szaki Egyetem 2013. szeptember 18. 2. El adás Komplex szám public class Complex { private float repart_; private float impart_; public Complex() { repart_ = 0; impart_ = 0; public Complex(float

Részletesebben

A JavaScript főbb tulajdonságai

A JavaScript főbb tulajdonságai JavaScript alapok A JavaScript főbb tulajdonságai Script nyelv azaz futás közben értelmezett, interpretált nyelv Legfőbb alkalmazási területe: a HTML dokumentumok dinamikussá, interaktívvá tétele Gyengén

Részletesebben

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3) Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok

Részletesebben

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2) Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.05. -1- Függvények C program egymás mellé rendelt függvényekből

Részletesebben

Programozási alapismeretek 3. előadás

Programozási alapismeretek 3. előadás Programozási alapismeretek 3. előadás Tartalom Ciklusok specifikáció+ algoritmika +kódolás Egy bevezető példa a tömbhöz A tömb Elágazás helyett tömb Konstans tömbök 2/42 Ciklusok Feladat: Határozzuk meg

Részletesebben

Történeti áttekintés

Történeti áttekintés Történeti áttekintés Előzmények A számítástechnika kezdetén elterjedt (egyeduralkodó) volt a mérnökpult használata, a gép és az ember kommunikációja bináris nyelven zajlott. A gépi kódú programozás nem

Részletesebben

3. Gyakorlat Ismerkedés a Java nyelvvel

3. Gyakorlat Ismerkedés a Java nyelvvel 3. Gyakorlat Ismerkedés a Java nyelvvel Parancssori argumentumok Minden Java programnak adhatunk indításkor paraméterek, ezeket a program egy tömbben tárolja. public static void main( String[] args ) Az

Részletesebben

Szoftver karbantartási lépések ellenőrzése

Szoftver karbantartási lépések ellenőrzése Szoftverellenőrzési technikák (vimim148) Szoftver karbantartási lépések ellenőrzése Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.inf.mit.bme.hu/

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 6. gyakorlat C++ alapok, szövegkezelés Surányi Márton PPKE-ITK 2010.10.12. Forrásfájlok: *.cpp fájlok Fordítás: a folyamat, amikor a forrásfájlból futtatható állományt állítunk

Részletesebben

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok Számítógépes szimulációk 1. Bevezetés BME Fizika Intézet 2015. szeptember 9. Bevezetés A félév menete C-ismétlés, 1. rész Oktatók: Nagyfalusi Balázs: nagyfalusi@phy.bme.hu, F3 211. : tcsaba@eik.bme.hu,

Részletesebben

Fordító Optimalizálás

Fordító Optimalizálás Fordító Optimalizálás Kód visszafejtés. Izsó Tamás 2013. október 9. 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

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

Szoftver-mérés. Szoftver metrikák. Szoftver mérés Szoftver-mérés Szoftver metrikák Szoftver mérés Szoftver jellemz! megadása numerikus értékkel Technikák, termékek, folyamatok objektív összehasonlítása Mér! szoftverek, programok CASE eszközök Kevés szabványos

Részletesebben

Pénzügyi algoritmusok

Pénzügyi algoritmusok Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök

Részletesebben

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. február 18. Minimum és maximumkeresés u s i n g n a m e s p a c e s t d ; i n t main ( ) { c o u t

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Névterek és hatókörök Láthatósági szintek Osztály szintő tagok Beágyazott osztályok

Részletesebben

0,424 0,576. f) P (X 2 = 3) g) P (X 3 = 1) h) P (X 4 = 1 vagy 2 X 2 = 2) i) P (X 7 = 3, X 4 = 1, X 2 = 2 X 0 = 2) j) P (X 7 = 3, X 4 = 1, X 2 = 2)

0,424 0,576. f) P (X 2 = 3) g) P (X 3 = 1) h) P (X 4 = 1 vagy 2 X 2 = 2) i) P (X 7 = 3, X 4 = 1, X 2 = 2 X 0 = 2) j) P (X 7 = 3, X 4 = 1, X 2 = 2) Legyen adott a P átmenetvalószín ség mátrix és a ϕ 0 kezdeti eloszlás Kérdés, hogy miként lehetne meghatározni az egyes állapotokban való tartózkodás valószín ségét az n-edik lépés múlva Deniáljuk az n-lépéses

Részletesebben

Kifejezések. Kozsik Tamás. December 11, 2016

Kifejezések. Kozsik Tamás. December 11, 2016 Kifejezések Kozsik Tamás December 11, 2016 Kifejezések Lexika Szintaktika Szemantika Lexika azonosítók (változó-, metódus-, típus- és csomagnevek) literálok operátorok, pl. + zárójelek: (), [], {},

Részletesebben

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik

Részletesebben

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán Keresés Rendezés Feladat Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán 2016. november 7. Farkas B., Fiala

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

Bevezetés Alapfogalmak Jog

Bevezetés Alapfogalmak Jog Bevezetés Alapfogalmak Jog Kód visszafejtés. Izsó Tamás 2015. szeptember 18. Izsó Tamás Bevezetés Alapfogalmak / 1 Tartalom 1 Bevezetés 2 Alapfogalmak 3 Motivációs példák 4 Jog Izsó Tamás Bevezetés Alapfogalmak

Részletesebben

Tuesday, March 6, 12. Hasító táblázatok

Tuesday, March 6, 12. Hasító táblázatok Hasító táblázatok Halmaz adattípus U (kulcsuniverzum) K (aktuális kulcsok) Függvény adattípus U (univerzum) ÉT (értelmezési tartomány) ÉK (érték készlet) Milyen az univerzum? Közvetlen címzésű táblázatok

Részletesebben

Klaszterezés. Kovács Máté március 22. BME. Kovács Máté (BME) Klaszterezés március / 37

Klaszterezés. Kovács Máté március 22. BME. Kovács Máté (BME) Klaszterezés március / 37 Klaszterezés Kovács Máté BME 2012. március 22. Kovács Máté (BME) Klaszterezés 2012. március 22. 1 / 37 Mi a klaszterezés? Intuitív meghatározás Adott dolgokból halmazokat klasztereket alakítunk ki úgy,

Részletesebben

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10. Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,

Részletesebben

és az instanceof operátor

és az instanceof operátor Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

Szenzorhálózatok programfejlesztési kérdései. Orosz György

Szenzorhálózatok programfejlesztési kérdései. Orosz György Szenzorhálózatok programfejlesztési kérdései Orosz György 2011. 09. 30. Szoftverfejlesztési alternatívák Erőforráskorlátok! (CPU, MEM, Energia) PC-től eltérő felfogás: HW közeli programozás Eszközök közvetlen

Részletesebben

Maximum kiválasztás tömbben

Maximum kiválasztás tömbben ELEMI ALKALMAZÁSOK FEJLESZTÉSE I. Maximum kiválasztás tömbben Készítette: Szabóné Nacsa Rozália Gregorics Tibor tömb létrehozási módozatok maximum kiválasztás kódolása for ciklus adatellenőrzés do-while

Részletesebben

Kriptográfia I. Kriptorendszerek

Kriptográfia I. Kriptorendszerek Kriptográfia I Szimmetrikus kulcsú titkosítás Kriptorendszerek Nyíltszöveg üzenettér: M Titkosított üzenettér: C Kulcs tér: K, K Kulcsgeneráló algoritmus: Titkosító algoritmus: Visszafejt algoritmus: Titkosítás

Részletesebben

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

Széchenyi István Szakképző Iskola

Széchenyi István Szakképző Iskola A SZAKKÖZÉPISKOLAI SZAKMACSOPORTOS ALAPOZÓ OKTATÁS EMELT SZINTŰ ISKOLAI PROGRAMJA 11-12. évolyam Érvényes a 2003-2004-es tanévtől felmenő rendszerben Átdolgozva, utolsó módosítás: 2004. április 26. Az

Részletesebben

2. Fejezet : Számrendszerek

2. Fejezet : Számrendszerek 2. Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College

Részletesebben

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos OOP I. Egyszerő algoritmusok és leírásuk Készítette: Dr. Kotsis Domokos Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendı anyag vázlatát képezik. Ismeretük

Részletesebben

Assembly. Iványi Péter

Assembly. Iványi Péter Assembly Iványi Péter További Op. rsz. funkcionalitások PSP címének lekérdezése mov ah, 62h int 21h Eredmény: BX = PSP szegmens címe További Op. rsz. funkcionalitások Paraméterek kimásolása mov di, parameter

Részletesebben

Matematikai programok

Matematikai programok Matematikai programok Mátrixalapú nyelvek MatLab Wettl Ferenc diái alapján Budapesti M szaki Egyetem Algebra Tanszék 2017.11.07 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 1 /

Részletesebben

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Párhuzamos programok Legyen S parbegin S 1... S n parend; program. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Folyamat

Részletesebben

6. fejezet: Ciklusok

6. fejezet: Ciklusok 6. fejezet: Ciklusok Mint a nyelvekben általában, itt is léteznek ciklusok. Az alapvető három ciklus-típus: elöltesztelő, hátultesztelő és számláló. Lássuk ezeket sorban! Elöltesztelő = while. A while

Részletesebben

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,

Részletesebben

Közgazdaságtan 1. ELTE TáTK Közgazdaságtudományi Tanszék. 3. hét A KERESLETELMÉLET ALAPJAI. HASZNOSSÁG, PREFERENCIÁK

Közgazdaságtan 1. ELTE TáTK Közgazdaságtudományi Tanszék. 3. hét A KERESLETELMÉLET ALAPJAI. HASZNOSSÁG, PREFERENCIÁK KÖZGAZDASÁGTAN I. ELTE TáTK Közgazdaságtudományi Tanszék Közgazdaságtan 1. A KERESLETELMÉLET ALAPJAI. HASZNOSSÁG, PREFERENCIÁK Bíró Anikó, K hegyi Gergely, Major Klára Szakmai felel s: K hegyi Gergely

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 3. előadás Vezérlési szerkezetek Elágazás Gyakran előfordul, hogy meg kell vizsgálnunk egy állítást, és attól függően, hogy igaz vagy hamis, a programnak más-más

Részletesebben

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30. Online algoritmusok Algoritmusok és bonyolultságuk Horváth Bálint 2018. március 30. Horváth Bálint Online algoritmusok 2018. március 30. 1 / 28 Motiváció Gyakran el fordul, hogy a bemenetet csak részenként

Részletesebben

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és Függvénysablonok Gyakorlatorientált szoftverfejlesztés C++ nyelven Visual Studio Community fejlesztőkörnyezetben

Részletesebben

Adminisztrációs feladatok Strukturált programok A C programnyelv elemei

Adminisztrációs feladatok Strukturált programok A C programnyelv elemei Strukturált C-Strukturált Egyéb elemek Strukturált C-Strukturált Egyéb elemek Adminisztrációs feladatok Strukturált programok A C programnyelv elemei A programozás alapjai. álózati Rendszerek és Szolgáltatások

Részletesebben

A számok kiírása is alapvetően karakterek kiírásán alapul, azonban figyelembe kell venni, hogy a számjegyeket, mint karaktereket kell kiírni.

A számok kiírása is alapvetően karakterek kiírásán alapul, azonban figyelembe kell venni, hogy a számjegyeket, mint karaktereket kell kiírni. Példák számok kiírására A számok kiírása is alapvetően karakterek kiírásán alapul, azonban figyelembe kell venni, hogy a számjegyeket, mint karaktereket kell kiírni. Decimális számok kiírása Az alábbi

Részletesebben

Objektum Vezérelt Szoftverek Analízise

Objektum Vezérelt Szoftverek Analízise Objektum Vezérelt Szoftverek Analízise Ferenc Rudolf és Beszédes Árpád ferenc@inf.u-szeged.hu beszedes@inf.u-szeged.hu Szegedi Tudományegyetem FrontEndART Szoftver Kft. Bevezetés A szoftver rendszerek

Részletesebben

Párhuzamos és Grid rendszerek

Párhuzamos és Grid rendszerek Párhuzamos és Grid rendszerek (10. ea) GPGPU Szeberényi Imre BME IIT Az ábrák egy része az NVIDIA oktató anyagaiból és dokumentációiból származik. Párhuzamos és Grid rendszerek BME-IIT

Részletesebben

Nemzetközi team munka indítása

Nemzetközi team munka indítása Nemzetközi team munka indítása Dr. Margery Mayer EOQ - és világkongresszus, Budapest, 1 Bevezetés Mi is az a kezd ülés? Miért is más amikor több kultúra találkozik? Témák Akciók Eredmények Munkaszervezés

Részletesebben

értékel függvény: rátermettségi függvény (tness function)

értékel függvény: rátermettségi függvény (tness function) Genetikus algoritmusok globális optimalizálás sok lehetséges megoldás közül keressük a legjobbat értékel függvény: rátermettségi függvény (tness function) populáció kiválasztjuk a legrátermettebb egyedeket

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

Szakmai program 2015

Szakmai program 2015 2015 Célok és feladatok a szakközépiskolai képzésben A szakközépiskolában folyó nevelés-oktatás továbbépíti, kiszélesíti és elmélyíti az általános iskolai tantárgyi követelményeket. A szakközépiskolában

Részletesebben

Programozási nyelvek a közoktatásban alapfogalmak II. előadás

Programozási nyelvek a közoktatásban alapfogalmak II. előadás Programozási nyelvek a közoktatásban alapfogalmak II. előadás Szintaxis, szemantika BNF szintaxisgráf absztrakt értelmező axiomatikus (elő- és utófeltétel) Pap Gáborné. Szlávi Péter, Zsakó László: Programozási

Részletesebben

Programozási nyelvek JAVA EA+GY 1. gyakolat

Programozási nyelvek JAVA EA+GY 1. gyakolat Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program

Részletesebben

Java programozási nyelv

Java programozási nyelv Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék

Részletesebben

Dr. Schuster György február / 32

Dr. Schuster György február / 32 Algoritmusok és magvalósítások Dr. Schuster György OE-KVK-MAI schuster.gyorgy@kvk.uni-obuda.hu 2015. február 10. 2015. február 10. 1 / 32 Algoritmus Alapfogalmak Algoritmus Definíció Algoritmuson olyan

Részletesebben

Bonyolultságelmélet. Monday 26 th September, 2016, 18:50

Bonyolultságelmélet. Monday 26 th September, 2016, 18:50 Bonyolultságelmélet Monday 26 th September, 2016, 18:50 A kiszámítás modelljei 2 De milyen architektúrán polinom? A kiszámításnak számos (matematikai) modellje létezik: Általános rekurzív függvények λ-kalkulus

Részletesebben

BASH script programozás II. Vezérlési szerkezetek

BASH script programozás II. Vezérlési szerkezetek 06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van

Részletesebben

Korlátos modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Korlátos modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Korlátos modellellenőrzés dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1 Hol tartunk most? Alacsony szintű formalizmusok (KS, LTS, KTS) Magasabb szintű formalizmusok Temporális

Részletesebben

Matematika. Specializáció. 11 12. évfolyam

Matematika. Specializáció. 11 12. évfolyam Matematika Specializáció 11 12. évfolyam Ez a szakasz az eddigi matematikatanulás 12 évének szintézisét adja. Egyben kiteljesíti a kapcsolatokat a többi tantárggyal, a mindennapi élet matematikaigényes

Részletesebben

Másolásvédelem szoftver vízjelezés és obfuszkálás segítségével

Másolásvédelem szoftver vízjelezés és obfuszkálás segítségével Másolásvédelem szoftver vízjelezés és obfuszkálás segítségével EBERHARDT GERGELY, NAGY ZOLTÁN SEARCH-LAB Kft., {gergely.eberhardt, zoltan.nagy}@search-lab.hu JEGES ERNÔ, HORNÁK ZOLTÁN BME Méréstechnikai

Részletesebben

Csoportos üzenetszórás optimalizálása klaszter rendszerekben

Csoportos üzenetszórás optimalizálása klaszter rendszerekben Csoportos üzenetszórás optimalizálása klaszter rendszerekben Készítette: Juhász Sándor Csikvári András Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Automatizálási

Részletesebben

Bevezetés a programozásba. 12. Előadás: 8 királynő

Bevezetés a programozásba. 12. Előadás: 8 királynő Bevezetés a programozásba 12. Előadás: 8 királynő A 8 királynő feladat Egy sakktáblára tennénk 8 királynőt, úgy, hogy ne álljon egyik sem ütésben Ez nem triviális feladat, a lehetséges 64*63*62*61*60*59*58*57/8!=4'426'165'368

Részletesebben

egy szisztolikus példa

egy szisztolikus példa Automatikus párhuzamosítás egy szisztolikus példa Áttekintés Bevezetés Példa konkrét szisztolikus algoritmus Automatikus párhuzamosítási módszer ötlet Áttekintés Bevezetés Példa konkrét szisztolikus algoritmus

Részletesebben

Szelekció. Döntéshozatal

Szelekció. Döntéshozatal Szelekció Döntéshozatal Elágazásos algoritmus-szerkezet Eddig az ún. szekvenciális (lineáris) algoritmust alkalmaztunk a parancsok egyenként egymás után hajtüdnak végre. Bizonyos esetekben egy adott feltételtől

Részletesebben

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3) Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Mit tudunk már? Típus fogalma char, int, float, double változók deklarációja operátorok (aritmetikai, relációs, logikai,

Részletesebben

Érdekes informatika feladatok

Érdekes informatika feladatok A keres,kkel és adatbázissal ellátott lengyel honlap számos díjat kapott: Spirit of Delphi '98, Delphi Community Award, Poland on the Internet, Golden Bagel Award stb. Az itt megtalálható komponenseket

Részletesebben

KÖZGAZDASÁGTAN I. Készítette: Bíró Anikó, K hegyi Gergely, Major Klára. Szakmai felel s: K hegyi Gergely. 2010. június

KÖZGAZDASÁGTAN I. Készítette: Bíró Anikó, K hegyi Gergely, Major Klára. Szakmai felel s: K hegyi Gergely. 2010. június KÖZGAZDASÁGTAN I. Készült a TÁMOP-4.1.2-08/2/a/KMR-2009-0041 pályázati projekt keretében Tartalomfejlesztés az ELTE TáTK Közgazdaságtudományi Tanszékén az ELTE Közgazdaságtudományi Tanszék az MTA Közgazdaságtudományi

Részletesebben

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3) Programozás alapjai C nyelv 5. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.17. -1- Tömbök Azonos típusú adatok tárolására. Index

Részletesebben

Egyszerű RISC CPU tervezése

Egyszerű RISC CPU tervezése IC és MEMS tervezés laboratórium BMEVIEEM314 Budapesti Műszaki és Gazdaságtudományi Egyetem Egyszerű RISC CPU tervezése Nagy Gergely Elektronikus Eszközök Tanszéke (BME) 2013. február 14. Nagy Gergely

Részletesebben

Mérnök informatikus alapképzési szak

Mérnök informatikus alapképzési szak Dunaújvárosi Főiskola Mérnök informatikus alapképzési szak Tanterv. július 29. 2 Tartalomjegyzék Szakleírás:... 7 Óraterv:... 10 Mérnök informatikus alapképzési szak tantárgyainak rövid ismertetése...

Részletesebben

Számítógép architektúra

Számítógép architektúra Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár Számítógép architektúra Dr. Seebauer Márta főiskolai tanár seebauer.marta@roik.bmf.hu Irodalmi források Cserny L.: Számítógépek

Részletesebben

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I. Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Részletesebben

Verifikáció és validáció Általános bevezető

Verifikáció és validáció Általános bevezető Verifikáció és validáció Általános bevezető Általános Verifikáció és validáció verification and validation - V&V: ellenőrző és elemző folyamatok amelyek biztosítják, hogy a szoftver megfelel a specifikációjának

Részletesebben

Informatika Rendszerek Alapjai

Informatika Rendszerek Alapjai Informatika Rendszerek Alapjai Dr. Kutor László Alapfogalmak Információ-feldolgozó paradigmák Analóg és digitális rendszerek jellemzői Jelek típusai Átalakítás rendszerek között http://uni-obuda.hu/users/kutor/

Részletesebben