Adatszerkezetek és algoritmusok

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

Download "Adatszerkezetek és algoritmusok"

Átírás

1 2009. november 13.

2 Ismétlés

3 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 Osztályok, objektumok Egyszer programozási tételek I/O m veletek Java és Eclipse ismeretek Verem adatszerkezet

4 Sor adatszerkezet

5 Bevezetés Köznapi fogalma FIFO adatszerkezet (First In, First Out) Két vége van: Eleje, ahonnan a kivenni lehet a soronkövetkez elemet Vége, ahova új elem kerülhet 10

6 Bevezetés Köznapi fogalma FIFO adatszerkezet (First In, First Out) Két vége van: Eleje, ahonnan a kivenni lehet a soronkövetkez elemet Vége, ahova új elem kerülhet 10 20

7 Bevezetés Köznapi fogalma FIFO adatszerkezet (First In, First Out) Két vége van: Eleje, ahonnan a kivenni lehet a soronkövetkez elemet Vége, ahova új elem kerülhet

8 Bevezetés Köznapi fogalma FIFO adatszerkezet (First In, First Out) Két vége van: Eleje, ahonnan a kivenni lehet a soronkövetkez elemet Vége, ahova új elem kerülhet

9 Bevezetés Köznapi fogalma FIFO adatszerkezet (First In, First Out) Két vége van: Eleje, ahonnan a kivenni lehet a soronkövetkez elemet Vége, ahova új elem kerülhet

10 Bevezetés Köznapi fogalma FIFO adatszerkezet (First In, First Out) Két vége van: Eleje, ahonnan a kivenni lehet a soronkövetkez elemet Vége, ahova új elem kerülhet

11 Bevezetés Köznapi fogalma FIFO adatszerkezet (First In, First Out) Két vége van: Eleje, ahonnan a kivenni lehet a soronkövetkez elemet Vége, ahova új elem kerülhet

12 ADT Sor ADT A Sor ADT axiomatikus leírása: (E alaptípus feletti S Sor típus jellemzése) M veletek: (isfull nem szerepel) Empty: S (az üres sor konstruktor létrehozás) IsEmpty: S L (üres a sor?) In: S E S (elem betétele a sorba) Out: S S E (elem kivétele a sorból) First: S E (els elem lekérdezése) Megszorítások: Out és First értelmezési tartománya: S \ {Empty} Axiómák Veremhez hasonlóan megadhatók

13 Reprezentáció Statikus, aritmetikai reprezentáció Aritmetikai ábrázolás: egy max hosszú vektor (ez az elemek tömbje) elements[1..max] a sor els elemének mutatója head [1, max] a sor els üres (utolsó) helyének mutatója tail [1, max]

14 Reprezentáció Például Elemek

15 Reprezentáció Például Head=1 Tail=1 Üres a sor (Head = Tail)

16 Reprezentáció Például Head=1 Tail=2 10 In

17 Reprezentáció Például Head=1 Tail= In

18 Reprezentáció Például Head=1 Tail= In

19 Reprezentáció Például Head=1 Tail= In

20 Reprezentáció Például Head=2 Tail= Out

21 Reprezentáció Például Head=3 Tail= Out

22 Reprezentáció Például Head=3 Tail= In

23 Reprezentáció Például Head=3 Tail= In

24 Reprezentáció Például Head=3 Tail= In

25 Reprezentáció Például Head=3 Tail= In

26 Reprezentáció Például Head=3 Tail= In

27 Reprezentáció Például Head=3 Tail= In Tele a sor (Head = Tail)

28 Reprezentáció Például Head=3 Tail= Out Üres a sor (Head = Tail)

29 Reprezentáció Statikus, aritmetikai reprezentáció Mit tegyünk? Például: vezessünk be még egy jelz t a reprezentációba, ami mutatja, hogy a sor üres-e empt kezdetben igaz, kés bb vizsgáljuk, és megfelel en állítjuk vezessünk be még egy attribútumot a reprezentációba, ami mutatja, hogy hány elem van a sorban - count

