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

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

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

Átírás

1 Fordítás Kódoptimalizálás Kód visszafejtés. Izsó Tamás október 20. Izsó Tamás Fordítás Kódoptimalizálás / 1

2 Aktív változók Angol irodalomban a Live Variables kifejezést használják, míg az azt felhasználó elemzést Liveness Analysis-nek hívják. Az aktív változók ismeretében lehet a felesleges utasításokat megszüntetni. Egy változó a program egy pontján aktív, ha később az értéke felhasználásra kerül. Izsó Tamás Fordítás Kódoptimalizálás / 2

3 Példa aktív változóra Példa: [x:=2] 1 ; [y:=4] 2 ; [x:=1] 3 ; if [y>x] 4 do fi then [z:=y] 5 else [z:=y*y] 6 [x:=z] 7 ; Az 1-es címkéjű x változó nem aktív az első utasítás után (semelyik utasítás sem használja fel az értékét), ezért ez felesleges. Izsó Tamás Fordítás Kódoptimalizálás / 3

4 Aktív változók előállítása A feldolgozás az alapblokk végétől az eleje felé halad. A blokk végén lévő aktív változók halmazát az algoritmus alapján mi határozzuk meg. Amikor az a = b + c kifejezéshez érünk: az a változót ki kell venni; a b és c változókat be kell tenni az az aktív változók halmazába. Izsó Tamás Fordítás Kódoptimalizálás / 4

5 Aktív változó v=x+y; c=v+5; v=z+w Izsó Tamás Fordítás Kódoptimalizálás / 5

6 Aktív változó v=x+y; v változó definiálása c=v+5; v=z+w Izsó Tamás Fordítás Kódoptimalizálás / 5

7 Aktív változó v=x+y; v változó definiálása v változó használata c=v+5; v=z+w Izsó Tamás Fordítás Kódoptimalizálás / 5

8 Aktív változó v=x+y; v változó definiálása v változó használata v változó újradefiniálása c=v+5; v=z+w Izsó Tamás Fordítás Kódoptimalizálás / 5

9 Aktív változó v=x+y; v változó definiálása v változó használata v változó újradefiniálása v változó értéke felesleges c=v+5; v=z+w Izsó Tamás Fordítás Kódoptimalizálás / 5

10 Aktív változó globális analízise v változó aktív a p pontban start v változó nem aktív a p pontban start v változó aktív a p pontban start v=x+y; p v=x+y; p p a=v+5; v=x+5; v=v+5; end end end Izsó Tamás Fordítás Kódoptimalizálás / 6

11 Aktív változók előállítása c = a; e = d; f = e; Izsó Tamás Fordítás Kódoptimalizálás / 7

