Adatszerkezetek és algoritmusok

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

Download "Adatszerkezetek és algoritmusok"

Átírás

1 2012. október 18.

2 Ismétlés

3 El z órai anyagok áttekintése Ismétlés Ismerjük: Az algoritmizálás alapjait Kifejezések fogalmát Vezérlési szerkezeteket Egyszer programozási tételeket... és néhány példát

4 Specikáció Feladat specikációja Miel tt az algoritmusainkat megtervezzük, leírjuk, programozzuk specikálni kell a feladatot Mi az amit bemenetként megkapunk kimenetként adni kell el kell végezni Ezek mindegyike feltétel! Feltételezzük, hogy a bemenetre/kimenetre igaz az állítás A programunk akkor lesz helyes, ha a feltételek teljesülnek!

5 Specikáció Feladat specikációja Példa a négyzetgyök számításra Bemenet: egy szám, aminek a négyzetgyökét keressük: x Kimenet: egy olyan szám y, amire igaz, hogy y 2 = x illetve x = y Feladat: a program számolja ki a bemenet négyzetgyökét Tehát az el feltétel azt köti ki, hogy egy számot kapok az utófeltétel pedig azt, hogy az eredmény a bemenet négyzetgyöke lesz

6 Típusok és m veletek

7 Típus fogalma Típus fogalma Deníció Típusnak nevezzük egy megadott értékhalmazt és az azokon értelmezett m veletek összességét Példa típusra 1. Egészek: Értékek: , M veletek: + és Példa típusra 2. Logikai: Értékek: igaz, hamis, M veletek:, és Példa típusra 3. Karakter: Értékek: a... z, M veletek: < (reláció a bet rend szerint)

8 Adatok ábrázolása Adatok ábrázolása a memóriában Két állapot tárolható zikai szinten matematikailag: 0 és 1 Egyetlenegy érték a bit, ez lehet 0 vagy 1 8 biten lehet ábrázolni egy bájtot, kettes számrendszerb l tízesre átírva ez 0 és 255 közötti számokat teszi lehet vé A bájtokat kett hatványai szerint szokás további egységekbe foglalni, szélesítend az ábrázolható értékek halmazát. Két bájt (16 bit): 0 és között Négy bájt (32 bit): 0 és között (32-bites rendszerekben ezt szónak (word) is hívják)

9 Adatok ábrázolása Adatok ábrázolása a memóriában Két állapot tárolható zikai szinten matematikailag: 0 és 1 Egyetlenegy érték a bit, ez lehet 0 vagy 1 8 biten lehet ábrázolni egy bájtot, kettes számrendszerb l tízesre átírva ez 0 és 255 közötti számokat teszi lehet vé A bájtokat kett hatványai szerint szokás további egységekbe foglalni, szélesítend az ábrázolható értékek halmazát. Két bájt (16 bit): 0 és között Négy bájt (32 bit): 0 és között (32-bites rendszerekben ezt szónak (word) is hívják)

10 Adatok ábrázolása Adatok ábrázolása a memóriában A tárolni kívánt érték típusától függ a számok jelentése... Például 16 biten (2 bájton) tárolni lehet: El jel nélküli egész számokat ( ) El jeles egész számokat ( ) (Els bit el jelbit) Karaktereket (úgynevezett Unicode táblázat alapján) Minden egyes számértékhez egy karaktergraka rendelhet...

11 Adatok ábrázolása Adatok ábrázolása a memóriában Mit tudunk tárolni még: Logikai értékeket Racionális számokat, meghatározott tizedes pontossággal Karaktersorozatokat (szövegeket) Memóriarekeszek címét Programutasításokat (az egyes bájtoknak utasítások felelnek meg) Dátumot, id t (például eltelt másodpercekben mérve) Az el z ek sorozatát vektorok formájában...

12 Adatok ábrázolása Adatok ábrázolása a memóriában Hogyan történik mindez? A memória rekeszekre van osztva A rekeszek hossza rendszerenként más, például 32 bit Egy rekeszben egy érték van A programozó (így a gépi utasításokra fordított program) tudja, hogy melyik rekeszben milyen típusú érték van, hogy kell értelmezni A rekeszeknek tudunk nevet adni, ezek a változók Változókkal rekeszeket lehet együttesen is kezelni (összefogni) Pédául tömbök, karaktersorozatok,...