30 Reprezentáció Reprezentáció dinamikus A tömb helyett Elem objektumok láncolata a sor Head referencia tárolja a sor elejét Tail referencia tárolja a sor végét Ha a Head és Tail nem mutat érvényes elemre, akkor üres A Head fel li végér l veszünk ki elemet A Tail fel li végére teszünk be elemet Tetsz leges mennyiség elem belefér

31 Reprezentáció Reprezentáció dinamikus Head Tail

32 Reprezentáció Reprezentáció dinamikus Head Tail 60

33 Reprezentáció Reprezentáció dinamikus Head Tail 60 10

34 Reprezentáció Reprezentáció dinamikus Head Tail

35 Reprezentáció Reprezentáció dinamikus Head Tail

36 Reprezentáció Reprezentáció dinamikus Head Tail

37 Reprezentáció Reprezentáció dinamikus Head Tail 1 3

38 Reprezentáció Reprezentáció dinamikus Head Tail

39 Reprezentáció Reprezentáció dinamikus Head Tail

40 Reprezentáció Reprezentáció dinamikus Head Tail

41 Reprezentáció Reprezentáció dinamikus Head Tail 20 30

42 Reprezentáció Reprezentáció dinamikus Head Tail 30

43 Sor megvalósítás

44 Implementáció statikus Implementáció statikus

45 Implementáció statikus Implementáció statikus

46 Implementáció statikus Implementáció statikus

47 Implementáció statikus Implementáció statikus

48 UML UML dinamikus Sor -Head: Elem -Tail: Elem +empty(): void +In(mit:int): void +Out(): int +First(): int +isempty(): boolean Elem +érték: int +következ : Elem

49 Implementáció dinamikus

50 Implementáció dinamikus Implementáció dinamikus

51 Implementáció dinamikus Implementáció dinamikus

52 Implementáció dinamikus Implementáció dinamikus

53 Lengyel forma

54 Kifejezések Kifejezések A helyes kifejezés Olyan m veleteket és értékeket tartalmaz, amelyek együttesen értelmezhet ek, van jelentésük Egy kifejezésnek is van típusa, például az egy szám típusú kifejezés Összetett kifejezések is megfogalmazhatók. Például (7 + 8). Összetett kifejezések esetén a részkifejezéseknek is helyeseknek kell lenniük Például x + y z

55 Kifejezések Inx, prex, postx Inx a + b Az el bbi kifejezés átírható, a m veleti jel áthelyezésével: Prex +ab Postx ab+ Prex megel zi a m veleti jel a két operandust Inx a m veleti jel a két operandus között van Postx m veleti jel a két operandus után van

56 Lengyel forma Lengyel forma Hagyományosan inx kifejezéseket használunk J. Lukasewitz lengyel matematikus használta el ször a post- és prex jelölést (Ezért lengyel forma) Példa I (a + b) (c + d) ab + cd + Példa II (a + b c) (d 3 4) abc +d3 4

57 Lengyel forma Lengyel forma El nyök A m veletek olyan sorrendben érkeznek, ahogy ki kell értékelni ket A m veletek mindig a operandusok után állnak (pstx) tehét két operandus beolvasása után végrehajtható a m velet (és eltárolható az eredmény újabb operandus gyanánt) Vermekkel lengyelformára lehet alakítani és az átalakított kifejezés kiértékelhet

58 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

59 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

60 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

61 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

62 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: 1 s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

63 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: 1 s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