12 Aktív változók előállítása c = a; e = d; f = e; {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 7

13 Aktív változók előállítása c = a; e = d; { b, d, e} f = e; {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 7

14 Aktív változók előállítása c = a; e = d; { a, b, e} { b, d, e} f = e; {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 7

15 Aktív változók előállítása c = a; { a, b, d } e = d; { a, b, e} { b, d, e} f = e; {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 7

16 Aktív változók előállítása c = a; { a, b } { a, b, d } e = d; { a, b, e} { b, d, e} f = e; {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 7

17 Aktív változók előállítása { a, b } c = a; { a, b } { a, b, d } e = d; { a, b, e} { b, d, e} f = e; {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 7

18 Aktív változók előállítása { b } { a, b } c = a; { a, b } { a, b, d } e = d; { a, b, e} { b, d, e} f = e; {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 7

19 Felesleges kód törlése { b } { a, b } c = a; { a, b } { a, b, d } e = d; { a, b, e} { b, d, e} f = e; {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 8

20 Felesleges kód törlése { b } { a, b } c = a; { a, b } { a, b, d } e = d; { a, b, e} { b, d, e} f = e; {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 8

21 Felesleges kód törlése { b } { a, b } c = a; { a, b } { a, b, d } e = d; { a, b, e} { b, d, e} {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 8

22 Felesleges kód törlése { b } { a, b } c = a; { a, b } { a, b, d } e = d; { a, b, e} { b, d, e} {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 8

23 Felesleges kód törlése { b } { a, b } { a, b } { a, b, d } e = d; { a, b, e} { b, d, e} {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 8

24 Felesleges kód törlése e = d; Izsó Tamás Fordítás Kódoptimalizálás / 8

25 Aktív változók előállítása II e = d; Izsó Tamás Fordítás Kódoptimalizálás / 9

26 Aktív változók előállítása II e = d; {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 9

27 Aktív változók előállítása II e = d; {a, b } {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 9

28 Aktív változók előállítása II {a, b, d } e = d; {a, b } {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 9

29 Aktív változók előállítása II {a, b } {a, b, d } e = d; {a, b } {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 9

30 Aktív változók előállítása II { b } {a, b } {a, b, d } e = d; {a, b } {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 9

31 Felesleges kód törlése { b } {a, b } {a, b, d } e = d; {a, b } {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 10

32 Felesleges kód törlése { b } {a, b } {a, b, d } e = d; {a, b } {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 10

33 Felesleges kód törlése { b } {a, b } {a, b, d } {a, b } {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 10

34 Felesleges kód törlése Izsó Tamás Fordítás Kódoptimalizálás / 10

35 Aktív változók előállítása III Izsó Tamás Fordítás Kódoptimalizálás / 11

36 Aktív változók előállítása III {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 11

37 Aktív változók előállítása III {a, b } {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 11

38 Aktív változók előállítása III {a, b } {a, b } {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 11

39 Aktív változók előállítása III { b } {a, b } {a, b } {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 11

40 Felesleges kód törlése { b } {a, b } {a, b } {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 12

41 Felesleges kód törlése { b } {a, b } {a, b } {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 12

42 Felesleges kód törlése { b } {a, b } {a, b } {b, d } Izsó Tamás Fordítás Kódoptimalizálás / 12

43 Felesleges kód törlése Izsó Tamás Fordítás Kódoptimalizálás / 12

44 Aktív változók előállításának a formalizálása In n = n Kill n ) Gen n (Out { Out n = BI n az utolsó blokk végén. x succ(n) In x máskülönben. A kimenet van összehuzalozva az n után következő bemenetek uniójával. -ból következik, hogy az inicializálás az üres halmazzal történik, kivéve a kezdő állapotot. Out n alapján számítjuk az In n -t, tehát a számítás visszafele halad. Izsó Tamás Fordítás Kódoptimalizálás / 13

45 Reaching Definition analízis Az analízis megadja, hogy a program egy adott pontján az x változó hol kapott értéket. Elágazások és ciklusok miatt több ponton is definiálva 1 lehet. RD entry (p) = { RDinit kezdetben. p pred(p) RD exit (p ) máskülönben. RD exit (p) = (RD entry (p)\kill RD (p)) Gen RD (p) 1 Itt a definíciót bővebb értelemben használjuk. Minden pont, ahol egy változó értéket kap definíciós pontnak hívjuk. Izsó Tamás Fordítás Kódoptimalizálás / 14

46 Reaching Definition jelölések Ha az x változót a p pontban definiálva van, akkor ezt a tényt a (x, p) párral fejezzük ki. Az RD entry (p) és az RD exit (p) ezeknek a pároknak a halmazát tartalmazza. Inicializálás RD init = {(x,?) x programváltozó.} A kérdőjel azt jelenti, hogy még nem lett inicializálva a változó. Izsó Tamás Fordítás Kódoptimalizálás / 15

47 Példa Reaching Definition-ra [ x := 5] 1 ; [ y := 1] 2 ; while [ x > 1] 3 do [ y := x y ] 4 ; [ x := x 1] 5 od RD entry(1) = {(x,?), (y,?)} RD entry(2) = RD exit (1) RD entry(3) = RD exit (2) RD exit (5) RD entry(4) = RD exit (3) RD entry(5) = RD exit (4) RD exit (1) = (RD entry(1)\{(x,?), (x, 1), (x, 5)}) (x, 1) RD exit (2) = (RD entry(2)\{(y,?), (y, 2), (y, 4)}) (y, 2) RD exit (3) = RD entry(3) RD exit (4) = (RD entry(4)\{(y,?), (y, 2), (y, 4)}) (y, 4) RD exit (5) = (RD entry(5)\{(x,?), (x, 1), (x, 5)}) (x, 1) Izsó Tamás Fordítás Kódoptimalizálás / 16

48 RD végeredmény RD entry RD exit 1 {(x,?),(y,?)} {(x,1),(y,?)} 2 {(x,1),(y,?)} {(x,1),(y,2)} 3 {(x,1),(y,2),(y,4),(x,5)} {(x,1),(y,2),(y,4),(x,5)} 4 {(x,1),(y,2),(y,4),(x,5)} {(x,1),(y,4),(x,5)} 5 {(x,1),(y,4),(x,5)} {(y,4),(y,5)} Izsó Tamás Fordítás Kódoptimalizálás / 17

49 Konstans kiértékelés fordítási időben I RD [x := a] l [x := a[y n]] l y FV (a) (y,?) / RD entry (l) ha (y, l ) RD entry (l) y = y [...] l = [y := n] l RD [x := a] l [x := n] l { FV (a) = a nem konstans ha a kifejezés értéke n Megj: FV (a) megadja, hogy az a aritmetikai kifejezés tartalmaz-e szabad változót. Izsó Tamás Fordítás Kódoptimalizálás / 18

50 Konstans kiértékelés fordítási időben II RD S 1 S 1 RD S 1 ; S 2 S 1 ; S 2 RD S 2 S 2 RD S 1 ; S 2 S 1 ; S 2 RD S 1 S 1 RD if[b l ] then S 1 else S 2 if[b l ] then S 1 else S 2 RD S 2 S 2 RD if[b l ] then S 1 else S 2 if[b l ] then S 1 else S 2 RD S S RD while[b l ] do S while[b l ] do S Izsó Tamás Fordítás Kódoptimalizálás / 19

51 Konstans kiértékelés példa I. Program: [ x :=10] 1 ; [ y := x +10] 2 ; [ z := y +10] 3 ; RD analízis eredménye: RD entry (1) = {(x,?), (y,?), (z,?)} RD exit (1) = {(x, 1), (y,?), (z,?)} RD entry (2) = {(x, 1), (y,?), (z,?)} RD exit (2) = {(x, 1), (y, 2), (z,?)} RD entry (3) = {(x, 1), (y, 2), (z,?)} RD exit (2) = {(x, 1), (y, 2), (z, 3)} Izsó Tamás Fordítás Kódoptimalizálás / 20

52 Konstans kiértékelés példa II. RD [x := 10] 1 ; [y := x + 10] 2 ; [z := y + 10] 3 ; [x := 10] 1 ; [y := ] 2 ; [z := y + 10] 3 ; [x := 10] 1 ; [y := 20] 2 ; [z := y + 10] 3 ; [x := 10] 1 ; [y := 20] 2 ; [z := ] 3 ; [x := 10] 1 ; [y := 20] 2 ; [z := 30] 3 ; Izsó Tamás Fordítás Kódoptimalizálás / 21

53 Konstans kiértékelés példa II. Visual Studio C eredménye 1 int funcion() { 2 int x,y,z; 3 x=1; 4 y=100*x; 5 z=100*y-y; 6 while( x < 4 ) { 7 z = z +y; 8 y = 2*x; 9 x++; 10 } 11 return z; 12 } Lefordított kód: _funcion : : mov eax,2710h : r e t Izsó Tamás Fordítás Kódoptimalizálás / 22

54 Adatfolyam analízis algoritmusok Az adatfolyam algoritmus előre halad, ha 1 a kimenetet out() számoljuk ki az alapblokkba bemenő in() értékek alapján 2 a bemenet az előző alapblokkok kimenetének a kombinációja Az adatfolyam algoritmus visszafele halad, ha 1 a bemenetet in() számoljuk ki az alapblokk kimenetelén lévő out() értékek alapján 2 a kimenet a következő alapblokkok bemenetének a kombinációja A következő táblázat a lehetséges adatfolyam algoritmusokat ábrázolja: Előre haladó Visszafele haladó Legalább Out(B i ) = Gen(B i ) (In(B i ) Kill(B i )) In(B i ) = Gen(B i ) (Out(B i ) Kill(B i )) egy úton In(B i ) = p Pred(B i ) Out(p) Out(B i ) = s Succ(B i ) In(s) Minden Out(B i ) = Gen(B i ) (In(B i ) Kill(B i )) In(B i ) = Gen(B i ) (Out(B i ) Kill(B i )) egy úton In(B i ) = p Pred(B i ) Out(p) Out(B i ) = s Succ(B i ) In(s) Izsó Tamás Fordítás Kódoptimalizálás / 23

55 Változó definíció-használat lánc Definíció: definíció-használat láncolat (du-chain) megadja, hogy a program egy pontján definiált változó, regiszter vagy feltétel kód értékére a programban található utasítások közül kik hivatkoznak. Definíció: használat-definíció láncolat (ud-chain) megadja, hogy a program egy pontján hivatkozott (használt) változó, regiszter vagy feltétel kód a programban hol kaphattak értéket. Izsó Tamás Fordítás Kódoptimalizálás / 24

56 u-d chain analízis Az u-d chain analízis megadja, hogy a program l címén az elérhető definíciós pontok analízis (Reaching definition analysis) szerint az l címke alatt definiált x változó értékét használjuk. UD entry (x, l) = { l (x, l ) RD entry (l) ha x gen LV (B l ) máskülönben. Izsó Tamás Fordítás Kódoptimalizálás / 25

57 Példa u-d és d-u láncra [ x := 0] 1 ; [ x := 3] 2 ; i f [ z = x ] 3 then [ z := 0] 4 ; else [ z := x ] 5 [ y := x ] 6 ; [ x := y+z ] 7 ; ud(χ, l) x y z {2} {?} 4 5 {2} 6 {2} 7 {6} {4, 5} du(χ, l) x y z 1 2 {3, 5, 6} 3 4 {7} 5 {7} 6 {7} 7? {3} Izsó Tamás Fordítás Kódoptimalizálás / 26

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 2015. október 15. 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

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

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

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

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

Apple Swift kurzus 3. gyakorlat

Apple Swift kurzus 3. gyakorlat Készítette: Jánki Zoltán Richárd Dátum: 2016.09.20. Apple Swift kurzus 3. gyakorlat Kollekciók: Tömb: - let array = [] - üres konstans tömb - var array = [] - üres változó tömb - var array = [String]()

Részletesebben

Táblázatok fontosabb műveletei 1

Táblázatok fontosabb műveletei 1 Táblázatok fontosabb műveletei 1 - - Soros táblázat procedure BESZÚR1(TÁBLA, újelem) - - beszúrás soros táblázatba - - a táblázatot egy rekordokat tartalmazó dinamikus vektorral reprezentáljuk - - a rekordok

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

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

84)Adott a következőképpen értelmezett f alprogram. Milyen értéket térit vissza f(1)? És f(100)? function f(x:integer):integer; begin

84)Adott a következőképpen értelmezett f alprogram. Milyen értéket térit vissza f(1)? És f(100)? function f(x:integer):integer; begin 97) Az 1-es feladat esetén, a helyes válasznak megfelelő betűt, írjátok a vizsgalapra. A mellékelt rekurzív alprogram nincs teljesen definiálva. Melyik összefüggéssel kell kiegészíteni, a kihagyott, (...)

Részletesebben

A digitális számítás elmélete

A digitális számítás elmélete A digitális számítás elmélete 8. előadás ápr. 16. Turing gépek és nyelvtanok A nyelvosztályok áttekintése Turing gépek és a természetes számokon értelmezett függvények Áttekintés Dominó Bizonyítások: L

Részletesebben

A félév során előkerülő témakörök

A félév során előkerülő témakörök A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok

Részletesebben

Algoritmizálás és adatmodellezés tanítása 1. előadás

Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az

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

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Python Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása alatt

Részletesebben

Algoritmusok helyességének bizonyítása. A Floyd-módszer

Algoritmusok helyességének bizonyítása. A Floyd-módszer Algoritmusok helyességének bizonyítása A Floyd-módszer Algoritmusok végrehajtása Egy A algoritmus esetében a változókat három változótípusról beszélhetünk, melyeket az X, Y és Z vektorokba csoportosítjuk

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

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

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

Gráfok, definíciók. Gráfok ábrázolása. Az adott probléma megoldásához ténylegesen mely műveletek szükségesek. Ábrázolások. Példa:

Gráfok, definíciók. Gráfok ábrázolása. Az adott probléma megoldásához ténylegesen mely műveletek szükségesek. Ábrázolások. Példa: Gráfok, definíciók Irányítatlan gráf: G = (V,E), ahol E rendezetlen (a,b),a,b V párok halmaza. Irányított gráf: G = (V,E) E rendezett (a,b) párok halmaza; E V V. Címkézett (súlyozott) gráf: G = (V,E,C)

Részletesebben

Szélsőérték-számítás

Szélsőérték-számítás Szélsőérték-számítás Jelölések A következő jelölések mind az f függvény x szerinti parciális deriváltját jelentik: Ugyanígy az f függvény y szerinti parciális deriváltja: f x = xf = f x f y = yf = f y

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

Kiterjesztések sek szemantikája

Kiterjesztések sek szemantikája Kiterjesztések sek szemantikája Példa D Integer = {..., -1,0,1,... }; D Boolean = { true, false } D T1... T n T = D T 1... D Tn D T Az összes függvf ggvény halmaza, amelyek a D T1,..., D Tn halmazokból

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

Bevezetés az informatikába

Bevezetés az informatikába Bevezetés az informatikába 6. 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

Algoritmizálás, adatmodellezés tanítása 6. előadás

Algoritmizálás, adatmodellezés tanítása 6. előadás Algoritmizálás, adatmodellezés tanítása 6. előadás Tesztelési módszerek statikus tesztelés kódellenőrzés szintaktikus ellenőrzés szemantikus ellenőrzés dinamikus tesztelés fekete doboz módszerek fehér

Részletesebben

Objektumorientált Programozás III.

Objektumorientált Programozás III. Objektumorientált Programozás III. Vezérlési szerkezetek ismétlés Matematikai lehetőségek Feladatok 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő

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

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ás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása 1. feladat: Eldönteni egy számról, hogy pozitív, negatív vagy 0. Próbálja megoldani a feladatot switch szerkezettel is. Mikor használható

Részletesebben

Haladó DBMS ismeretek 1

Haladó DBMS ismeretek 1 Haladó DBMS ismeretek 1 Hasznos információk A tantárgy weboldala: it.inf.unideb.hu/honlap/halado_oracle1 Oracle Junior képzés Gyakorlatok és a neptun Gyakorlat követelmények Ajánlott irodalom Juhász István

Részletesebben

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Javascript Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása

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

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE motiabt@inf.elte.

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE motiabt@inf.elte. Programozási alapismeretek :: beadandó feladat Készítő adatai Név: Molnár Tamás EHA: MOTIABT.ELTE E-mail cím: motiabt@inf.elte.hu Gyakorlatvezető: Horváth László Feladat sorszáma: 23. Felhasználói dokumentáció

Részletesebben

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével

Részletesebben

Dr. Oniga István DIGITÁLIS TECHNIKA 8

Dr. Oniga István DIGITÁLIS TECHNIKA 8 Dr. Oniga István DIGITÁLIS TECHNIA 8 Szekvenciális (sorrendi) hálózatok Szekvenciális hálózatok fogalma Tárolók RS tárolók tárolók T és D típusú tárolók Számlálók Szinkron számlálók Aszinkron számlálók

Részletesebben

C programozási nyelv

C programozási nyelv C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György

Részletesebben

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje 1. Alapfogalmak 1.1. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt

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

Matematika A1a Analízis

Matematika A1a Analízis B U D A P E S T I M Ű S Z A K I M A T E M A T I K A É S G A Z D A S Á G T U D O M Á N Y I I N T É Z E T E G Y E T E M Matematika Aa Analízis BMETE90AX00 Az exp és ln függvények H607, EIC 209-04-24 Wettl

Részletesebben

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs Programozás I. 1. előadás: Algoritmusok alapjai Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember 7. Sergyán

Részletesebben

Szkriptnyelvek. 1. UNIX shell

Szkriptnyelvek. 1. UNIX shell Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek

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

Erdélyi Magyar TudományEgyetem (EMTE

Erdélyi Magyar TudományEgyetem (EMTE TARTALOM: Általánosságok Algoritmusok ábrázolása: Matematikai-logikai nyelvezet Pszeudokód Függőleges logikai sémák Vízszintes logikai sémák Fastruktúrák Döntési táblák 1 Általánosságok 1. Algoritmizálunk

Részletesebben

Programozási módszertan. Mohó algoritmusok

Programozási módszertan. Mohó algoritmusok PM-08 p. 1/17 Programozási módszertan Mohó algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu PM-08 p. 2/17 Bevezetés Dinamikus programozás

Részletesebben

NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere

NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere Szekvenciális programok kategóriái strukturálatlan strukturált NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE Hoare-Dijkstra-Gries módszere determinisztikus valódi korai nem-determinisztikus általános fejlett

Részletesebben

Fejlett programozási nyelvek C++ Iterátorok

Fejlett programozási nyelvek C++ Iterátorok Fejlett programozási nyelvek C++ Iterátorok 10. előadás Antal Margit 2009 slide 1 Témakörök I. Bevezetés II. Iterátor definíció III. Iterátorok jellemzői IV. Iterátorkategóriák V. Iterátor adapterek slide

Részletesebben

ő ü ó ü ü ő ő ó ę ö É Ĺ Ĺ ö ű ő ó ó ő ü ő ő ó ö ó ő ü ö ę đ ü ó ý ť ü ű ő ú ü ý ó ő ó ő ó ó ő ö ö ó ő ü ő ő ę ó ź ú ő ő ó Í ó ó ę ü ü ó ť ő ó ó ü ź ó Ĺ ő ű ú ő ű ó ű ś ű ő ę ó ö ó ú ö ö ő ń ü ý ü ő Í ü

Részletesebben

S z á m í t ó g é p e s a l a p i s m e r e t e k

S z á m í t ó g é p e s a l a p i s m e r e t e k S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami

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

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t.. A Név: l 2014.04.09 Neptun kód: Gyakorlat vezető: HG BP MN l 1. Adott egy (12 nem nulla értékû elemmel rendelkezõ) 6x7 méretû ritka mátrix hiányos 4+2 soros reprezentációja. SOR: 1 1 2 2 2 3 3 4 4 5 6

Részletesebben

Funkcionális Nyelvek 2 (MSc)

Funkcionális Nyelvek 2 (MSc) Funkcionális Nyelvek 2 (MSc) Páli Gábor János pgj@elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar Programozási Nyelvek és Fordítóprogramok Tanszék Tematika A (tervezett) tematika rövid összefoglalása

Részletesebben

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: Név: vp.05@hotmail.com Kurzuskód:

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: Név: vp.05@hotmail.com Kurzuskód: Szerző Név: Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: vp.05@hotmail.com Kurzuskód: IP-08PAEG/27 Gyakorlatvezető neve: Kőhegyi János Feladatsorszám: 20 1 Tartalom Szerző... 1 Felhasználói dokumentáció...

Részletesebben

1. Logikailag ekvivalens

1. Logikailag ekvivalens Informatikai logikai alapjai Mérnök informatikus 4. gyakorlat 1. Logikailag ekvivalens 1. Az alábbi formulák közül melyek logikailag ekvivalensek a ( p p) formulával? A. ((q p) q) B. (q q) C. ( p q) D.

Részletesebben

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14. Informatika 1 2011 Második előadás, vezérlési szerkezetek Szabó Adrienn 2011. szeptember 14. Tartalom Algoritmusok, vezérlési szerkezetek If - else: elágazás While ciklus For ciklus Egyszerű típusok Összetett

Részletesebben

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin 1 A PROGRAMOZÁS ALAPJAI 3 Készítette: Vénné Meskó Katalin Információk 2 Elérhetőség meskokatalin@tfkkefohu Fogadóóra: szerda 10:45-11:30 Számonkérés Időpontok Dec 19 9:00, Jan 05 9:00, Jan 18 9:00 egy

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

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 3. előadás

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 3. előadás Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás 3. előadás A Math osztály (System.Math) Metódus Művelet Math.Sin(x) sin(x), ahol az x szög értékét radiánban

Részletesebben

Programozási alapismeretek 1. előadás

Programozási alapismeretek 1. előadás Programozási alapismeretek 1. előadás Tartalom A problémamegoldás lépései programkészítés folyamata A specifikáció Az algoritmus Algoritmikus nyelvek struktogram A kódolás a fejlesztői környezet 2/33 A

Részletesebben

AWK programozás, minták, vezérlési szerkezetek

AWK programozás, minták, vezérlési szerkezetek 10 AWK programozás, minták, vezérlési szerkezetek AWK futtatási módok AWK parancs, közvetlen programkódmegadás: awk 'PROGRAMKÓD' FILE példa: ls -l awk '{print $1, $5}' a programkód helyére minden indentálás

Részletesebben

Algoritmizálás és adatmodellezés tanítása 3. előadás

Algoritmizálás és adatmodellezés tanítása 3. előadás Algoritmizálás és adatmodellezés tanítása 3. előadás Szövegfájl Fájl típus A szövegfájl karakterek sorozata: input fájl Műveletei: nyit, zár, olvas, vége? output fájl Műveletei: nyit, zár, ír Pap Gáborné,

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

Programozás és Digitális technika I. Pógár István eng.unideb.hu/pogari

Programozás és Digitális technika I. Pógár István eng.unideb.hu/pogari Programozás és Digitális technika I. Pógár István pogari@eng.unideb.hu eng.unideb.hu/pogari Ajánlott irodalom Massimo Banzi Getting Started with Arduino Michael Margolis Make an Android Controlled Robot

Részletesebben

2018, Diszkrét matematika

2018, Diszkrét matematika Diszkrét matematika 3. előadás mgyongyi@ms.sapientia.ro Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia 2018, őszi félév Miről volt szó az elmúlt előadáson? számtartományok: természetes

Részletesebben

Informatika 1 2. el adás: Absztrakt számítógépek

Informatika 1 2. el adás: Absztrakt számítógépek Informatika 1 2. el adás: Budapesti M szaki és Gazdaságtudományi Egyetem 2015-09-08 1 2 3 A egy M = Q, Γ, b, Σ, δ, q 0, F hetes, ahol Q az 'állapotok' nem üres halmaza, Γ a 'szalag ábécé' véges, nem üres

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

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

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

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. 11. gyakorlat Sturktúrák használata I. Új típus új műveletekkel 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. typedef struct datum { int ev; int ho; int nap;

Részletesebben

Operációs Rendszerek II. labor. 2. alkalom

Operációs Rendszerek II. labor. 2. alkalom Operációs Rendszerek II. labor 2. alkalom Mai témák (e)grep Shell programozás (részletesebben, példákon keresztül) grep Alapvető működés: mintákat keres a bemeneti csatorna (STDIN vagy fájl) soraiban,

Részletesebben

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás Algoritmusok Tervezése 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás Mi az algoritmus? Lépések sorozata egy feladat elvégzéséhez (legáltalánosabban) Informálisan algoritmusnak nevezünk bármilyen jól definiált

Részletesebben

1. Jelölje meg az összes igaz állítást a következők közül!

1. Jelölje meg az összes igaz állítást a következők közül! 1. Jelölje meg az összes igaz állítást a következők közül! a) A while ciklusban a feltétel teljesülése esetén végrehajtódik a ciklusmag. b) A do while ciklusban a ciklusmag után egy kilépési feltétel van.

Részletesebben

Matematika (mesterképzés)

Matematika (mesterképzés) Matematika (mesterképzés) Környezet- és Településmérnököknek Debreceni Egyetem Műszaki Kar, Műszaki Alaptárgyi Tanszék Vinczéné Varga A. Környezet- és Településmérnököknek 2016/2017/I 1 / 29 Lineáris tér,

Részletesebben

Mintavételes szabályozás mikrovezérlő segítségével

Mintavételes szabályozás mikrovezérlő segítségével Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés

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

Algoritmizálás + kódolás C++ nyelven és Pascalban

Algoritmizálás + kódolás C++ nyelven és Pascalban Algoritmizálás + kódolás nyelven és ban Motiváció A Programozási alapismeretek tárgyban az algoritmizáláshoz struktogramot, a kódoláshoz nyelvet használunk, a Közismereti informatikában (a közoktatásban

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

Programozási nyelvek 6. előadás

Programozási nyelvek 6. előadás Programozási nyelvek 6. előadás Szempontok Programozási nyelvek osztályozása Felhasználói kör (amatőr, professzionális) Emberközelség (gépi nyelvektől a természetes nyelvekig) Számítási modell (hogyan

Részletesebben

Assembly Utasítások, programok. Iványi Péter

Assembly Utasítások, programok. Iványi Péter Assembly Utasítások, programok Iványi Péter Assembly programozás Egyszerű logikán alapul Egy utasítás CSAK egy dolgot csinál Magas szintű nyelven: x = 5 * z + y; /* 3 darab művelet */ Assembly: Szorozzuk

Részletesebben

Hardver leíró nyelvek (HDL)

Hardver leíró nyelvek (HDL) Hardver leíró nyelvek (HDL) Benesóczky Zoltán 2004 A jegyzetet a szerzıi jog védi. Azt a BME hallgatói használhatják, nyomtathatják tanulás céljából. Minden egyéb felhasználáshoz a szerzı belegyezése szükséges.

Részletesebben

Pénzügyi algoritmusok

Pénzügyi algoritmusok Pénzügyi algoritmusok A C++ programozás alapjai Az Integrált Fejlesztői Környezet C++ alapok Az Integrált Fejlesztői Környezet Visual Studio 2013 Community Edition Kitekintés: fordítás Preprocesszor Fordító

Részletesebben

AWK programozás, minták, vezérlési szerkezetek

AWK programozás, minták, vezérlési szerkezetek 10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa

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

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

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Bánsághi Anna 2014 Bánsághi Anna 1 of 68 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

Részletesebben

Adatbányászati szemelvények MapReduce környezetben

Adatbányászati szemelvények MapReduce környezetben Adatbányászati szemelvények MapReduce környezetben Salánki Ágnes salanki@mit.bme.hu 2014.11.10. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Felügyelt

Részletesebben

Algoritmusok bonyolultsága

Algoritmusok bonyolultsága Algoritmusok bonyolultsága 5. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm 1 / 27 Gazdaságos faváz Kruskal-algoritmus Joseph Kruskal (1928 2010) Legyen V = {v 1, v 2,..., v n }, E = {e 1, e 2,...,

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

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15 Matlab alapok Baran Ágnes Elágazások, függvények Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15 Logikai kifejezések =, ==, = (két mátrixra is alkalmazhatóak, ilyenkor elemenként történik

Részletesebben

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév 1. feladat (nehézsége:*****). Készíts C programot, mely a felhasználó által megadott függvényt integrálja (numerikusan). Gondosan tervezd meg az adatstruktúrát! Tervezz egy megfelelő bemeneti nyelvet.

Részletesebben

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >> I. Alapok Interaktív shell-ben vagy shell-scriptben megadott karaktersorozat feldolgozásakor az első lépés a szavakra tördelés. A szavakra tördelés a következő metakarakterek mentén zajlik: & ; ( ) < >

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

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

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás 4.11. A C előfeldolgozó rendszer A fordítás első lépése a C esetében a különböző nyelvi kiterjesztések feldolgozása: másik állomány tartalmának

Részletesebben

Pere Balázs október 20.

Pere Balázs október 20. Végeselem anaĺızis 1. előadás Széchenyi István Egyetem, Alkalmazott Mechanika Tanszék 2014. október 20. Mi az a VégesElem Anaĺızis (VEA)? Mi az a VégesElem Anaĺızis (VEA)? Mi az a VégesElem Anaĺızis (VEA)?

Részletesebben

1. ábra: Perifériára való írás idődiagramja

1. ábra: Perifériára való írás idődiagramja BELÉPTETŐ RENDSZER TERVEZÉSE A tárgy első részében tanult ismeretek részbeni összefoglalására tervezzük meg egy egyszerű mikroprocesszoros rendszer hardverét, és írjuk meg működtető szoftverét! A feladat

Részletesebben

Szoftvertervezés és -fejlesztés I.

Szoftvertervezés és -fejlesztés I. Szoftvertervezés és -fejlesztés I. Operátorok Vezérlési szerkezetek Gyakorlás 1 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.

Részletesebben

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

Programozási nyelvek a közoktatásban alapfogalmak I. előadás Programozási nyelvek a közoktatásban alapfogalmak I. előadás Szempontok Programozási nyelvek osztályozása Felhasználói kör (amatőr, professzionális) Emberközelség (gépi nyelvektől a természetes nyelvekig)

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