13 Adatok ábrázolása Valós számok a memóriában A valós számok trükkje: X 2 Y alakban ábrázoljuk Pl.: 32 bit esetén 23 bit az X és 8 bit az Y, illetve el jelbit Lebeg pontos számábrázolás (egy IEEE szabvány esetén) 23db { }} { Az X minden esetben 1. xxxxxxxxxxxxxxxxxxxxxxx alakú, ahol az x egy bináris érték Az exponens adja meg a kettedes pont helyét A vezet egyest valójában nem tároljuk, mivel mindig egy

14 Adatok ábrázolása Tárolás következményei Fontos tudni az értékek típusát, mert legbelül minden egyforma Nem végtelen a precizitás számok esetén Egy bájton tárolva, ha vesszük azt a kifejezést, hogy , akkor is kapunk eredményt, mégpedig azt hogy = 0 A jelenséget túlcsordulásnak hívjuk Racionális számoknál ha két eltér nagyságrend számot adunk össze, például 23 kettedesjegynél nagyobb a nagyságrendbeli különbség, akkor A 0: A + B = B el fordulhat Nem mindig igaz, pontosságvesztés miatt, hogy (x/y) y = x, tehát valós számoknál ne használjunk egyenl ségvizsgálatot

15 Adatok ábrázolása Tárolás következményei Fontos tudni az értékek típusát, mert legbelül minden egyforma Nem végtelen a precizitás számok esetén Egy bájton tárolva, ha vesszük azt a kifejezést, hogy , akkor is kapunk eredményt, mégpedig azt hogy = 0 A jelenséget túlcsordulásnak hívjuk Racionális számoknál ha két eltér nagyságrend számot adunk össze, például 23 kettedesjegynél nagyobb a nagyságrendbeli különbség, akkor A 0: A + B = B el fordulhat Nem mindig igaz, pontosságvesztés miatt, hogy (x/y) y = x, tehát valós számoknál ne használjunk egyenl ségvizsgálatot

16 Adatok ábrázolása Tárolás következményei Fontos tudni az értékek típusát, mert legbelül minden egyforma Nem végtelen a precizitás számok esetén Egy bájton tárolva, ha vesszük azt a kifejezést, hogy , akkor is kapunk eredményt, mégpedig azt hogy = 0 A jelenséget túlcsordulásnak hívjuk Racionális számoknál ha két eltér nagyságrend számot adunk össze, például 23 kettedesjegynél nagyobb a nagyságrendbeli különbség, akkor A 0: A + B = B el fordulhat Nem mindig igaz, pontosságvesztés miatt, hogy (x/y) y = x, tehát valós számoknál ne használjunk egyenl ségvizsgálatot

17 Adatok ábrázolása Tárolás következményei Fontos tudni az értékek típusát, mert legbelül minden egyforma Nem végtelen a precizitás számok esetén Egy bájton tárolva, ha vesszük azt a kifejezést, hogy , akkor is kapunk eredményt, mégpedig azt hogy = 0 A jelenséget túlcsordulásnak hívjuk Racionális számoknál ha két eltér nagyságrend számot adunk össze, például 23 kettedesjegynél nagyobb a nagyságrendbeli különbség, akkor A 0: A + B = B el fordulhat Nem mindig igaz, pontosságvesztés miatt, hogy (x/y) y = x, tehát valós számoknál ne használjunk egyenl ségvizsgálatot

18 Adatok ábrázolása Tárolás következményei Fontos tudni az értékek típusát, mert legbelül minden egyforma Nem végtelen a precizitás számok esetén Egy bájton tárolva, ha vesszük azt a kifejezést, hogy , akkor is kapunk eredményt, mégpedig azt hogy = 0 A jelenséget túlcsordulásnak hívjuk Racionális számoknál ha két eltér nagyságrend számot adunk össze, például 23 kettedesjegynél nagyobb a nagyságrendbeli különbség, akkor A 0: A + B = B el fordulhat Nem mindig igaz, pontosságvesztés miatt, hogy (x/y) y = x, tehát valós számoknál ne használjunk egyenl ségvizsgálatot

19 Adatok ábrázolása Tárolás következményei Fontos tudni az értékek típusát, mert legbelül minden egyforma Nem végtelen a precizitás számok esetén Egy bájton tárolva, ha vesszük azt a kifejezést, hogy , akkor is kapunk eredményt, mégpedig azt hogy = 0 A jelenséget túlcsordulásnak hívjuk Racionális számoknál ha két eltér nagyságrend számot adunk össze, például 23 kettedesjegynél nagyobb a nagyságrendbeli különbség, akkor A 0: A + B = B el fordulhat Nem mindig igaz, pontosságvesztés miatt, hogy (x/y) y = x, tehát valós számoknál ne használjunk egyenl ségvizsgálatot

20 Típusok osztályozása Általános osztályozása a típusoknak A programozási nyelvekben el forduló típusokat az alábbiak szerint lehet csoportosítani: Típusok Összetett típusok Elemi típusok Iterált Skalár Mutató Unió Diszkrét Valós Direktszotzat Felsorolási Fixpontos... Egész Lebeg pontos

21 Beépített alaptípusok JAVA nyelven Primitívek A továbbiakban a JAVA nyelv alaptípusait vesszük sorra A Java objektum alapú nyelv, azaz néhány kivételt l eltekintve minden típusa objektum. Amik nem objektumok, azokat primitíveknek nevezzük. Primitívek Java-ban: boolean: Logikai típus byte: 8-bites el jeles egész short: 16-bites el jeles egész int: 32-bites el jeles egész long: 64-bites el jeles egész float: 32-bites lebeg pontos racionális szám double: 64-bites lebeg pontos racionális szám char: 16-bites Unicode karakter

22 Beépített alaptípusok JAVA nyelven Primitívek A továbbiakban a JAVA nyelv alaptípusait vesszük sorra A Java objektum alapú nyelv, azaz néhány kivételt l eltekintve minden típusa objektum. Amik nem objektumok, azokat primitíveknek nevezzük. Primitívek Java-ban: boolean: Logikai típus byte: 8-bites el jeles egész short: 16-bites el jeles egész int: 32-bites el jeles egész long: 64-bites el jeles egész float: 32-bites lebeg pontos racionális szám double: 64-bites lebeg pontos racionális szám char: 16-bites Unicode karakter

23 Beépített alaptípusok JAVA nyelven Csomagoló osztályok Minden egyes primitív típusnak létezik egy objektum párja, amit csomagoló osztálynak hívunk. Boolean: boolean Byte: byte Short: short Integer: int Long: long Float: oat Double: double Character: char Objektum alapú programozási szemlélet miatt vannak. Értékük csak úgy változtatható meg, hogy új példány jön létre, aminek ugyanaz lesz a változóneve. (Egyúttal a régi érték példány elérhetetlen lesz)

24 Beépített alaptípusok JAVA nyelven Tömbök A tömb ahhoz hasonlít, amit matematikában vektornak hívunk. A memóriában folytonosan több ugyanolyan típusú változó foglalódik le deklarációkor, amelyet indexelten lehet elérni. Java nyelven egy egészekb l álló tömb deklarációja a következ képpen történik: Deklaráció tombtipusa [] tombneve ; Egy létrehozott tömb hossza nem változtatható meg a kés bbiekben, viszont lehet ség van újabb, nagyobb deklarációjára.

25 Beépített alaptípusok JAVA nyelven Tömbök értékadás Egy tömbnek értéket adni többféleképpen lehet: Értékadás Felsorolással int [] tombneve; tombneve = {1,2,3,4,5}; Ugyanakkor létrehozható egy tömb kezd értékek nélkül is, csak a méret megadásával: Értékadás Üres létrehozása int [] tombneve; tombneve = new int[10];

26 Beépített alaptípusok JAVA nyelven Tömbök értékadás Illetve a tömb értékadásánál lehet ség van egy másik tömbbel egyenl vé tenni Értékadás Másik tömbbel int [] masiktomb = {0, 1}; int [] egyiktomb = masiktomb; Fontos, hogy ekkor a memóriában egyetlen tömb lesz csak, ugyanakkor kétféle változónévvel lehet elérni. (B vebben az objektumoknál.)

27 Beépített alaptípusok JAVA nyelven Tömbök használat A tömbök tartalmát indexeléssel érjük el, a számozás 0-val kezd dik. Például int [] egyiktomb = new int[10]; Az el z tömb esetén indexek érvényesek, a többi kiindexel a tömbb l. Egy tömb méretének megismerését a következ példa mutatja be: Tömbméret int tombmerete = egyiktomb.length;

28 Beépített alaptípusok JAVA nyelven Tömb, mint típus Deklaráció tombtipusa [] tombneve ; A tömbök is típusok, azaz szerepelhetnek tömb objektum létrehozási paramétereként: Deklaráció tipus [] [] matrix; Ezáltal két-, vagy többdimenziós tömböket is létre lehet hozni, a korlát a memória mérete (Kétdimenziós vektorok mátrixok)

29 Karakterláncok Karakterláncok Nagyon hasznos típus a karakterlánc String (objektum) Deklaráció String s; Értéket adni idéz jelek között megadott szöveggel lehet: Értékadás String s = "Szervusz világ"; Ha idéz jelet szeretnénk belevinni a szövegbe akkor: Idéz jelek egy karakterláncban String s = "Szervusz \"szép\" világ";

30 Karakterláncok Karakterláncok Hasonlóan a csomagoló típusokhoz a karakterláncok sem változtathatóak meg. Amikor új értéket adunk, akkor egy új jön létre ugyanazzal a névvel a memóriában. Karakterek száma egy Stringben: Karakterlánc mérete String s = "Szervusz világ"; int meret = s.length();

31 M veletek M veletek

32 M veletek számokon Egész típusokon végzett m veletek A következ m veletek értelmezettek egész típusokon: (Precedencia) Növelés, csökkentés: ++, -- Multiplikatív: *, /, % (Szorzás, Maradékos osztás, és maradékos osztás maradéka) Additív: +, - Bitenkénti eltolás: <<, >> (Balra, jobbra) Bitenkénti m veletek:, &,, (Negálás, és, vagy, kizáró vagy) Relációs: ==,!=, <, <=, >, >= Unáris: +, - (el jelek) Értékadás: A változónak új értéket ad. = (Kombinálható más m velettel: +=)

33 M veletek számokon Racionális típusokon végzett m veletek A következ m veletek értelmezettek racionális típusokon: (Precedencia) Növelés, csökkentés: ++, -- Multiplikatív: *, /, % (Szorzás, Osztás, és maradékos osztás maradéka) Additív: +, - Relációs: ==,!=, <, <=, >, >= Unáris: +, - (el jelek) Értékadás: A változónak új értéket ad. = (Kombinálható más m velettel: +=)

34 M veletek számokon Érdekességek Java esetén minden értéknek van valamilyen típusa a kódban. Példa egészre Példa valósra F Ha egészeket osztunk, egészet kapunk eredményül, ha valósakat, akkor valóst. Példa egészre 10 / 3 = 3 Példa valósra 10D / 3 =

35 M veletek logikai értéken Logikai típusokon végzett m veletek A következ m velek értelmezettek logikai típusokon: Tagadás:! Relációs: ==,!= Logikai és, vagy: &&, Értékadás: A változónak új értéket ad. = (Az érték true vagy false)

36 M veletek karakterláncokon Karakterláncokon végzett m veletek A következ m veletek értelmezettek karakterláncokon Értékadás: A változónak új értéket ad. = Összef zés: + Több különböz karakterláncot f z össze

37 Függvények

38 Bevezetés Függvények bevezetés Olyan (rész)programok, amelyeknek bemen paramétereik vannak m veleteket végeznek valamilyen eredménnyel kimenettel rendelkeznek Minden Java programban van egy függvény, a main függvény, ami a program elindulásakor kezd futni Ha a main függvény futása befejez dik, akkor a program is befejez dik A main további függvényeket hív(hat) meg, illetve a függvények is továbbiakat hívhatnak meg...

39 Bevezetés Függvények bevezetés Példa main függvényre public static void main(string [] arguments) { int i = 10; int negyzet = i*i; KIIR (negyzet); } Ez a program kiszámolja az i 2, az i = 10 és kiírja.

40 Függvényhívás részletei Függvényhívás Területszámítás public double terulet(double oldal, double magassag) { return (oldal * magassag) / 2; } public static void main(string [] arguments) { double side = 10; double height = 8; double eredmeny = terulet(side, height); } Ez a program egy háromszög területét számoló függvényt hív meg.

41 Függvényhívás részletei Függvényhívás Területszámítás public double terulet(double oldal, double magassag) { return (oldal * magassag) / 2; } public static void main(string [] arguments) { double side = 10; double height = 8; double eredmeny = terulet(side, height); } Figyeljük meg a függvényhívást!

42 Függvényhívás részletei Függvényhívás aktuális paraméterek Területszámítás public double terulet(double oldal, double magassag) { return (oldal * magassag) / 2; } public static void main(string [] arguments) { double side = 10; double height = 8; double eredmeny = terulet(side, height); } Figyeljük meg a függvény aktuális paramétereit!

43 Függvényhívás részletei Függvényhívás formális paraméterek Területszámítás public double terulet(double oldal, double magassag) { return (oldal * magassag) / 2; } public static void main(string [] arguments) { double side = 10; double height = 8; double eredmeny = terulet(side, height); } Figyeljük meg a függvény formális paramétereit!

44 Függvényhívás részletei Függvényhívás paraméterátadás Területszámítás public double terulet(double oldal, double magassag) { return (oldal * magassag) / 2; } public static void main(string [] arguments) { double side = 10; double height = 8; double eredmeny = terulet(10, 8); } Paraméterek behelyettesítése

45 Függvényhívás részletei Függvényhívás számítás Területszámítás public double terulet(double 10, double 8) { return (10 * 8) / 2; // = 40 } public static void main(string [] arguments) { double side = 10; double height = 8; double eredmeny = terulet(10, 8); } Eredmény kiszámítása

46 Függvényhívás részletei Függvényhívás visszatérési érték Területszámítás public double terulet(double 10, double 8) { return (10 * 8) / 2; // = 40 } public static void main(string [] arguments) { double side = 10; double height = 8; double eredmeny = 40; } Visszatérési érték

47 Függvényszignatúra Függvényszignatúra Függvényszignatúra visszatérésitipus fuggvenynev (parameterdeklarációk ) A visszatérés típusát hívják a függvény típusának is A függvény neve bármi, kivéve a nyelv fenntartott szavai A paramétereknél vessz vel elválasztott változódeklarációk A függvény szignatúra alapján használjuk a függvényt

48 Függvénytörzs Függvénytörzs A függvénytörzs m veleteket végez Használhatja a bemen paramétereket, új változókat,... Benne van egy return, amit a visszatérési típusnak megfelel kifejezés követ ez lesz a függvény visszatérési értéke Lehet több return is, például elágazás esetén A return utasítással befejez dik a függvény, még akkor is, ha van mögötte további utasítás Annak a függvénynek, aminek nincs visszatérési típusa, void a típusa Semmilyen típus, nem hozható létre bel le példány

49 Paraméterek Paraméterek Formális paraméterek a függvényszignatúrában vannak deklalrálva, új változók! Ezek a függvény hívásakor felveszik az aktuális paraméterek értékét (hogy hogyan azt kés bb) Tehát a formális és aktuális paraméter más-más terület a memóriában. A változónév azonban lehet ugyanaz! A visszatérési érték, a függvény befejeztekor, annak az értékadó utasításnak a jobb oldala lesz, amiben a függvény neve szerepelt A függvények aktuális paraméterei lehetnek további függvényhívások!

50 Változók láthatósága Változók láthatósága Egy változó láthatósági körének nevezzük azt a részt a programban, ahol az adott változó és általa képviselt memóriaterület elérhet, módosítható. Egy változó hatáskörének nevezzük azt a részt programban, ahol a változó deklarációja érvényben van. Egy függvényen belül deklarált változó csak a függvényen belül látható és arra terjed ki a hatásköre. Egy utasításblokkon belül deklarált változó hasonlóan viselkedik az el z höz. Ezeket lokális változónak hívjuk.

51 Változók láthatósága Változók láthatósága Léteznek globális változók is, amelyeket több függvényb l el lehet érni, használatuk azonban nem javasolt. Példa a hatáskörre int i = 10; int j = 100; { int i = 50; } i++; j++; Az els i-nek a teljes példára kiterjed a határköre, azonban a bels részben nem látható. A második i csak a bels részben látható és a hatásköre is ugyanaz. Nem engedi látni a küls i-t, elfedi azt Az j a programblokkon belül is látható!

52 Objektum Orientált Programozás

53 Valós világ modellezése Valós világ modellezése Az ember a világ megértéséhez modelleket épít, alábbi alapelvekkel Absztrakció az a szemléletmód, amelynek segítségével a valós világot leegyszer sítjük, úgy, hogy csak a lényegre, a cél elérése érdekében feltétlenül szükséges részekre összpontosítunk elvonatkoztatunk a számunkra pillanatnyilag nem fontos, közömbös információktól és kiemeljük az elengedhetetlen fontosságú részleteket Megkülönböztetés az objektumok a modellezend valós világ egy-egy önálló egységét jelöli az objektumokat a számunkra lényeges tulajdonságaik, viselkedési módjuk alapján megkülönböztetjük

54 Valós világ modellezése Valós világ modellezése Az ember a világ megértéséhez modelleket épít, alábbi alapelvekkel Absztrakció az a szemléletmód, amelynek segítségével a valós világot leegyszer sítjük, úgy, hogy csak a lényegre, a cél elérése érdekében feltétlenül szükséges részekre összpontosítunk elvonatkoztatunk a számunkra pillanatnyilag nem fontos, közömbös információktól és kiemeljük az elengedhetetlen fontosságú részleteket Megkülönböztetés az objektumok a modellezend valós világ egy-egy önálló egységét jelöli az objektumokat a számunkra lényeges tulajdonságaik, viselkedési módjuk alapján megkülönböztetjük

55 Valós világ modellezése Valós világ modellezése Osztályozás Az objektumokat kategóriákba, osztályokba soroljuk, oly módon, hogy a hasonló tulajdonságokkal rendelkez objektumok egy osztályba, a különböz vagy eltér tulajdonságokkal rendelkez objektumok pedig külön osztályokba kerülnek Az objektum-osztályok hordozzák a hozzájuk tartozó objektumok jellemz it, objektumok mintáinak tekinthet k Általánosítás, specializálás Az objektumok között állandóan hasonlóságokat vagy különbségeket keresünk, hogy ezáltal b vebb vagy sz kebb kategóriákba, osztályokba soroljuk ket

56 Valós világ modellezése Valós világ modellezése Osztályozás Az objektumokat kategóriákba, osztályokba soroljuk, oly módon, hogy a hasonló tulajdonságokkal rendelkez objektumok egy osztályba, a különböz vagy eltér tulajdonságokkal rendelkez objektumok pedig külön osztályokba kerülnek Az objektum-osztályok hordozzák a hozzájuk tartozó objektumok jellemz it, objektumok mintáinak tekinthet k Általánosítás, specializálás Az objektumok között állandóan hasonlóságokat vagy különbségeket keresünk, hogy ezáltal b vebb vagy sz kebb kategóriákba, osztályokba soroljuk ket

57 Valós világ modellezése Valós világ modellezése Példa Sok embernek van kutyája különböz névvel és jellemz tulajdonságokkal objektumok (példányok) A kutyák, mint egy állatfaj egyedei sok mindenben hasonlítanak is például mindegyik tud ugatni

58 Valós világ modellezése Valós világ modellezése Osztályhierarchia Állat Háziállat Vadállat Macska Kutya Tigris Emu Bodri Morzsi Floki

59 Az OOP elmélete Objektumok és állapotaik Az objektumorientált program egymással kommunikáló objektumok összessége, ahol minden objektumnak megvan a feladata Az objektum: Információt tárol, kérésre feladatokat hajt végre Bels állapota van, üzeneten keresztül lehet megszólítani Objektum = adattagok + m veletek (függvények) Felel s feladatainak korrekt elvégzéséért Az objektum állapota Mindig van egy állapota, amit a mez k (objektumhoz tartozó változók) pillanatnyi értékei írnak le Az objektum m veleteket hajt végre, melyek hatására állapota megváltozhat Két objektumnak ugyanaz az állapota, ha az adattagok értékei megegyeznek

60 Az OOP elmélete Objektumok és állapotaik Az objektumorientált program egymással kommunikáló objektumok összessége, ahol minden objektumnak megvan a feladata Az objektum: Információt tárol, kérésre feladatokat hajt végre Bels állapota van, üzeneten keresztül lehet megszólítani Objektum = adattagok + m veletek (függvények) Felel s feladatainak korrekt elvégzéséért Az objektum állapota Mindig van egy állapota, amit a mez k (objektumhoz tartozó változók) pillanatnyi értékei írnak le Az objektum m veleteket hajt végre, melyek hatására állapota megváltozhat Két objektumnak ugyanaz az állapota, ha az adattagok értékei megegyeznek

61 Az OOP elmélete Osztály, példány Osztály (class) Olyan objektumminta vagy típus, mely alapján példányokat (objektumokat) hozhatunk létre Példány (instance) Minden objektum születését l kezdve egy osztályhoz tartozik Életciklusa van megszületik, él, meghal Létrehozásához inicializálni kell speciális függvény, a neve konstruktor Változóknak kezd értéket ad Az objektum m ködéséhez szükséges tevékenységek végrehajtása

62 Az OOP elmélete Osztály, példány Osztály (class) Olyan objektumminta vagy típus, mely alapján példányokat (objektumokat) hozhatunk létre Példány (instance) Minden objektum születését l kezdve egy osztályhoz tartozik Életciklusa van megszületik, él, meghal Létrehozásához inicializálni kell speciális függvény, a neve konstruktor Változóknak kezd értéket ad Az objektum m ködéséhez szükséges tevékenységek végrehajtása

63 Az OOP elmélete Mez k, m veletek, láthatóság Példányváltozó Objektumpéldányonként helyet foglaló változó Osztályváltozó Osztályonként helyet foglaló változó Példányfüggvény (-metódus) Objektumpéldányokon dolgozó metódus Osztályfüggvény (-metódus) Osztályokon dolgozó metódus Láthatóság Lehet ség van arra, hogy bizonyos függvényeket, változókat azt osztályhasználó számára láthatatlanná tegyünk (információ elrejtésének alapelve)

64 Az OOP elmélete Mez k, m veletek, láthatóság Példányváltozó Objektumpéldányonként helyet foglaló változó Osztályváltozó Osztályonként helyet foglaló változó Példányfüggvény (-metódus) Objektumpéldányokon dolgozó metódus Osztályfüggvény (-metódus) Osztályokon dolgozó metódus Láthatóság Lehet ség van arra, hogy bizonyos függvényeket, változókat azt osztályhasználó számára láthatatlanná tegyünk (információ elrejtésének alapelve)

65 Az OOP elmélete Mez k, m veletek, láthatóság Példányváltozó Objektumpéldányonként helyet foglaló változó Osztályváltozó Osztályonként helyet foglaló változó Példányfüggvény (-metódus) Objektumpéldányokon dolgozó metódus Osztályfüggvény (-metódus) Osztályokon dolgozó metódus Láthatóság Lehet ség van arra, hogy bizonyos függvényeket, változókat azt osztályhasználó számára láthatatlanná tegyünk (információ elrejtésének alapelve)

66 Az OOP elmélete Mez k, m veletek, láthatóság Példányváltozó Objektumpéldányonként helyet foglaló változó Osztályváltozó Osztályonként helyet foglaló változó Példányfüggvény (-metódus) Objektumpéldányokon dolgozó metódus Osztályfüggvény (-metódus) Osztályokon dolgozó metódus Láthatóság Lehet ség van arra, hogy bizonyos függvényeket, változókat azt osztályhasználó számára láthatatlanná tegyünk (információ elrejtésének alapelve)

67 Az OOP elmélete Mez k, m veletek, láthatóság Példányváltozó Objektumpéldányonként helyet foglaló változó Osztályváltozó Osztályonként helyet foglaló változó Példányfüggvény (-metódus) Objektumpéldányokon dolgozó metódus Osztályfüggvény (-metódus) Osztályokon dolgozó metódus Láthatóság Lehet ség van arra, hogy bizonyos függvényeket, változókat azt osztályhasználó számára láthatatlanná tegyünk (információ elrejtésének alapelve)

68 Az OOP elmélete Örökl dés Az állat osztálynak vannak bizonyos tulajdonságai (mez i) és függvényei Ha elkészítjuk a háziállat osztályt, nyilvánvaló, hogy sok olyan tulajdonsága lesz, mint ami az állatnak Lehet ség van az OOP nyelvekben a háziállat osztályt az állat osztály leszármazottjaként létrehozni, ekkor az összes mez t és függvényt örökli a háziállat, ami az állatban megvolt Természetesen további függvényeket és mez ket vehetünk a háziállatba... (Az örökl dés, dinamikus kötés és polimorzmus (statikus és dinamikus típus) nagyon messzire elvinne minket, így elméletben többr l nem esik szó. Fontos megjegyezni azonban, hogy a fentebbiek alapelvek, ennél sokkal színesebb paletta áll rendelkezésre)

69 Az OOP gyakorlata Java-ban Java osztály Osztály létrehozása public class osztálynév extends szül [és még más] { public int mezonev; private String mezonev;... public osztályneve (paraméterek ) { // Konstruktor } public int fuggvenyneve (paraméterek ) {...}... }

70 Az OOP gyakorlata Java-ban Néhány lehetséges kulcsszó A mez k és függvények el tt néhány kulcsszó: public: mindenki számára elérhet private: csak az adott osztályban protected: csak az adott osztályban és leszármazottjaiban nincs kulcsszó: adott osztályban, leszármazottjaiban és a csomagban static-kal jelöljük az osztálymez t illetve függvényt Ha egy mez final, akkor nem módosítható Ha egy osztály final, akkor nem örökölhet bel le tovább (Van még: abstract, synhronized, volatile, native... )

71 Az OOP gyakorlata Java-ban Java osztály Kutya osztály public class Kutya extends Allat { public String nev; public String fajta; public Integer eletkor; private Date [] oltasok_ideje; private String [] oltasok_neve; public Kutya () { oltasok_ideje = new Date[10]; oltasok_neve = new String[10]; }

72 Az OOP gyakorlata Java-ban Java osztály Kutya osztály public void ugat() { } public void megy() { } public void oltastkap(string s, Date mikor) { } }

73 Az OOP gyakorlata Java-ban UML diagram +Név: String +Fajta: String +Életkor: Integer #Oltások ideje: Date [] #Oltások neve: String [] +ugat(): void +megy(): void Kutya +oltástkap(mikor:date,mit:string): void

74 Java objektumok Java Objektum Az el z kutya osztály, mint típus az alábbiak szerint deklarálható Deklaráció Kutya bodri; Ez még csak deklaráció, a tényleges példány létrehozása a new kulcsszóval történik. Példányosítás bodri = new Kutya(); Ekkor a memóriában létrejön egy új Kutya objektum, valamint lefut annak a konstruktora. Miért m ködik ez így?

75 Java objektumok Java Objektum Az el z kutya osztály, mint típus az alábbiak szerint deklarálható Deklaráció Kutya bodri; Ez még csak deklaráció, a tényleges példány létrehozása a new kulcsszóval történik. Példányosítás bodri = new Kutya(); Ekkor a memóriában létrejön egy új Kutya objektum, valamint lefut annak a konstruktora. Miért m ködik ez így?

76 Java objektumok Java Objektum Amikor az Object osztály bármely leszármazottját (legyen az tömb, String, Double, Kutya... ) deklaráljuk, akkor a változó, ami lefoglalásra kerül a memóriában egy referenciát (memóriacímet) tartalmaz értékként Az referencia alapértelmezésben null! Azaz a változó képes egy adott típusú objektumra hivatkozni, de éppen nem hivatkozik egyre sem Ahhoz hogy hivatkozzon létre kell hozni egy új példányt, vagy egy meglév hivatkozást kell átadni értékként (egy meglév példányt) Példányosítás Kutya morzsi = new Kutya(); Kutya rex = morzsi;

77 Java objektumok Java Objektum A második miatt egyetlen Kutya példány van a memóriában, csak két névvel is hivatkozhatunk rá: morzsi és rex Egy objektumváltozó értéke Java-ban egy referencia a memóriában!

78 Java objektumok Java Objektum Egy objektumpéldány mez it és tagfüggvényeit a következ módon lehet elérni, meghívni Tagfüggvények, mez k bodri.ugat(); String kutyaneve = bodri.nev; Természetesen ez csak megfelel látható mez kre és függvényekre igaz. Egy osztály osztálymez it és függvényeit az osztály nevén keresztül célszer elérni Osztálymez Kutya.ALAPÉRTELMEZETTUGATÁSIHANGERŽ

79 Java objektumok Java Objektum Egy objektumpéldány mez it és tagfüggvényeit a következ módon lehet elérni, meghívni Tagfüggvények, mez k bodri.ugat(); String kutyaneve = bodri.nev; Természetesen ez csak megfelel látható mez kre és függvényekre igaz. Egy osztály osztálymez it és függvényeit az osztály nevén keresztül célszer elérni Osztálymez Kutya.ALAPÉRTELMEZETTUGATÁSIHANGERŽ

80 Referencia következményei Következmények Java nyelven, amikor függvényt hívunk, az aktuális paraméter értéke átmásolódik a formális paramétert jelent változóba. (Létrejön(nek) a függvényszignatúra szerinti új változó(k), és az értékük az lesz, ami a függvényhíváskor az aktuális paraméter volt.) Objektumok esetén ez a referencia lesz! Nem jön létre másolat az objektumról, hanem pontosan ugyanazon az objektumon dolgozunk, mint ami az aktuális paraméter. (Primitívek esetén létrejön másolat és a másolaton dolgozunk.) Csomagolók esetén nincs másolat, mivel azonban változtatáskor új jön létre, a tényleges hatás ugyanaz, mint a primitívek esetén.

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

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

Készítette: Nagy Tibor István

Készítette: Nagy Tibor István Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke

Részletesebben

Java II. I A Java programozási nyelv alapelemei

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

Részletesebben

III. OOP (objektumok, osztályok)

III. OOP (objektumok, osztályok) III. OOP (objektumok, osztályok) 1. Természetes emberi gondolkozás Az Objektumorientált paradigma alapelvei nagyon hasonlítanak az emberi gondolkozásra. Érdemes ezért elsőként az emberi gondolkozás elveit

Részletesebben

JAVA PROGRAMOZÁS 2.ELŐADÁS

JAVA PROGRAMOZÁS 2.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,

Részletesebben

OOP. Alapelvek Elek Tibor

OOP. Alapelvek Elek Tibor OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós

Részletesebben

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:

Részletesebben

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző

Részletesebben

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag C# osztálydeníció Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem.net C# technológiák tananyag objektum orientált programozás tananyag Tartalom 1 Bevezetés 2 Osztály létrehozása, deníció

Részletesebben

A C# programozási nyelv alapjai

A C# programozási nyelv alapjai A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet

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

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető

Részletesebben

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07.

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum

Részletesebben

Programozás I. Első ZH segédlet

Programozás I. Első ZH segédlet Programozás I. Első ZH segédlet Ezen az oldalon: kiírás az alapértelmezett (hiba) kimenetre, sztring konkatenáció, primitív típusok, osztály létrehozás, példányosítás, adattagok, metódusok Kiíratás alapértelmezett

Részletesebben

Már megismert fogalmak áttekintése

Már megismert fogalmak áttekintése Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak

Részletesebben

A C# PROGRAMOZÁSI NYELV

A C# PROGRAMOZÁSI NYELV A C# PROGRAMOZÁSI NYELV 2010.02.23. Bevezetés C# nyelv jellemzői 2 Kis és NAGY betű érzékeny Minden utasítást pontos vessző zár. Utasítás zárójel a:,. .NET Framework keretrendszerek 3 Microsoft.NET Framework

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt

Részletesebben

Adatszerkezetek és algoritmusok

Adatszerkezetek és algoritmusok Adatszerkezetek és algoritmusok Felsőfokú szakirányú továbbképzés Egyetemi jegyzet 2010 2 Tartalomjegyzék 1. Bevezetés a programozásba 9 1.1. Algoritmusok...................................... 9 1.1.1.

Részletesebben

Programozás C++ -ban 2007/7

Programozás C++ -ban 2007/7 Programozás C++ -ban 2007/7 1. Másoló konstruktor Az egyik legnehezebben érthető fogalom C++ -ban a másoló konstruktor, vagy angolul "copy-constructor". Ez a konstruktor fontos szerepet játszik az argumentum

Részletesebben

Adatszerkezetek és algoritmusok

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

Részletesebben

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Az osztály egy olyan típus leíró struktúra, amely tartalmaz adattagokat

Részletesebben

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010 Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 Előadás tematika 1. Pascal ismétlés, kiegészítések 2. Objektum orientált programozás (OOP) 3. Delphi környezet 4. Komponensek bemutatása

Részletesebben

Web-technológia PHP-vel

Web-technológia PHP-vel Web-technológia PHP-vel A PHP programnyelv 2, futtatókörnyezet beálĺıtások Erős Bence February 26, 2013 Erős Bence () Web-technológia PHP-vel February 26, 2013 1 / 19 Szuperglobális változók $ GET : request

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

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

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

JAVA PROGRAMOZÁS 3.ELŐADÁS

JAVA PROGRAMOZÁS 3.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 3.ELŐADÁS 2014-2015 tavasz Polimorfizmus, absztrakt osztályok, interfészek 2 Példa - Hengerprogram 3 Példa - Hengerprogram 4 Példa - Hengerprogram

Részletesebben

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real

Részletesebben

Programozas 1. Strukturak, mutatok

Programozas 1. Strukturak, mutatok Programozas 1 Strukturak, mutatok Strukturak Tömb: több egyforma típusú változó együttese Struktúra: több különböző típusú de logikailag egybetartozó változó együttese, amelyet az egyszerű kezelhetőség

Részletesebben

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016 Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS 2015-2016 Objektumorientált programozás OOP PHP-ben 2 A PHP az 5.0-as verziójától megvalósítja az OO eszközrendszerét OO eszközök:

Részletesebben

C programozási nyelv Pointerek, tömbök, pointer aritmetika

C programozási nyelv Pointerek, tömbök, pointer aritmetika C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek

Részletesebben

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. Programozás III CSOMAGOK Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. A Java is csomagok halmaza: csomagokban van a fejlesztő környezet és az osztálykönyvtárak is: rt.jar fájl

Részletesebben

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba Hibaforrások Hiba A feladatok megoldása során különféle hibaforrásokkal találkozunk: Modellhiba, amikor a valóságnak egy közelítését használjuk a feladat matematikai alakjának felírásához. (Pl. egy fizikai

Részletesebben

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt

Részletesebben

Szövegek C++ -ban, a string osztály

Szövegek C++ -ban, a string osztály Szövegek C++ -ban, a string osztály A string osztály a Szabványos C++ könyvtár (Standard Template Library) része és bár az objektum-orientált programozásról, az osztályokról, csak később esik szó, a string

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

Magas szintű programozási nyelvek 2 Előadás jegyzet

Magas szintű programozási nyelvek 2 Előadás jegyzet Magas szintű programozási nyelvek 2 Előadás jegyzet 1. Rendszerfejlesztés 0. lépés: Elemzés (analízis) 1. lépés: Tervezés a, technológia független rész b, technológia függő rész 2. lépés: Megvalósítás

Részletesebben

Programozás III KIINDULÁS. Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg.

Programozás III KIINDULÁS. Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg. KIINDULÁS Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg. Programozás III Az egyszerűség kedvéért mindegyiket a nevük alapján regisztráljuk,

Részletesebben

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. november A C++ programozási nyelv Soós Sándor 1/12 Tartalomjegyzék Miért

Részletesebben

Programozás II. 2. Dr. Iványi Péter

Programozás II. 2. Dr. Iványi Péter Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c

Részletesebben

OOP alapok Egy OOP nyelvet három fontos dolog jellemez. egységbezárás ( encapsulation objektumoknak öröklés ( inheritance

OOP alapok Egy OOP nyelvet három fontos dolog jellemez. egységbezárás ( encapsulation objektumoknak öröklés ( inheritance Az objektum-orientált programozás (röviden OOP) a természetes gondolkodást, cselekvést közelítő programozási mód, amely a programozási nyelvek tervezésének természetes fejlődése következtében alakult ki.

Részletesebben

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is A tétel (record) tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is A tétel elemei mezők. Például tétel: személy elemei: név, lakcím, születési

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31

Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 9. ELŐADÁS - OOP TERVEZÉS 2014 Bánsághi Anna 1 of 31 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív paradigma

Részletesebben

A Java programozási nyelv

A Java programozási nyelv 1. óra A Java programozási nyelv Bevezetés, alapfogalmak Változók, egyszerű típusok, tömb Vezérlési szerkezetek Standard I/O legradi.gabor@nik.bmf.hu szenasi.sandor@nik.bmf.hu Java programozási nyelv Témakörök

Részletesebben

Programozás C és C++ -ban

Programozás C és C++ -ban Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új

Részletesebben

Bevezetés a programozásba I.

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

Részletesebben

500. AA Megoldó Alfréd AA 500.

500. AA Megoldó Alfréd AA 500. Programozás alapjai 2. NZH 2010.05.13. gyakorlat: / Hiány:0 ZH:0 MEGOLD IB.027/51. Hftest: 0 Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti, hogy minden

Részletesebben

OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_01-1 - E jegyzet másolata

Részletesebben

C++ programozási nyelv Konstruktorok Gyakorlat

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

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Objektum-orientált szemlélet - Egységbe zárás (incapsulation) - Információ elrejtés - Öröklődés altípusosság dinamikus kötés Öröklődés Programozási nyelvek Java - kiterjesztem, kibővítem, megváltoztatom

Részletesebben

Objektumorientált programozás IX. Osztályok, objektumok

Objektumorientált programozás IX. Osztályok, objektumok Objektumorientált programozás IX. Osztályok, objektumok 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. Ismeretük szükséges,

Részletesebben

Bevezetés a programozásba

Bevezetés a programozásba Bevezetés a programozásba 1. Előadás Bevezetés, kifejezések http://digitus.itk.ppke.hu/~flugi/ Egyre precízebb A programozás természete Hozzál krumplit! Hozzál egy kiló krumplit! Hozzál egy kiló krumplit

Részletesebben

Objektumorientált szoftverfejlesztés alapjai

Objektumorientált szoftverfejlesztés alapjai Objektumorientált szoftverfejlesztés alapjai Gyakorlatorientált szoftverfejlesztés C++ nyelven Visual Studio Community fejlesztőkörnyezetben @Katona József Kővári Attila Lektorálta: Dr. Fauszt Tibor DOI:

Részletesebben

1. Gyakorlat. Rövid elméleti összefoglaló. típus változónév <= kezdőérték><, >;

1. Gyakorlat. Rövid elméleti összefoglaló. <tárolási osztály>típus <típus > változónév <= kezdőérték><, >; Rövid elméleti összefoglaló 1. Gyakorlat A C++ nyelv hatékony, általános célú programozási nyelv, amely hagyományos fejlesztőeszközként és objektum-orientált programozási nyelvként egyaránt használható.

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

Osztály és objektum fogalma

Osztály és objektum fogalma Osztály és objektum fogalma A C++ programozási nyelv I. CPP1/ 1 Az osztály (class) class: adatok és módszerek (method) (függvények) együttese, amely absztrakt adattípusként működik. objektum: egy osztály

Részletesebben

5. Gyakorlat. struct diak {

5. Gyakorlat. struct diak { Rövid elméleti összefoglaló 5. Gyakorlat Felhasználó által definiált adattípusok: A typedef egy speciális tárolási osztály, mellyel érvényes típusokhoz szinonim nevet rendelhetünk. typedef létező_típus

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

Rekurzió. Dr. Iványi Péter

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

Részletesebben

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

Szoftvertechnolo gia gyakorlat

Szoftvertechnolo gia gyakorlat Szoftvertechnolo gia gyakorlat Dr. Johanyák Zsolt Csaba http://johanyak.hu 1. Dependency Injection (függőség befecskendezés) tervezési minta A tervezési minta alapgondolata az, hogy egy konkrét feladatot

Részletesebben

2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,

Részletesebben

C++ programozási nyelv Struktúrák a C++ nyelvben

C++ programozási nyelv Struktúrák a C++ nyelvben C++ programozási nyelv Struktúrák a C++ nyelvben Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/37 Bevezetés A

Részletesebben

A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani.

A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani. Vizuális programozás 1. A gyakorlat célja A gyakorlat célja a Könyvtár alkalmazás folytatása az előző gyakorlaton elkészített grafikus felület felhasználásával. Elsőként lemásoljuk az előző gyakorlat eredményeként

Részletesebben

Az élet szép, környezetünk tele van fákkal, virágokkal, repdeső madarakkal, vidáman futkározó állatokkal.

Az élet szép, környezetünk tele van fákkal, virágokkal, repdeső madarakkal, vidáman futkározó állatokkal. Objektumorientált programozás Az élet szép, környezetünk tele van fákkal, virágokkal, repdeső madarakkal, vidáman futkározó állatokkal. Ez a nem művészi értékű, de idillikus kép azt a pillanatot mutatja,

Részletesebben

I. Objektumorientált programozás

I. Objektumorientált programozás I. Objektumorientált programozás 1. Az objektumorientált programozás alapjai Objektumok és objektumosztályok A számítógépes programok közvetve vagy közvetlenül a körülöttünk lévô világ elemeihez illeszkednek,

Részletesebben

Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.

Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein. Programozás C++ osztályok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. április 8. Csak bázisosztályként használt/értelmezhető

Részletesebben

Generikus Típusok, Kollekciók

Generikus Típusok, Kollekciók Generikus Típusok, Kollekciók Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Generikus Típusok, Kollekciók 2013 1 / 26 Tartalomjegyzék 1 Enumeráció 2 Generikus Típusok 3 Kollekciók System.Collections

Részletesebben

3. Gyakorlat Ismerkedés a Java nyelvvel

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

Részletesebben

Oktatási segédlet 2014

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

Részletesebben

OBJEKTUMORIENTÁLT TERVEZÉS ESETTANULMÁNYOK. 2.1 A feladat

OBJEKTUMORIENTÁLT TERVEZÉS ESETTANULMÁNYOK. 2.1 A feladat 2. Digitális óra 28 OBJEKTUMORIENTÁLT TERVEZÉS ESETTANULMÁNYOK 2.1 A feladat Ebben a fejezetben egy viszonylag egyszerő problémára alkalmazva tekintjük át az OO tervezés modellezési technikáit. A feladat

Részletesebben

Mi a különbség az extends és az implements között. Mikor melyiket kell használni? Comperable-t megvalósító oasztályokban össze lehet hasonlitani

Mi a különbség az extends és az implements között. Mikor melyiket kell használni? Comperable-t megvalósító oasztályokban össze lehet hasonlitani Mi a legabsztraktabb típus a JAVA-ban? Object Mikor preferált interface-ek használata a konkrét típusok helyett? Ha egy osztály több interfacet is használhasson, vagy ha fvek implementálását a az osztályra

Részletesebben

PHP5 Új generáció (2. rész)

PHP5 Új generáció (2. rész) PHP5 Új generáció (2. rész)...avagy hogyan használjuk okosan az osztályokat és objektumokat PHP 5-ben. Cikksorozatom elõzõ részében képet kaphattunk arról, hogy valójában mik is azok az objektumok, milyen

Részletesebben

Fizika InfoRmatika Kémia Alapok. Az Erdélyi Magyar Műszaki Tudományos Társaság kiadványa. Megjelenik kéthavonta (tanévenként 6 szám)

Fizika InfoRmatika Kémia Alapok. Az Erdélyi Magyar Műszaki Tudományos Társaság kiadványa. Megjelenik kéthavonta (tanévenként 6 szám) Fizika InfoRmatika Kémia Alapok Az Erdélyi Magyar Műszaki Tudományos Társaság kiadványa Megjelenik kéthavonta (tanévenként 6 szám) 8. évfolyam 2. szám Felelős kiadó ÉQLY JÁNOS Főszerkesztők DR. ZSAKÓ JÁNOS

Részletesebben

Érdekes informatika feladatok

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

Részletesebben

Széchenyi István Szakképző Iskola

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

Részletesebben

117. AA Megoldó Alfréd AA 117.

117. AA Megoldó Alfréd AA 117. Programozás alapjai 2. (inf.) pót-pótzárthelyi 2011.05.26. gyak. hiányzás: kzhpont: MEG123 IB.028/117. NZH:0 PZH:n Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,

Részletesebben

Bevezetés a C programozási nyelvbe. Az Általános Informatikai Tanszék C nyelvi kódolási szabványa

Bevezetés a C programozási nyelvbe. Az Általános Informatikai Tanszék C nyelvi kódolási szabványa Miskolci Egyetem Általános Informatikai Tanszék Bevezetés a C programozási nyelvbe Az Általános Informatikai Tanszék C nyelvi kódolási szabványa Oktatási segédletek a levelező műszaki informatikus hallgatók

Részletesebben

Java programozási nyelv 6. rész Java a gyakorlatban

Java programozási nyelv 6. rész Java a gyakorlatban Java programozási nyelv 6. rész Java a gyakorlatban Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. október A Java programozási nyelv Soós Sándor 1/16 Tartalomjegyzék

Részletesebben

Objektumorientált Programozás I.

Objektumorientált Programozás I. Objektumorientált Programozás I. Algoritmizálási alapismeretek Algoritmus végrehajtása a számítógépen Adattípusok Típuskonverziók ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok,

Részletesebben

OOP és UML Áttekintés

OOP és UML Áttekintés OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés

Részletesebben

1. Alapok. #!/bin/bash

1. Alapok. #!/bin/bash 1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk

Részletesebben

Programozás. C++ típusok, operátorok. Fodor Attila

Programozás. C++ típusok, operátorok. Fodor Attila Programozás C++ típusok, operátorok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. március 4. Deklaráció és definíció C++

Részletesebben

Alkalmazott Modul III 6. előadás. Objektumorientált programozás: öröklődés és polimorfizmus

Alkalmazott Modul III 6. előadás. Objektumorientált programozás: öröklődés és polimorfizmus Eötvös Loránd Tudományegyetem Természettudományi Kar Alkalmazott Modul III 6. előadás Objektumorientált programozás: öröklődés és polimorfizmus 2011.10.24. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

C# osztályok. Krizsán Zoltán

C# osztályok. Krizsán Zoltán C# osztályok Krizsán Zoltán Fogalma Önálló hatáskőrrel rendelkező, absztrakt adattípus, amely több, különböző elemet tartalmazhat. Minden esetben a heap-en jön létre! A programozó hozza létre, de a GC

Részletesebben

Programozás 5. Dr. Iványi Péter

Programozás 5. Dr. Iványi Péter Programozás 5. Dr. Iványi Péter 1 Struktúra Véges számú különböző típusú, logikailag összetartozó változó együttese, amelyeket az egyszerű kezelhetőség érdekében gyűjtünk össze. Rekord-nak felel meg struct

Részletesebben

Programozás III A JAVA TECHNOLÓGIA LÉNYEGE. Többlépcsős fordítás JAVA PLATFORM. Platformfüggetlenség

Programozás III A JAVA TECHNOLÓGIA LÉNYEGE. Többlépcsős fordítás JAVA PLATFORM. Platformfüggetlenség A JAVA TECHNOLÓGIA LÉNYEGE Programozás III Többlépcsős fordítás JAVA ALAPOK Platformfüggetlenség A JAVA TECHNOLÓGIA LÉNYEGE JAVA PLATFORM Két komponense: Java Virtual Machine (JVM) Java Application Programming

Részletesebben

találhatók. A memória-szervezési modell mondja meg azt, hogy miként

találhatók. A memória-szervezési modell mondja meg azt, hogy miként Memória címzési módok Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről) a program utasításai illetve egy utasítás argumentumai a memóriában találhatók. A memória-szervezési

Részletesebben

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat Szimuláljuk különféle élőlények túlélési versenyét. A lények egy pályán haladnak végig, ahol váltakozó viszonyok vannak. Egy lénynek

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

Programozás II gyakorlat. 6. Polimorfizmus

Programozás II gyakorlat. 6. Polimorfizmus Programozás II gyakorlat 6. Polimorfizmus Típuskonverziók C-ben: void * ptr; int * ptr_i = (int*)ptr; Ez működik C++-ban is. Használjuk inkább ezt: int * ptr_i = static_cast(ptr); Csak egymással

Részletesebben

Java adattípusok Java programozás alapjai Egyszerű adattípusok (int, float) Osztályokkal objektumok Nincs külön mutató, referencia, címe operátor, helyette: objektumok csak dinamikusan hozhatok létre és

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA MATEmATIkA I 6 VI KOmPLEX SZÁmOk 1 A komplex SZÁmOk HALmAZA A komplex számok olyan halmazt alkotnak amelyekben elvégezhető az összeadás és a szorzás azaz két komplex szám összege és szorzata

Részletesebben

Algoritmusok. Dr. Iványi Péter

Algoritmusok. Dr. Iványi Péter Algoritmusok Dr. Iványi Péter Egyik legrégebbi algoritmus i.e. IV század, Alexandria, Euklidész két természetes szám legnagyobb közös osztójának meghatározása Tegyük fel, hogy a és b pozitív egész számok

Részletesebben

Webprogramozás szakkör

Webprogramozás szakkör Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás

Részletesebben

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki. Számítás:. Olvassuk be két pont koordinátáit: (, y) és (2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki. 2. Olvassuk be két darab két dimenziós vektor komponenseit: (a, ay) és (b, by). Határozzuk

Részletesebben

Java programozási nyelv

Java programozási nyelv Java programozási nyelv A nyelv alapjai 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/34 Java információ források

Részletesebben

SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek

SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek SZERVER OLDALI JAVASCRIPT 3. hét Javascript nyelvi elemek NYELVI ALAPOK: Ez sajnos igen száraz anyag, Viszont a megértékhez és a nyelv elsajátításához kell. Próbáljuk meg random gifekkel feldobni. MIRŐL

Részletesebben