64 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: 1 s verem: ( + Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

65 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: 1 s verem: ( + Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

66 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: 1 2 s verem: ( + Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

67 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: 1 2 s verem: ( + Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

68 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

69 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

70 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

71 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

72 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

73 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

74 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

75 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

76 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

77 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

78 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

79 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: ( Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

80 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

81 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

82 Átalakítás Lengyel formára alakítás Bemenet: ( ) ( 3 4 ) y sorozat: s verem: Nyitózárójel esetén tegyük át a zárójelet a verembe! Operandust írjuk ki! Operátor esetén: legfeljebb egy nyitózárójelig vegyük ki a veremb l a nagyobb prioritású operátorokat és írjuk ki, majd ezt az operátort tegyük be a verembe! Csukózárójel: a nyitózárójelig lev elemeket egyesével vegyük ki veremb l és írjuk ki, valamint vegyük ki a nyitózárójelet a veremb l! Kifejezés végét elérve írjuk ki a verem tartalmát.

83 Kiértékelés Lengyel formára alakítás y sorozat: v verem: Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

84 Kiértékelés Lengyel formára alakítás y sorozat: v verem: Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

85 Kiértékelés Lengyel formára alakítás y sorozat: v verem: 1 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

86 Kiértékelés Lengyel formára alakítás y sorozat: v verem: 1 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

87 Kiértékelés Lengyel formára alakítás y sorozat: v verem: 1 2 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

88 Kiértékelés Lengyel formára alakítás y sorozat: v verem: 1 2 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

89 Kiértékelés Lengyel formára alakítás y sorozat: v verem: 3 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

90 Kiértékelés Lengyel formára alakítás y sorozat: v verem: 3 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

91 Kiértékelés Lengyel formára alakítás y sorozat: v verem: 3 3 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

92 Kiértékelés Lengyel formára alakítás y sorozat: v verem: 3 3 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

93 Kiértékelés Lengyel formára alakítás y sorozat: v verem: Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

94 Kiértékelés Lengyel formára alakítás y sorozat: v verem: Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

95 Kiértékelés Lengyel formára alakítás y sorozat: v verem: 3 1 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

96 Kiértékelés Lengyel formára alakítás y sorozat: v verem: 3 1 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

97 Kiértékelés Lengyel formára alakítás y sorozat: v verem: 3 Operandus: tegyük a verembe Operátor: vegyük ki a második operandust, majd az els operandust a veremb l. Értékeljük ki és tegyük az eredményt a verem tetejére

98 Összefoglaló

99 Összefoglaló Összefoglaló Sor adatszerkezet Dinamikus és statikus implementáció Lengyelforma Vermekkel

100 Házi feladat Házi feladat Struktogrammal leírni A lengyelformára hozás algoritmusát A lengyelforma kiértékelésének algoritmusát (Ez nem kötelez, de lesz kötelez házifeladat a leprogramozása.)

101 Felhasznált el adások Felhasznált el adások 2. el adás Nyékyné Gaizler Judit 3. el adás Nyékyné Gaizler Judit (Illetve új anyagok)

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

Adatszerkezetek és algoritmusok

Adatszerkezetek és algoritmusok 2009. november 20. Bevezet El z órák anyagainak áttekintése Ismétlés Adatszerkezetek osztályozása Sor, Verem, Lengyelforma Statikus, tömbös reprezentáció Dinamikus, láncolt reprezentáció El z órák anyagainak

Részletesebben

infix kifejezés a+b ab+ +ab postfix kifejezés prefix kifejezés a+b ab+ +ab a+b ab+ +ab Készítette: Szabóné Nacsa Rozália

infix kifejezés a+b ab+ +ab postfix kifejezés prefix kifejezés a+b ab+ +ab a+b ab+ +ab Készítette: Szabóné Nacsa Rozália infix kifejezés a+b ab+ +ab Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu postfix kifejezés prefix kifejezés a+b ab+ +ab a+b ab+ +ab 4 Lengyelforma J. Lukasewitz lengyel matematikus használta el

Részletesebben

Aritmetikai kifejezések lengyelformára hozása

Aritmetikai kifejezések lengyelformára hozása Aritmetikai kifejezések lengyelformára hozása Készítették: Santák Csaba és Kovács Péter, 2005 ELTE IK programtervező matematikus szak Aritmetikai kifejezések kiértékelése - Gyakran felmerülő programozási

Részletesebben

Adatszerkezetek és algoritmusok

Adatszerkezetek és algoritmusok 2010. január 8. Bevezet El z órák anyagainak áttekintése Ismétlés Adatszerkezetek osztályozása Sor, Verem, Lengyelforma Statikus, tömbös reprezentáció Dinamikus, láncolt reprezentáció Láncolt lista Lassú

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

4. VEREM. Üres: V Verembe: V E V Veremből: V V E Felső: V E

4. VEREM. Üres: V Verembe: V E V Veremből: V V E Felső: V E 4. VEREM A mindennapokban is találkozunk verem alapú tároló struktúrákkal. Legismertebb példa a névadó, a mezőgazdaságban használt verem. Az informatikában legismertebb veremalkalmazások az eljáráshívások

Részletesebben

Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése

Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése Készítette: Gregorics Tibor Szabóné Nacsa Rozália Alakítsunk át egy infix formájú aritmetikai kifejezést postfix

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

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

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

A programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek:

A programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek: A programozás alapjai 1 Dinamikus adatszerkezetek:. előadás Híradástechnikai Tanszék Dinamikus adatszerkezetek: Adott építőelemekből, adott szabályok szerint felépített, de nem rögzített méretű adatszerkezetek.

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 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

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

Programozás II. labor

Programozás II. labor Programozás II. labor 1. rész Programozási tételek Öröklődés Interfészek Eseménykezelés Kivételkezelés Visszalépéses keresés Programozás II. Programozási tételek OOP alapok ismétlése Öröklődés Öröklődés

Részletesebben

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem A számítástudomány alapjai Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Bináris keresőfa, kupac Katona Gyula Y. (BME SZIT) A számítástudomány

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 3. gyakorlat Tömbök, programozási tételek Surányi Márton PPKE-ITK 2010.09.21. ZH! PlanG-ból papír alapú zárthelyit írunk el reláthatólag október 5-én! Tömbök Tömbök Eddig egy-egy

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

Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.

Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. Predikátumkalkulus Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. 1. Bevezet Nézzük meg a következ két kijelentést: Minden almához tartozik egy fa, amir l leesett. Bármely

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

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E 5. SOR A sor adatszerkezet is ismerős a mindennapokból, például a várakozási sornak számos előfordulásával van dolgunk, akár emberekről akár tárgyakról (pl. munkadarabokról) legyen szó. A sor adattípus

Részletesebben

Függvények határértéke, folytonossága

Függvények határértéke, folytonossága Függvények határértéke, folytonossága 25. február 22.. Alapfeladatok. Feladat: Határozzuk meg az f() = 23 4 5 3 + 9 a végtelenben és a mínusz végtelenben! függvény határértékét Megoldás: Vizsgáljuk el

Részletesebben

Gyakori elemhalmazok kinyerése

Gyakori elemhalmazok kinyerése Gyakori elemhalmazok kinyerése Balambér Dávid Budapesti M szaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Számítástudomány szakirány 2011 március 11. Balambér Dávid (BME) Gyakori

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ás II. 4. Dr. Iványi Péter

Programozás II. 4. Dr. Iványi Péter Programozás II. 4. Dr. Iványi Péter 1 inline függvények Bizonyos függvények annyira rövidek, hogy nem biztos hogy a fordító függvényhívást fordít, hanem inkább az adott sorba beilleszti a kódot. #include

Részletesebben

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)

Részletesebben

A raktártechnológia ismérvei. Tervezési elsődlegesség Elsőbbség a technikával szemben A raktártechnológia egyedi jellege

A raktártechnológia ismérvei. Tervezési elsődlegesség Elsőbbség a technikával szemben A raktártechnológia egyedi jellege Raktártechnológia A raktártechnológia mindazon tényezőket foglalja egységbe, amelyek a raktár működését jellemzik. A raktártehnológia a feladatoknak megfelelő raktári munkafolyamatok, módszerek és munkaerő

Részletesebben

9. Tétel Els - és másodfokú egyenl tlenségek. Pozitív számok nevezetes közepei, ezek felhasználása széls érték-feladatok megoldásában

9. Tétel Els - és másodfokú egyenl tlenségek. Pozitív számok nevezetes közepei, ezek felhasználása széls érték-feladatok megoldásában 9. Tétel Els - és másodfokú egyenl tlenségek. Pozitív számok nevezetes közepei, ezek felhasználása széls érték-feladatok megoldásában Bevezet : A témakörben els - és másodfokú egyenl tlenségek megoldásának

Részletesebben

Programozás I. - 11. gyakorlat

Programozás I. - 11. gyakorlat Programozás I. - 11. gyakorlat Struktúrák, gyakorlás Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 16, 2009 1 tar@dcs.vein.hu Tar

Részletesebben

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon: A Formális nyelvek vizsga teljesítése a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon: 1. Öt rövid kérdés megválaszolása egyenként 6 pontért, melyet minimum

Részletesebben

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN ELTE TáTK Közgazdaságtudományi Tanszék Gazdaságmatematika középhaladó szinten LINEÁRIS PROGRAMOZÁS Készítette: Gábor Szakmai felel s: Gábor Vázlat 1 2 3 4 A lineáris

Részletesebben

Bevezetés a Programozásba II 12. előadás. Adatszerkezetek alkalmazása (Standard Template Library)

Bevezetés a Programozásba II 12. előadás. Adatszerkezetek alkalmazása (Standard Template Library) Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 12. előadás (Standard Template Library) 2014.05.19. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

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

2. Rekurzió. = 2P2(n,n) 2 < 2P2(n,n) 1

2. Rekurzió. = 2P2(n,n) 2 < 2P2(n,n) 1 2. Rekurzió Egy objektum definícióját rekurzívnak nevezünk, ha a definíció tartalmazza a definiálandó objektumot. Egy P eljárást (vagy függvényt) rekurzívnak nevezünk, ha P utasításrészében előfordul magának

Részletesebben

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

Részletesebben

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

Részletesebben

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon: A Formális nyelvek vizsga teljesítése a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon: 1. Öt kis kérdés megválaszolása egyenként 6 pontért, melyet minimum 12

Részletesebben

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér Funkcionális programozás 2. el adás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2019, tavaszi félév Mir l volt szó? Követelmények, osztályozás Programozási

Részletesebben

Struktúra nélküli adatszerkezetek

Struktúra nélküli adatszerkezetek Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A

Részletesebben

Programozás I gyakorlat

Programozás I gyakorlat Programozás I. - 9. gyakorlat Sztringkezelés, mutatók Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 2, 2009 1 tar@dcs.vein.hu Tar

Részletesebben

FUNKCIONÁLIS PROGRAMOZÁS

FUNKCIONÁLIS PROGRAMOZÁS FUNKCIONÁLIS PROGRAMOZÁS A funkcionális programozás néhány jellemzője Funkcionális programozás 1-2 Funkcionális, más néven applikatív programozás Funkcionális = függvényalapú, függvényközpontú Applikatív

Részletesebben

A C programozási nyelv III. Pointerek és tömbök.

A C programozási nyelv III. Pointerek és tömbök. A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,

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

Chomsky-féle hierarchia

Chomsky-féle hierarchia http://www.cs.ubbcluj.ro/~kasa/formalis.html Chomsky-féle hierarchia G = (N, T, P, S) nyelvtan: 0-s típusú (általános vagy mondatszerkezet ), ha semmilyen megkötést nem teszünk a helyettesítési szabályaira.

Részletesebben

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

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 15. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. október 15. Leghosszabb 3D vektorok kikeresése 1 #i n c l u d e 2 #i n c l u d e 3 #d e f i n e MAX 1000

Részletesebben

A C programozási nyelv III. Pointerek és tömbök.

A C programozási nyelv III. Pointerek és tömbök. A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,

Részletesebben

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit

Részletesebben

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

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2019. augusztus 29. Feladat: írjuk ki az els 10 természetes szám négyzetét! #i n c l u d e i n t main ( v o i d ) { p r

Részletesebben

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus Ítéletkalkulus Logikai alapfogalmak, m veletek, formalizálás, logikai ekvivalencia, teljes diszjunktív normálforma, tautológia. 1. Bevezet A matematikai logikában az állításoknak nem a tényleges jelentésével,

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

Elemi adatszerkezetek

Elemi adatszerkezetek 2017/12/16 17:22 1/18 Elemi adatszerkezetek < Programozás Elemi adatszerkezetek Szerző: Sallai András Copyright Sallai András, 2011, 2014 Licenc: GNU Free Documentation License 1.3 Web: http://szit.hu

Részletesebben

: s s t 2 s t. m m m. e f e f. a a ab a b c. a c b ac. 5. Végezzük el a kijelölt m veleteket a változók lehetséges értékei mellett!

: s s t 2 s t. m m m. e f e f. a a ab a b c. a c b ac. 5. Végezzük el a kijelölt m veleteket a változók lehetséges értékei mellett! nomosztással a megoldást visszavezethetjük egy alacsonyabb fokú egyenlet megoldására Mivel a 4 6 8 6 egyenletben az együtthatók összege 6 8 6 ezért az egyenletnek gyöke az (mert esetén a kifejezés helyettesítési

Részletesebben

Algoritmusok, adatszerkezetek, objektumok

Algoritmusok, adatszerkezetek, objektumok Algoritmusok, adatszerkezetek, objektumok 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 14. Sergyán (OE NIK) AAO 01 2011.

Részletesebben

2019, Funkcionális programozás. 5. el adás. MÁRTON Gyöngyvér

2019, Funkcionális programozás. 5. el adás. MÁRTON Gyöngyvér Funkcionális programozás 5. el adás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2019, tavaszi félév Mir l volt szó? a Haskell kiértékelési stratégiája

Részletesebben

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1 Halmazok 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 2 A fejezet legfontosabb elemei Halmaz megadási módjai Halmazok közti műveletek (metszet,

Részletesebben

21. Adatszerkezetek Az adattípus absztrakciós szintjei Absztrakt adattípus (ADT) Absztrakt adatszerkezet (ADS) Egyszerű adattípusok Tömbök

21. Adatszerkezetek Az adattípus absztrakciós szintjei Absztrakt adattípus (ADT) Absztrakt adatszerkezet (ADS) Egyszerű adattípusok Tömbök 2. Adatszerkezetek Az adattípus absztrakciós szintjei http://people.inf.elte.hu/fekete/docs_/adt_ads.pdf Absztrakt adattípus (ADT) Az adattípust úgy specifikáljuk, hogy szerkezetére, reprezentálására,

Részletesebben

Informatikai Kar. 3. fejezet. alapismeretek. Giachetta Roberto

Informatikai Kar. 3. fejezet. alapismeretek. Giachetta Roberto Informatikai Kar 3. fejezet alapismeretek Giachetta Roberto Actually I made up the term 'Object-Oriented', and I can tell you I did not have C++ in mind. (Alan Kay) adottak) 3:3 Feladat: Stack) adatszerkezetet

Részletesebben

Diszkrét matematika 1. középszint

Diszkrét matematika 1. középszint Diszkrét matematika 1. középszint 2017. sz 1. Diszkrét matematika 1. középszint 3. el adás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra

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

Predikátumkalkulus. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. Vizsgáljuk meg a következ két kijelentést.

Predikátumkalkulus. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. Vizsgáljuk meg a következ két kijelentést. Predikátumkalkulus Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. 1. Bevezet Vizsgáljuk meg a következ két kijelentést. Minden almához tartozik egy fa, amir l leesett.

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

1.előadás Tornai Kálmán

1.előadás Tornai Kálmán 1.előadás Tornai Kálmán tornai.kalman@itk.ppke.hu Általános tudnivalók Előadás: 2 óra (Labor)gyakorlat: 3 óra Előismeretek: Kötelező: Bevezetés a programozásba I-II. Algebra és diszkrét matematika I. II.

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

Kibernetika korábbi vizsga zárthelyi dolgozatokból válogatott tesztkérdések Figyelem! Az alábbi tesztek csak mintául szolgálnak a tesztkérdések megoldásához, azaz a bemagolásuk nem jelenti a tananyag elsajátítását

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

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és versus utasítás C/C++: kifejezés plusz pontosvessző: utasítás kiértékeli a kifejezést jellemzően: mellékhatása is van például: értékadás Ada: n = 5;

Részletesebben

A programozás alapjai előadás. A C nyelv típusai. Egész típusok. C típusok. Előjeles egészek kettes komplemens kódú ábrázolása

A programozás alapjai előadás. A C nyelv típusai. Egész típusok. C típusok. Előjeles egészek kettes komplemens kódú ábrázolása A programozás alapjai 1 A C nyelv típusai 4. előadás Híradástechnikai Tanszék C típusok -void - skalár: - aritmetikai: - egész: - eger - karakter - felsorolás - lebegőpontos - mutató - függvény - union

Részletesebben

1.1 Szakdolgozat témája... 2. 1.2 A Program célja... 2. 1.4 A használt technológiák ismertetése... 2. 2 A program megtervezése...

1.1 Szakdolgozat témája... 2. 1.2 A Program célja... 2. 1.4 A használt technológiák ismertetése... 2. 2 A program megtervezése... 1 Bevezető... 2 1.1 Szakdolgozat témája... 2 1.2 A Program célja... 2 1.3 Fejlesztői környezet... 2 1.4 A használt technológiák ismertetése... 2 2 A program megtervezése... 4 2.1 Az ablak kinézetének megtervezése:...

Részletesebben

2018, Funkcionális programozás

2018, Funkcionális programozás Funkcionális programozás 3. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? A Haskell programozási nyelv főbb

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

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

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

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 2. előadás Szintaktikai alapok Alapvető típusok, ismétlés C# típus.net típus Méret (byte) Leírás byte System.Byte 1Előjel nélküli 8 bites egész szám (0..255) char

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

Adatszerkezetek és algoritmusok Geda, Gábor

Adatszerkezetek és algoritmusok Geda, Gábor Adatszerkezetek és algoritmusok Geda, Gábor Adatszerkezetek és algoritmusok Geda, Gábor Publication date 2013 Szerzői jog 2013 Eszterházy Károly Főiskola Copyright 2013, Eszterházy Károly Főiskola Tartalom

Részletesebben

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. HA 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) HA 2 Halmazok HA 3 Megjegyzések A halmaz, az elem és az eleme fogalmakat nem definiáljuk, hanem alapfogalmaknak

Részletesebben

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási

Részletesebben

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok . fejezet Bevezetés Algebrai feladatok J. A számok gyakran használt halmazaira a következ jelöléseket vezetjük be: N a nemnegatív egész számok, N + a pozitív egész számok, Z az egész számok, Q a racionális

Részletesebben

8. gyakorlat Pointerek, dinamikus memóriakezelés

8. gyakorlat Pointerek, dinamikus memóriakezelés 8. gyakorlat Pointerek, dinamikus memóriakezelés Házi ellenőrzés Egy számtani sorozat első két tagja A1 és A2. Számítsa ki a sorozat N- dik tagját! (f0051) Egy mértani sorozat első két tagja A1 és A2.

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

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás Számítástechnika II. BMEKOKAA153 2. Előadás Dr. Bécsi Tamás Tömbök (Arrays) Definíció: típus[] név; (pld. int[] szamok; ) Inicializálás: int[] szamok = new int[4]; int[] szamok = 1,2,4,3,5}; int[] szamok

Részletesebben

Egyirányban láncolt lista

Egyirányban láncolt lista Egyirányban láncolt lista A tárhely (listaelem) az adatelem értékén kívül egy mutatót tartalmaz, amely a következő listaelem címét tartalmazza. A láncolt lista első elemének címét egy, a láncszerkezeten

Részletesebben

Algoritmusok és adatszerkezetek I. 1. előadás

Algoritmusok és adatszerkezetek I. 1. előadás Algoritmusok és adatszerkezetek I 1 előadás Típusok osztályozása Összetettség (strukturáltság) szempontjából: elemi (vagy skalár, vagy strukturálatlan) összetett (más szóval strukturált) Strukturálási

Részletesebben

.Net adatstruktúrák. Készítette: Major Péter

.Net adatstruktúrák. Készítette: Major Péter .Net adatstruktúrák Készítette: Major Péter Adatstruktúrák általában A.Net-ben számos nyelvvel ellentétben nem kell bajlódnunk a változó hosszúságú tömbök, listák, sorok stb. implementálásával, mert ezek

Részletesebben

Sorozatok és Sorozatok és / 18

Sorozatok és Sorozatok és / 18 Sorozatok 2015.11.30. és 2015.12.02. Sorozatok 2015.11.30. és 2015.12.02. 1 / 18 Tartalom 1 Sorozatok alapfogalmai 2 Sorozatok jellemz i 3 Sorozatok határértéke 4 Konvergencia és korlátosság 5 Cauchy-féle

Részletesebben

Adatszerkezetek és algoritmusok

Adatszerkezetek és algoritmusok 2012. október 18. Ismétlés El z órai anyagok áttekintése Ismétlés Specikáció Típusok, kifejezések, m veletek Adatok ábrázolása a memóriában Vezérlési szerkezetek Függvények Osztályok, objektumok Paraméterátadás

Részletesebben

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10. Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 /

Részletesebben

Gyártórendszerek Dinamikája. Irányítástechnikai alapfogalmak

Gyártórendszerek Dinamikája. Irányítástechnikai alapfogalmak GyRDin-11 p. 1/19 Gyártórendszerek Dinamikája Irányítástechnikai alapfogalmak Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu GyRDin-11 p. 2/19 Tartalom

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

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

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

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. április 4. Számok rendezése Feladat: Fejlesszük tovább úgy a buborék rendez algoritmust bemutató példát, hogy a felhasználó adhassa meg a

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

Tájékoztató. Értékelés Összesen: 32 pont

Tájékoztató. Értékelés Összesen: 32 pont A 10/2007 (II. 27.) SzMM rendelettel módosított 1/2006 (II. 17.) OM rendelet Országos Képzési Jegyzékről és az Országos Képzési Jegyzékbe történő felvétel és törlés eljárási rendjéről alapján. Szakképesítés,

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

A lista eleme. mutató rész. adat rész. Listaelem létrehozása. Node Deklarálás. Létrehozás. Az elemet nekünk kell bef zni a listába

A lista eleme. mutató rész. adat rész. Listaelem létrehozása. Node Deklarálás. Létrehozás. Az elemet nekünk kell bef zni a listába A lista eleme 0 adat rész mutató rész Listaelem létrehozása p: Node 0 0 3 0 Az elemet nekünk kell bef zni a listába Deklarálás struct Node { int int value; Node* next; next; adattagok Létrehozás Node*

Részletesebben

Absztrakt adatstruktúrák A bináris fák

Absztrakt adatstruktúrák A bináris fák ciós lámpa a legnagyobb élettartamú és a legjobb hatásfokú fényforrásnak tekinthető, nyugodtan mondhatjuk, hogy a jövő fényforrása. Ezt bizonyítja az a tény, hogy ezen a területen a kutatások és a bejelentett

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

A relációelmélet alapjai

A relációelmélet alapjai A relációelmélet alapjai A reláció latin eredet szó, jelentése kapcsolat. A reláció, két vagy több nem feltétlenül különböz halmaz elemei közötti viszonyt, kapcsolatot fejez ki. A reláció értelmezése gráffal

Részletesebben

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

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 31. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. március 31. Városok közötti távolság Feladat: két város nevének beolvasása, városok közötti távolság megjelenítése. Kilépés azonos városok

Részletesebben