Adatstruktúrák Algoritmusok Objektumok

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

Download "Adatstruktúrák Algoritmusok Objektumok"

Átírás

1 Adatstruktúrák Algoritmusok Objektumok A számítógépes problémamegoldás modellezésének módszerei. Programozási elvek és módszerek: imperatív, strukturált, moduláris, objektumorientált programozás. Programozási nyelvek. A programozás menete Hajnal Éva: AAO előadás 1

2 Tematika A számítógépes problémamegoldás modellezésének módszerei.programozási elvek és módszerek: imperatív, strukturált, moduláris, objektumorientált programozás. Programozási nyelvek. A programozás menete Az algoritmus fogalma és ábrázolásának módjai.vezérlési és D-gráf, blokkdiagram, stuktogram, pszeudokód.adatszerkezetek Alapvető programozási tételek (N-1): összegzés, számlálás, maximumkeresés, lineáris keresés, logaritmikus keresés. Tömbök. Eljárások, függvények Alapvető programozási tételek (N-N): szétválogatás, halmazműveletek Programozási tételek összeépítése Rendezések. Hajnal Éva: AAO előadás 2

3 További algoritmusok (1): Horner elrendezés, Coxeter algoritmus stb Zárthelyi írás az aláírás megszerzése érdekében. Az objektumorientált programozási paradigma: modellezési alapelvek, programozási megoldások fejlődése, OO paradigma és OO program Az OO paradigma alapelemei: objektum, osztály, osztályok közötti kapcsolatok. Rektori szünet Az OOP megvalósítások általános jellemzői (1): egységbezárás és adatrejtés, láthatóságok, osztály szintű tagok, tulajdonságok. Az OOP megvalósítások általános jellemzői (2): öröklődés és többalakúság kód-újrafelhasználás További algoritmusok (2): Labirintus, játékok stb Pótlás az egész féléves anyagból Hajnal Éva: AAO előadás 3

4 Programozás tanulási módszerek Hajnal Éva: AAO előadás 4

5 1. előadás A számítógépes problémamegoldás modellezésének módszerei. Programozási elvek és módszerek: imperatív, strukturált, moduláris, objektumorientált programozás. Programozási nyelvek. A programozás menete Hajnal Éva: AAO előadás 5

6 Programozás alapfogalmai Programozás: A program készítés folyamata Program: Egy feladat elvégzéséhez szükséges utasítások összessége Utasítás: Egy lépésben elvégezhető számítógépes művelet Parancs: Az érvényesítést követően azonnal végrehajtódó művelet Programozási nyelv: Nyelvi elemek és szabályok rendszere, melynek alapján a számítógép számára értelmezhető program elkészül Algoritmus: a program terve, vagyis azon elemi lépések leírása, amelyek a bemenő adatokból elvezetnek a feladat megoldásához Számítástechnikai modell, számítási modell Forrásprogram: programnyelven megírt program, ebből fordítóprogram segítségével lehet a sz.g.-en futtatható programot elkészíteni Tárgyprogram Futtatható program Fordítóprogram Hajnal Éva: AAO előadás 6

7 A számítógép informatikai modellje Turing gép Hajnal Éva: AAO előadás 7

8 Turing automata részei egy cellákra osztott végtelenített papírszalag formában létező memóriából (szalagmemória, szalagtár, társzalag); minden cellában a gép által megértett nyelv betűi, azaz a Tár-abc egy-egy betűje van írva; egy vezérlőegységből, mely a gép programját tartalmazza; a vezérlőegység különböző időpillanatokban különféle belső állapotokban létezhet; egy író-olvasó fejből (I/O-fej), mely szimbólumokat ír vagy olvas a szalag celláira (ahogy a valóságos számítógépek betűket írnak ki a monitorra vagy a nyomtatóban lévő papírívre). továbbá egy szoftveregységből, ez az átmenettábla, ami vezérli a gép működését, megadva, hogy adott szimbólum beolvasásának hatására adott állapotban mit tegyen: hogyan mozogjon, milyen szimbólumot írjon a tárra, és milyen belső állapotba kerüljön. Hajnal Éva: AAO előadás 8

9 Programnyelvek csoportosítása Deklaratív Imperatív DBASE SQL Pascal Delphi Java C# Visual Basic Prolog C++ PHP Basic Magas szintű Algol C Fortran Assembly Alacsony szintű Hajnal Éva: AAO előadás 9

10 Magas és alacsony szintű programnyelvek összehasonlítása Alacsony szintű Más néven gépközeli Egyszerű utasítások Címek, egyszerű változók használata Magas szintű Ember közeli Összetett utasítások Címkék, adatszerkezetek használata Hajnal Éva: AAO előadás 10

11 Mi a fordítóprogram feladata? Compiler Időben elkülönül a fordítás és a futtatás Forráskód védelme megoldott Gyorsabb programfutás Futtatáshoz nem szükséges a fejlesztőkörnyezet Interpreter Futtatás és értelmezés programsoronként Forráskód védelme nehézkes Lassabb programfutás Futtatáshoz a fejlesztőkörnyezet (vagy annak egy modulja) szükséges Hajnal Éva: AAO előadás 11

12 Programnyelvek csoportosításának további szempontjai Programnyelvi generációk Első G: a gépi kódhoz közel álló programozás technika alacsony szintű programnyelv Második G: magas szintű programnyelvek használata, az emberi gondolkodáshoz közelebb álló parancsok, és a struktúrált programozás megjelenése Harmadik G: Objektum orientált nyelvek megjelenése Negyedik G: Eseményvezérelt programozás, vizuális kezelőfelület segítségével Általános programozási nyelv célorientált nyelvek Hajnal Éva: AAO előadás 12

13 A program készítés folyamata 1. A feladat meghatározása 2. Algoritmus 3. Kódolás 4. Tesztelés, hibakeresés, hibajavítás szintaktikai szemantikai hibák 5. Dokumentáció készítése Szervezési dokumentáció Programozási dokumentáció Felhasználói dokumentáció Üzemeltetési dokumentáció Hajnal Éva: AAO előadás 13

14 Teszt Program Programnyelv Programozás Hajnal Éva: AAO előadás 14

15 Program modellje Program készítésének menete Algoritmus fogalma Algoritmussal szemben támasztott követelmények Hajnal Éva: AAO előadás 15

16 A program készítés folyamata 1. A feladat meghatározása 2. Algoritmus 3. Kódolás 4. Tesztelés, hibakeresés, hibajavítás szintaktikai szemantikai hibák 5. Dokumentáció készítése Szervezési dokumentáció Programozási dokumentáció Felhasználói dokumentáció Üzemeltetési dokumentáció Hajnal Éva: AAO előadás 16

17 Algoritmus fogalma Algoritmus: véges sok, időben elkülönült szekvenciális lépésekből álló megoldási módszer. Az algoritmussal szembeni követelmények: általános: ugyanabba a problémaosztályba tartozókra is jó legyen. megismételhető legyen: ugyanazokkal az adatokkal ugyanaz az eredmény. véges időn belül véget érjen. Az algoritmus programnyelvtől független. Hajnal Éva: AAO előadás 17

18 Algoritmusok ábrázolása Vezérlési gráf: hurokmentes, összefüggő, többszörös élekkel nem rendelkező irányított gráf, melynek 3-féle csomópontját különböztetjük meg: 1. transzformációs (tevékenység) csomópont 2. döntési (vezérlési) csomópont (egy él be, 2 vagy több ki) 3. gyűjtő csomópont Blokkdiagram: a vezérlési gráf egy értelmezése, ahol a transzformációs és a döntési csomópontok ki vannak töltve adat-transzformációkkal (adattranszformáció: az adatokat változtatja) ill. logikai feltételekkel. D(ijkstra)-gráf: a szekvencia, a feltételes elágazások és az elöltesztelő és hátultesztelő iterációk, ill. az ezekre egyszerűsíthető eljárással vissza vezethető vezérlési gráfok (a D-gráf a szerkezetileg helyes programot leíró vezérlési gráf). Struktogram (Chapin-kártya): a ~ egy strukturált ábrázolási módszer, a tervezés felülről lefelé történik. Ahogy a struktúrában lejjebb megyünk, úgy egyre kevesebb hely marad tevékenységeink leírásához Hajnal Éva: AAO előadás 18

19 Valódi program: olyan összefüggő, irányított gráf, melyre igazak az alábbiak: (1) véges számú nemzérus bemenő és kimenő éllel rendelkezik (2) csomópontjait döntési csomópontok (predikátum csomópont), függvénycsomópontok és gyűjtőcsomópontok alkotják (3) minden csomóponton át vezet legalább egy bemenő éllel kezdődő és kimenő élben végződő útvonal. A programgráfot ki szokás egészíteni indítási (START), befejezési csomóponttal (STOP). Hajnal Éva: AAO előadás 19

20 Struktúrált programozás A struktúrált programozás alaptétele (Böhm-Jacopini, 1966): Bármely program megadható ekvivalens struktúrált program formájában is, amelyben az alábbi három konstrukciós művelet szerepel. A két program ekvivalens, azaz ugyanazon input értékekre ugyanazon output értékeket számolják ki. szekvencia (sorozat): két program közvetlen egymásután írása. elágazás: megadott feltételektől függően más-más programot hajtunk végre. ciklus: egy meglévő programot egy adott feltételtől függően valahányszor végrehajtunk. Megkülönböztethetünk elöltesztelő ciklusokat és hátultesztelő ciklusokat, melynél a feltétel-vizsgálat a program végrehajtása előtt illetve után történik. Az utóbbinál egyszer mindenképp végrehajtódik a program. iteratív ismétléssel, fokozatos közelítéssel dolgozó taxatív felsorolással dolgozó ciklus Hajnal Éva: AAO előadás 20

21 Miért jó a strukturált program? Egyszerű (minden D-gráf lényeges bonyolultsága 1) a strukturált programot le lehet bontani elemi D- gráfokra, ez csökkenti a bonyolultságot Miért rossz a nem strukturált program? mert bonyolult, bonyolultsági metrika nagy lesz nagy (>50) bonyolultságú program tesztelhetetlen! nem lehet egyszerűsíteni (lebontani D-gráfokra) Hajnal Éva: AAO előadás 21

22 Algoritmus leíró módszerek I. Folyamatábra Struktogram Pszeudokód Grafikus/szöveges grafikus grafikus szöveges Áttekinthetőség áttekinthető áttekinthető Nem áttekinthető Szerkesztés Struktúrált programozást Rajzoló programmal, speciális szerkesztőprogrammal Rajzoló programmal Táblázatkezelővel Szövegszerkesztővel Nem támogatja támogatja Támogatja Elemei Határoló jel - Program azonosító Start, vagy Program vége end Vagy Eljárás azonosító Eljárás vége Szekvencia Ut1 Ut2 Ut1 Ut2 Ut3 Utasítás1 Utasítás2 Szelekció feltétel el Ut1 feltétel ut2 Ha <feltétel> akkor Utasítás1 Különben Utasítás2 Elágazás vége Hajnal Éva: AAO előadás 22

23 Iteráció 1. Elöltesztelt ciklus Iteráció 2. Hátultesztelt ciklus Algoritmus leíró módszerek II. f c.m. c. m. Ciklus amíg <feltétel> Utasítás1 Utasítás2 Ciklus vége Ciklus Utasítás1 Utasítás2 Ciklus vége ha <feltétel> Iteráció 3. Számlálós ciklus u I:=1 től N-ig Ciklus i:=1-től N ig Utasítás1 Utasítás2 Ciklus vége Input/Output Be: N Be: N Be:N Ki: N Hajnal Éva: AAO előadás 23

24 Teszt Algoritmus fogalma és az algoritmussal szemben támasztott követelmények Feladat: n pénzérméből 1 hamis, állapítsuk meg kétkarú mérleggel a lehető legkevesebb méréssel, hogy melyik. Adjuk meg a teljes algoritmust! Hajnal Éva: AAO előadás 24

25 start Írja át az algoritmust struktogrammá, mondatszerű leírássá! Mi az eredmény, ha a=120, b=35 Be: a, b a<b h i c:=b b:=a a:=c a=b i h a:=a-b Ki: a end Hajnal Éva: AAO előadás 25

26 Adatszerkezetek A program feladata, hogy a bemenő adatokból, általában közbülső adatokon keresztül előállítsa a kimenő adatokat. Program=Algoritmus+Adatok (Wirth) A legtöbb programnyelv kategóriái: Egyszerű adat Összetett adat Mutató Hajnal Éva: AAO előadás 26

27 Adattípusok csoportosítása Egyszerű (megszámozható, v. skalár) típusok: logikai karakter egész valós (ez gyakran nem számít megszámozhatónak) Strukturált (összetett) típusok: tömb rekord egyesítés halmaz sorozat rekurzív típus Hajnal Éva: AAO előadás 27

28 Adattípusok jellemzői Neve Helyfoglalása Adattárolási mód Értékkészlet Műveletek Hajnal Éva: AAO előadás 28

29 Néhány elemi adattípus a C# nyelvben C# típus.net típus Helyfoglalás (byte) Adattárolási mód Értékkészlet Műveletek byte System.Byte 1 Kettes számr /*%, =, == char System.Char 1 Unicode bool System.Boolean 1 0 hamis >0 igaz sbyte System.SByte 1 kettes komplemens short System.Int16 2 Kettes komplemens int System.Int32 4 Kettes komplemens true, false &&,&,,, >>,<< float System.Single 4 IEEE 857 /,* double System.Double 8 IEEE 857 long System.Int64 8 Kettes komplemens string System.String Változó Unicode karaktersor object System.Object Változó Változó 29

30 Programozási tételek Gyakran előforduló programozási alapfeladatok megoldására szolgáló alapalgoritmusok. Helyességük matematikailag bizonyított. A legtöbb nagy feladat ezekre a kisebb feladatokra felbontható. Elvileg helyes, de nem mindig a leghatékonyabb megoldások egy-egy feladatra. Hajnal Éva: AAO előadás 30

31 Programozási tételek megadása Feladat specifikációja: Pl. Számítsuk ki n darab billentyűzetről bekért egész szám (<20000) összegét. Az n értéke változó, de az adatsor előtt bekérhető. Bemenő és kimenő adatok felsorolása, típusa esetleg a belső adatok felsorolása és típusa Előfeltételek a bemenő adatokkal szemben Utófeltétel vagy programfüggvény megadása Algoritmus leírása (Bonyolultság elemzése) Hajnal Éva: AAO előadás 31

32 Összegzés Eljárás Összegzés(s,n,összeg) Változó: i:egész összeg:elemtípus összeg:=0 Ciklus i:=0-tól n-ig 1-sével összeg:=összeg+s[i] Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 32

33 Tömb adatszerkezet fogalma és jelentősége A tömb olyan adatcsoport, amelynek elemei azonos típusúak és az elemekre sorszámmal ún. index-szel lehet hivatkozni. Az index sorszám jellegű adat, de nem csak szám lehet. Az adatok dimenziók szerint vannak elrendezve. A dimenziószám azt jelenti, hogy hány kijelölő érték (index) kell ahhoz, hogy az adatcsoportból egy elemet kiválasszunk. Hajnal Éva: AAO előadás 33

34 Egy dimenziós tömb : vektor Két dimenziós tömb: mátrix T T[4] T T[2,4] Hajnal Éva: AAO előadás 34

35 Megszámolás Eljárás Megszámolás(s,n,T,db) Változó: i,db:egész db:=0 Ciklus i:=0-tól n-ig 1-sével Ha s[i] T tul akkor db:=db+1 Elágazás vége Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 35

36 Sorozatszámítás Eljárás Sorozatszámítás(s,n,f,a) Változó: i:egész a:elemtípus a:=f0 Ciklus i:=0-tól n-ig 1-sével a:=f(a,s[i]) Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 36

37 Teszt Készítsen algoritmust, amely kiszámítja az első n szám faktoriálisát! Hajnal Éva: AAO előadás 37

38 Összegzés Eljárás Összegzés(s,n,összeg) Változó: i:egész összeg:elemtípus összeg:=0 Ciklus i:=0-tól n-ig 1-sével összeg:=összeg+s[i] Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 38

39 Tömb adatszerkezet fogalma és jelentősége A tömb olyan adatcsoport, amelynek elemei azonos típusúak és az elemekre sorszámmal ún. index-szel lehet hivatkozni. Az index sorszám jellegű adat, de nem csak szám lehet. Az adatok dimenziók szerint vannak elrendezve. A dimenziószám azt jelenti, hogy hány kijelölő érték (index) kell ahhoz, hogy az adatcsoportból egy elemet kiválasszunk. Hajnal Éva: AAO előadás 39

40 Egy dimenziós tömb : vektor Két dimenziós tömb: mátrix T T[4] T T[2,4] Hajnal Éva: AAO előadás 40

41 Megszámolás Eljárás Megszámolás(s,n,T,db) Változó: i,db:egész db:=0 Ciklus i:=0-tól n-ig 1-sével Ha s[i] T tul akkor db:=db+1 Elágazás vége Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 41

42 Sorozatszámítás Eljárás Sorozatszámítás(s,n,f,a) Változó: i:egész a:elemtípus a:=f0 Ciklus i:=0-tól n-ig 1-sével a:=f(a,s[i]) Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 42

43 Lineáris keresés Eljárás lineáris_keresés (A[N] sorozat, e: keresett elem) I=0 Ciklus amig i<n és A[I]<>e i=i+1 Ciklus vége Ha i<n akkor eredmény=i különben eredmény=-1 Elágazás vége Eljárás vége Hajnal Éva: AAO előadás 43

44 Logaritmikus keresés Eljárás binaris_keresés(a[n] sorozat, e: keresett elem) also=0, felso=n-1 Ciklus amig also<felso+1 és A[kozepso]<>e kozepso=(also+felso)/2 Ha A[kozepso]< e akkor also=kozepso+1 Elágazás vége Ha A[kozepso]> e akkor felso=kozepso-1 Elágazás vége Ciklus vege Ha A[kozepso]= e eredmeny=kozepso Különben eredmeny=-1 Elágazás vége Eljárás vége Hajnal Éva: AAO előadás 44

45 Maximum kiválasztás Eljárás Maximumkiválasztás(s,n,max) Változó: i:egész max:elemtípus max:=s[0] Ciklus i:=1-t/l n-ig 1-sével Ha s[i]>max akkor max:=s[i] Elágazás vége Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 45

46 Teszt Mit nevezünk programozási tételnek? Fibonacci sorozat n. elemének meghatározása Hajnal Éva: AAO előadás 46

47 Maximum kiválasztás Eljárás Maximumkiválasztás(s,n,max) Változó: i:egész max:elemtípus max:=s[0] Ciklus i:=1-től n-1 ig 1-sével Ha s[i]>max akkor max:=s[i] Elágazás vége Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 47

48 Kiválogatás ELJÁRÁS KIVÁLOGATÁS (A[],N,T,B[],DB) DB=0 I= 0 CIKLUS AMÍG I < N HA A[I] T tulajdonságú AKKOR B[DB]=A[I] DB=DB+1 ELÁGAZÁS VÉGE I=I+1 CIKLUS VÉGE ELJÁRÁS VÉGE Hajnal Éva: AAO előadás 48

49 Szétválogatás Eljárás Szétválogatás(s,n,dt,dbt,dnt,dbnt,T) Változó: i,dbt,dbnt:egész dbt:=0; dbnt:=0 Ciklus i:=0-tól n-ig 1-sével Ha s[i] T tul. akkor dbt:=dbt+1 dt[dbt]:=s[i] különben dbnt:=dbnt+1 dnt[dbnt]:=s[i] Elágazás vége Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 49

50 Unio Eljárás Unioképzés(s,n,z,m,unio,db) Változó: i,j,db:egész unio:=s db:=n-1 Ciklus j:=0-tól m-ig 1-sével i:=0 Ciklus amíg i<n és s[i]!=z[j] i:=i+1 Ciklus vége Ha i=n akkor db:=db+1 unio[db]:=z[j] Elágazás vége Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 50

51 Feladat Ismert Magyarország I. osztályú focibajnokságának összes eddigi góllövőlistája. Készítsük el az abszolút listát. Rekord adatszerkezet fogalma Hajnal Éva: AAO előadás 51

52 Összefuttatás Eljárás Összefuttatás(s,n,z,m,unio,db) Változó: i,j,db:egész i:=0; j:=0; db:=-1 Ciklus amíg i<n és j<m db:=db+1 Elágazás s[i]<z[j] esetén unio[db]:=s[i]; i:=i+1 s[i]=z[j] esetén unio[db]:=s[i]; i:=i+1; j:=j+1 s[i]>z[j] esetén unio[db]:=z[j]; j:=j+1 Elágazás vége Ciklus vége Ciklus amíg i<n db:=db+1; unio[db]:=s[i]; i:=i+1 Ciklus vége Ciklus amíg j<m db:=db+1; unio[db]:=z[j]; j:=j+1 Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 52

53 Metszet Eljárás Metszetképzés(s,n,z,m,metszet,db) Változó: i,j,db:egész db:=0 Ciklus i:=0-tól n-ig 1-sével j:=0 Ciklus amíg j<m és s[i]!=z[j] j:=j+1 Ciklus vége Ha j<m akkor db:=db+1 metszet[db]:=s[i] Elágazás vége Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 53

54 Rendezés Fogalma: Rendezésnek nevezzük azt a folyamatot, amikor egy halmaz elemeit valamilyen szabály szerint sorba állítjuk. A rendezés meggyorsítja az elemek későbbi keresését. A rendezendő adattömeg néha olyan nagy, hogy nem fér be a tárba. Ezek rendezésére valók a külső rendezések. Az alábbi rendezési algoritmusok belső rendezések. Hajnal Éva: AAO előadás 54

55 Közvetlen cserés rendezés Eljárás Rendezés(s,n) Változó i,j:egész Ciklus i:=0-tól n-2-ig, 1-sével Ciklus j:=i+1-től n-1 ig, 1-sével Ha s[i]>s[j] akkor csere(s[i],s[j]) Elágazás vége Ciklus vége Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 55

56 Közvetlen cserés rendezés indexvektorral Eljárás Rendezés(s,n) Változó i,j:egész ind:tömb[0..n:egész] Ciklus i:=0-tól n-ig, 1-sével ind[i]:=i Ciklus vége Ciklus i:=0-től n-1-ig, 1-sével Ciklus j:=i+1-től n-ig, 1-sével Ha s[ind[i]]>s[ind[j]] akkor csere(ind[i],ind[j]) Elágazás vége Ciklus vége Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 56

57 A rendezés ára Műveletigény Tárigény Programbonyolultság Hajnal Éva: AAO előadás 57

58 Rendezőalgoritmusok Bonyolultság tényezői: időbonyolultsága Összehasonlítások száma Cserék Értékadások száma Legrosszabb és átlagos eset közvetlen cserés rendezés összehasonlítások és cserék (legrosszabb eset) száma: n 2 (n 1) 2 O(n Hajnal Éva: AAO előadás 58 )

59 Minimum kiválasztásos rendezés Eljárás Rendezés(s,n) Változó i,j:egész Ciklus i:=0-tól n-1-ig, 1-sével érték:=s[i] index:=i Ciklus j:=i+1-től n-ig, 1-sével Ha érték>s[j] akkor érték:=s[j]; index:=j Elágazás vége Ciklus vége s[index]:=s[i] s[i]:=érték Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 59

60 Buborékos rendezés Eljárás Rendezés(s,n) Változó i,j:egész Ciklus i:=0-től n-1 ig, 1-sével Ciklus j:=n-től i-ig, -1-sével (visszafele) Ha s[j-1]>s[j] akkor csere(s[j-1],s[j]) Elágazás vége Ciklus vége Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 60

61 Javított buborékos rendezés ELJÁRÁS JOBB_BUBORÉK(S[],N) CSERE = 1 CIKLUS AMÍG CSERE ==1 CSERE = 0 J=0 CIKLUS AMÍG J<N-1 HA S[J]>S[J+1] AKKOR csere(s[j],s[j+1]) CSERE =1 ELÁGAZÁS VÉGE J=J+1 CIKLUS VÉGE CIKLUS VÉGE ELJÁRÁS VÉGE ELJÁRÁS LEGJOBB_BUBORÉK(S[],N) CSERE = 1 DB = N CIKLUS AMÍG CSERE == 1 CSERE = 0 J=0 CIKLUS AMÍG J< DB -1 HA S[J]>S[J+1] AKKOR csere(s[j], S[J+1]) CSERE =1 ELÁGAZÁS VÉGE J=J+1 CIKLUS VÉGE DB = DB-1 CIKLUS VÉGE ELJÁRÁS VÉGE Hajnal Éva: AAO előadás 61

62 Egyszerű beillesztéses rendezés (kártyás rendezés) Eljárás Rendezés(s,n) Változó i,j:egész M:elemtípus Ciklus i:=1-től n-1 ig, 1-sével M:=s[i] j:=i-1 Ciklus amíg M<s[j] és j>=0 s[j+1]:=s[j] j:=j-1 Ciklus vége s[j+1]:=m Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 62

63 Beillesztéses rendezés bonyolultsága Mozgatások száma Összehasonlítások száma Hajnal Éva: AAO előadás 63

64 Az összehasonlításon alapuló rendezések összehasonlításainak Alsó becslés: k>=lg(n!) K db kódszó (igen, nem) a sorrend helyességére. száma Bemenet 123 nnn 132 nin 213 inn 231 nii Kódszó variációk 312 iin 321 iii Hajnal Éva: AAO előadás 64

65 Shell rendezés Hajnal Éva: AAO előadás 65

66 Shell rendezés Eljárás Rendezés(s,n) Változó i,j,d,b:egész REK:elemtípus d:=n-1 Ciklus i:=0 Ciklus amíg i<d és i+d<n Ciklus j:=i+d-től n-ig, d-esével REK:=s[j]; B:=j-d Ciklus amíg B>0 és REK<s[B] S[B+d]:=s[B]; B:=B-d Ciklus vége S[B+d]:=REK Ciklus vége i:=i+1 Ciklus vége d:=int(d/2) Ciklus vége amíg d<1 Eljárás vége Hajnal Éva: AAO előadás 66

67 ZH Elfogadva 40% fölött 20% alatt letiltás Feladattípusok: Elmélet ~50% Készíts algoritmust! Melyik programozási tételre vezethető vissza? Írd át struktogramból mondatszerű leírássá! Milyen értéket vesznek fel a változók a program végén? Milyen adatokkal lehet tesztelni? Hajnal Éva: AAO előadás 67

68 Feladat Programozási tételek alkalmazása Egy iskolában sportdélutánt szerveznek. A sportoló tanulók nevét sportáganként tartjuk nyilván. Állapítsuk meg a sportdélutánon résztvevő tanulók számát. Adott az A(N) egészekből álló számsorozat. Válogassuk ki azokat az egymástól különböző elemeket, amelyeknél a számjegyek összege 10. Ismert Magyarország I. osztályú focibajnokságának összes eddigi góllövőlistája. Készítsük el az abszolút listát. Hajnal Éva: AAO előadás 68

69 Függvények A függvény utasítások logikailag összefüggő csoportja, mely önálló névvel és visszatérési értékkel rendelkezik. Hívása printf( Hello ); Console.Clear(); Consol.WriteLine( Hello ); a=sin(x); Consol.WriteLine(sin(x)); Szerkezete Visszatérésiértéktípusa FüggvényNeve(paraméterlista) { Utasítások; Return visszatérési érték; } Adatszerkezetek, algoritmusok, objektumok Dr. Hajnal Éva 69

70 Függvény végrehajtása, és definíciója static void terulet() { Console.WriteLine("Kérem a négyzet oldalát:"); int t = Int32.Parse(Console.ReadLine()); Console.WriteLine( t * t); } 1. Program belépési pontja (Entry point) static void Main(string[] args) { terulet(); Console.ReadLine(); } Adatszerkezetek, algoritmusok, objektumok Dr. Hajnal Éva 70

71 Eljárás végrehajtása I. Adatszerkezetek, algoritmusok, objektumok Dr. Hajnal Éva 71

72 Eljárás végrehajtása II. Adatszerkezetek, algoritmusok, objektumok Dr. Hajnal Éva 72

73 Változók hatásköre A változók hatásköre az őket tartalmazó blokkra terjed ki. Ha több eljárás közt osztunk meg egy változót: Static módosítóval rendelkező eljáráshoz static módosítójú változót kell definiálni. Adatszerkezetek, algoritmusok, objektumok Dr. Hajnal Éva 73

74 Függvény visszaadott értéke void int double Összetett adat pl. tömb Eljárás függvény Adatszerkezetek, algoritmusok, objektumok Dr. Hajnal Éva 74

75 Paraméter átadás static void Kiiras(int a,int b) { Console.WriteLine("A {0}+{1}={2}",a,b,a+b); } Adatszerkezetek, algoritmusok, objektumok Dr. Hajnal Éva 75

76 Függvény paraméterei Bemenő-Kimenő paraméterek Érték szerinti cím szerinti paraméter átadás Paraméterek, helyi változók tárolása Adatszerkezetek, algoritmusok, objektumok Dr. Hajnal Éva 76

77 Átadott paraméter egyeztetése Adatszerkezetek, algoritmusok, objektumok Dr. Hajnal Éva 77

78 Érték szerinti paraméter átadás Adatszerkezetek, algoritmusok, objektumok Dr. Hajnal Éva 78

79 Cím szerinti paraméter átadás Átmenő, kimenő paraméter Ref, out Adatszerkezetek, algoritmusok, objektumok Dr. Hajnal Éva 79

80 Paraméterátadás Szignatúra: függvény neve, és paraméterlistája az abban levő típusokkal Írhatunk azonos nevű függvényeket, ha a szignatúrájuk különböző. Polimorfizmus. Adatszerkezetek, algoritmusok, objektumok Dr. Hajnal Éva 80

81 Programozási feladat: 1. Készítsünk olyan függvényt, amely meghatározza két tömb elemeinek ismeretében a metszetük elemszámát! 2. Készítsünk olyan függvényt, amely meghatározza egy paraméterben megadott, int típusú tömbben a leghosszabb egyenlő elemekből álló szakasz hosszát! Adatszerkezetek, algoritmusok, objektumok Dr. Hajnal Éva 81

82 Teszt Mit nevezünk függvénynek, eljárásnak? Mit jelent a paraméterátadás kifejezés? Mit jelent az érték szerinti, cím szerinti paraméter átadás? Hajnal Éva: AAO előadás 82

83 Tömb Feladat: Tételek alkalmazása mátrixokra Adott egy tanulócsoport, minden diákhoz tartozik 4 vizsgaeredmény. Adjuk meg az átlagot, a bukások számát, a bukottak számát. Mátrix transzponáltja Forgatás Hajnal Éva: AAO előadás 83

84 Ritka mátrix A ritka mátrix olyan mátrix, melynek sok eleme nulla, vagy sok azonos értékű eleme van. Speciális eset pl. a háromszögmátrix Tárolás vektorban Elemek száma: n*(n+1)/2 Elemek indexe: L=(j*(j-1)/2)+K Általános eset 1. Háromsoros reprezentáció A három egydimenziós tömb azonos elemei írnak le 1-1 elemet sorfolytonos ábrázolásban. Mátrix n sor,3 oszlop sorfolytonos ábrázolással, a 0. elem az elemszám pl. az A mátrix: Ekkor tehát: SOR = (1,1,1,2,5) OSZLOP = (1,2,6,2,6) ÉRTÉK = (1,2,6,4,2) vagy Hajnal Éva: AAO előadás 84

85 Leképzés ritka mátrixra Eljárás lekepez() int i, j, k = 0; ciklus i=1-től N ig ciklus j=1 től Míg ha(a[i,j]!= 0) akkor ++k; SOR[k] = i; OSZLOP[k] = j; ERTEK[k] = A[j]; Elágazás vége ciklus vége ciklus vége Eljárás vége Fordítva, amikor visszafelé keressük egy elem, pl. az A(ij)-t Eljárás keres(int i, int j) int l=1; ciklus amíg (sor[l]!= i OR OSZLOP[l]!= j) and l<k ) Ha l<k akkor eredmény= ERTEK[l] különben (SOR[l] > i) eredmény= 0 elágazás vége Ciklus vége Eljárás vége Hajnal Éva: AAO előadás 85

86 Feladat: Adjuk meg egy három x n es mátrixban tárolt ritka mátrix transzponáltját M=A[0,1], n=a[0,2], t=a[0,3] B[0,1]=n, B[0,2]=m, B[0,3]=t db=1 Ciklus sor=1 től n-ig ciklus p=1 től t-ig Ha A[p,2]=sor akkor B[db,1]=A[p,2], B[db,2]=A[p,1], B[db,3]=A[p,3] db=db+1 Elágazás vége ciklus vége Ciklus vége Hajnal Éva: AAO előadás 86

87 Verem, sor Speciális tömb adatszerkezet, az adat beírás és az olvasás/törlés helye korlátozott. Verem: LIFO Last In First Out Műveletei: push adatbeírás (ráhelyezés) Pop olvasás/törlés (leemelés) Top - tetőelem Sor: FIFO First In First Out Műveletei: sorból Qdelete Sorba - Qinsert Hajnal Éva: AAO előadás 87

88 Feladat verem, sor alkalmazására Szöveg megfordítása Szöveg szavainak megfordítása Szavak sorrendjének a megfordítása Ügyintézés modellezése Otp fiók várólista modellezése Hajnal Éva: AAO előadás 88

89 Teszt: Feladat verem, sor alkalmazására Készítsen algoritmust az alábbi feladatok megoldására Szöveg megfordítása Szöveg szavainak megfordítása Szavak sorrendjének a megfordítása Ügyintézés modellezése Otp fiók várólista modellezése Hajnal Éva: AAO előadás 89

90 Objektum Orientált paradigma A szoftver krízis a szoftverfejlesztés válsága, miszerint egy hagyományos módszer (strukturált programozás) már nem képes az igényeknek megfelelő, minőségi szoftver előállítására. Cél: Olcsó Jó minőségű szoftver Szoftver elemek újrafelhasználhatósága Szoftver fejlesztés csapatmunkában (design és kód különválasztása) Hajnal Éva: AAO előadás 90

91 Objektum definíció Elv: Legkisebb modul az objektum, melyben adatok és eljárások össze vannak zárva. Adata: neve Eljárás: Fajtája Testsúly hangot ad eszik osztály Kutya Objektumok, más néven példányok Bimbi (Kutya) Bukfenc (Kutya) Blöki (Kutya) Hajnal Éva: AAO előadás 91

92 Objektumok jellemzője Egységbe zárás (Encapsulation) Felelősség Zártság Osztályozás Polimorfizmus Öröklődés Futás alatti kötés Hajnal Éva: AAO előadás 92

93 Előzmények SIMULA67: Algol verzió, hajók modellezése objektumokkal 1969 Alan Kay egyetemista szakdolgozata az objektum orientált programozásról Xerox Smalltalk az első tiszta objektumorientált nyelv 80-as évek: OO paradigma általánosan elfogadottá vált Hajnal Éva: AAO előadás 93

94 Programnyelvek csoportosítása Tiszta OO nyelv pl. C# - Programozás csak oo alapon képzelhető el. Minden komponens objektum. Feladat a saját osztályok elhelyezése a hierarchiában. Hibrid nyelvek pl. Turbo Pascal, C++ - kétféle paradigma mentén is elképzelhető a programozás. Objektum alapú nyelvek pl. Visual Basic, Javascript, PHP 4 Hajnal Éva: AAO előadás 94

95 Objektum Elv: Legkisebb modul az objektum, melyben adatok és eljárások össze vannak zárva. Objektumok jellemzője: Zártság : a mezők tárolják az információt, a metódusok kommunikálnak a külvilággal. Az osztály változóit csak a metódusokon keresztül változtathatjuk meg. Felelősség Polimorfizmus Osztályozás Öröklődés Futás alatti kötés Hajnal Éva: AAO előadás 95

96 UML feladata Egységesített modellező nyelv A program osztályainak és objektumainak megtervezését, és elemzését segítő modellező nyelv Jogilag is szabványos jelölésrendszer Grafikus nyelv, azaz a modellt diagramok segítségével ábrázolja Alkalmazható a vállalatok közötti információcsere eszközeként Nincs matematikailag bizonyítva a helyessége Hajnal Éva: AAO előadás 96

97 UML Unified Modeling Language Rumbaugh Booch Jacobsen Az Objektumorientált rendszer saját feladattal bíró, egymással kommunikáló objektumok összesége. Felhasználói interfész Kontroll Implementáció objektum konténer Információ hordozó Hajnal Éva: AAO előadás 97

98 UML diagramtípusok Osztálydiagram : Az objektumokat és az objektumok közötti kapcsolatokat jeleníti meg. Objektumdiagram: Egyedi objektumpéldányok kapcsolatának megjelenítése Állapotdiagram: az objektum időbeli viselkedését írja le. alszik figyel ugat eszik támad Ember gazda Kutya Hajnal Éva: AAO előadás 98

99 Kapcsolattípusok Asszociáció Öröklés Tartalmazási kapcsolat Hajnal Éva: AAO előadás 99

100 Osztály fogalma Az osztály: Névvel ellátott típus, ami az adattagokat és a rajtuk végzett műveleteket egységben kezeli. Class Kutya { private int lábszám; private int kg; public int Ugat(paraméterek) {kód} } adatta g Metódus Felület: műveletek összesége UML Osztály -lábszám int -kg int + Ugat() Hajnal Éva: AAO előadás 100

101 Adatok és metódusok láthatósága Alap láthatóság módosítószavak + publikus (public) - privát (private) # védett (protected) (internal protected internal C#) Hajnal Éva: AAO előadás 101

102 Tervezzünk programot, amely síkidomok kerületét, területét tudja kiszámítani Hajnal Éva: AAO előadás 102

103 Teszt Tervezzünk programot, amely különböző síkidomok kerületét, területét tudja kiszámítani. (Készítsük el az osztály és az objektum diagramot az UML szabvány szerint!) Tervezzünk programot, amely különböző irányba mozgó karaktereket tud kezelni. Hajnal Éva: AAO előadás 103

104 Játékprogramok A számítógép feladata Játék szimuláció Játék szereplő Hajnal Éva: AAO előadás 104

105 Backtrack algoritmus 8 királynő problémája Labirintus játékok Lefedési feladatok Hajnal Éva: AAO előadás 105

106 Backtrack algoritmus kezdetben d[] := 0 Eljárás bt(i) Ha i > 0 akkor d[i] := d[i] + 1 // adott szinten a következő döntés Ciklus amíg rossz(i) és d[i] még növelhető d[i] := d[i] + 1 Ciklus vége Ha nem rossz(i) // az i. szinten volt jó döntés akkor Ha megoldást találtunk akkor a megoldás kiírás/tárolása különben bt(i+1) // megyünk tovább a következő szintre Elágazás vége különben d[i] := 0 bt(i-1) // visszalépünk az előző döntési szintre Elágazás vége Elágazás vége Eljárás vége Hajnal Éva: AAO előadás 106

107 Eljárás bt(i) Ha i > 0 akkor d[i] := d[i] + 1 Ciklus amíg d[i]<=8 és rossz(i) d[i] := d[i] + 1 Ciklus vége Ha d[i] <= 8 akkor Ha i = 8 akkor KI( d[] ) különben bt(i+1) Elágazás vége különben d[i] := 0; bt(i-1); Elágazás vége Elágazás vége Eljárás vége 8 királynő megoldása Hajnal Éva: AAO előadás 107

108 rossz: egymás mellett Függvény rossz(i):logikai rossz := hamis Ciklus j := 1-től (i-1)-ig Ha (T[j]=T[i]) vagy (T[j]-j=T[i]-i) vagy (T[j]+j=T[i]+i) akkor rossz := igaz kiugrás a ciklusból Elágazás vége Ciklus vége Függvény vége Azonos főátlóban Azonos mellékátlóban Hajnal Éva: AAO előadás 108

109 Vizsga Írásbeli Elméleti kérdések az órák anyaga alapján Feladatok Min 50% Érdeklődőknek: Hajnal Éva: AAO előadás 109

110 Vizsgafeladat példa A Sóhivatalban minden ügyintézőhöz naponta 1-10 új elintézendő akta érkezik, és minden ügyintéző naponta 1-10 ügyet old meg. Új ügyintézőt vesznek fel, aki úgy dolgozik, hogy a beérkező aktákat az asztalán egymás tetejére teszi. Először a legfelső aktával foglalkozik, majd veszi a következőt. (Mindig a kupac tetejéről.) Írjon algoritmust, amely verem adatszerkezettel kimutatást készít arról, hogy egy 10 napos ciklusban naponta mennyi ügyet dolgozott fel az ügyintéző, és a végén mennyi elintézetlen aktája maradt! A reggelente beérkező, valamint a napi elintézendő akták számát olvassa be. Az aktákat a beérkezés szerinti sorszámukkal tárolja a veremben! Az egy napon elintézett akták sorszámait írja ki a képernyőre, majd a 10. nap után az elintézetlen akták sorszámait is írja ki! A vermet megvalósító tömb legfeljebb 20 elemű legyen. Ha a verembe nem férnek be az új akták, akkor később kell őket betenni, ahogy a hely felszabadul. Ha viszont nincs annyi elintézetlen akta, amennyit fel kellene dolgozni egy napon, akkor aznap kevesebbet dolgozik az ügyintéző. A megoldáshoz csak egy tömböt használhat! Hajnal Éva: AAO előadás 110

Adatstruktúrák Algoritmusok Objektumok

Adatstruktúrák Algoritmusok Objektumok Adatstruktúrák Algoritmusok Objektumok A számítógépes problémamegoldás modellezésének módszerei. Programozási elvek és módszerek: imperatív, strukturált, moduláris, objektumorientált programozás. Programozási

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek középszint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM

Részletesebben

PROGRAMOZÁSI NYELVEK (GYAKORLAT)

PROGRAMOZÁSI NYELVEK (GYAKORLAT) PROGRAMOZÁSI NYELVEK (GYAKORLAT) A következő részben olyan szabványos algoritmusokkal fogunk foglalkozni, amelyek segítségével a későbbiekben sok hétköznapi problémát meg tudunk majd oldani. MUNKAHELYZET-

Részletesebben

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Programozás I. 3. előadás Tömbök a C#-ban Metódusok C#-ban Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia

Részletesebben

Informatikai tehetséggondozás:

Informatikai tehetséggondozás: Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Rendezések TÁMOP-4.2.3.-12/1/KONV-2012-0018 Az alapfeladat egy N elemű sorozat nagyság szerinti sorba rendezése. A sorozat elemei

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 1. Előadás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu Programozás

Részletesebben

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

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási

Részletesebben

RENDEZÉSEK, TOVÁBBI PROGRAMOZÁSI TÉTELEK

RENDEZÉSEK, TOVÁBBI PROGRAMOZÁSI TÉTELEK RENDEZÉSEK, TOVÁBBI PROGRAMOZÁSI TÉTELEK 1. EGY SOROZATHOZ EGY SOROZATOT RENDELŐ TÉTELEK 1.1 Rendezések 1.1.1 Kitűzés Adott egy sorozat, és a sorozat elemein értelmezett egy < reláció. Rendezzük a sorozat

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek középszint 0521 É RETTSÉGI VIZSGA 2005. október 24. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI MINISZTÉRIUM I. rész

Részletesebben

Alkalmazott modul: Programozás

Alkalmazott modul: Programozás Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás Feladatgyűjtemény Összeállította: Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Frissítve: 2015.

Részletesebben

Történeti áttekintés

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

Részletesebben

hatására hátra lép x egységgel a toll

hatására hátra lép x egységgel a toll Ciklusszervező utasítások minden programozási nyelvben léteznek, így például a LOGO-ban is. LOGO nyelven, (vagy legalábbis LOGO-szerű nyelven) írt programok gyakran szerepelnek az iskola számítástechnikai

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

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 1. Előadás Dr. Bécsi Tamás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu A tantárgyi

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

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

C# feladatok gyűjteménye

C# feladatok gyűjteménye C# feladatok gyűjteménye Készítette: Fehérvári Károly I6YF6E Informatika tanár ma levelező tagozat 1) Feladat: ALAPMŰVELETEK Készítsünk programot, amely bekér két egész számot. Majd kiszámolja a két szám

Részletesebben

Előzmények 2011.10.23.

Előzmények 2011.10.23. Előzmények Dr. Mileff Péter A 80-as évek közepétől a szoftverek komplexitása egyre növekszik. Megjelentek az OO nyelvek. Az OO fejlesztési módszerek a rendszer különböző nézőpontú modelljeit készítik el.

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 elmélet tananyag

Programozás elmélet tananyag 2016/04/01 01:25 1/41 Programozás elmélet tananyag < Programozás elmélet Programozás elmélet tananyag Szerző: Sallai András Copyright Sallai András, 2011, 2013, 2014 Licenc: GNU Free Documentation License

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

SZAKDOLGOZAT. Kiss Albert

SZAKDOLGOZAT. Kiss Albert SZAKDOLGOZAT Kiss Albert Debrecen 2009 Debreceni Egyetem Informatikai Kar A VIZUÁLIS PROGRAMOZÁS TANÍTÁSA A DEBRECENI MECHWART ANDRÁS GÉPIPARI ÉS INFORMATIKAI SZAKKÖZÉPISKOLÁBAN Témavezető: Nyakóné dr.

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 C++ programozásba

Bevezetés a C++ programozásba Bevezetés a C++ programozásba A program fogalma: A program nem más, mint számítógép által végrehajtható utasítások sorozata. A számítógépes programokat különféle programnyelveken írhatjuk. Ilyen nyelvek

Részletesebben

Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése 2011.10.23.

Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése 2011.10.23. Szoftverprototípus készítése Dr. Mileff Péter A prototípus fogalma: a szoftverrendszer kezdeti verziója Mi a célja? Arra használják, hogy bemutassák a koncepciókat, kipróbálják a tervezési opciókat, jobban

Részletesebben

Informatikus informatikus 54 481 04 0010 54 07 Térinformatikus Informatikus T 1/9

Informatikus informatikus 54 481 04 0010 54 07 Térinformatikus Informatikus T 1/9 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

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

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

Széchenyi István Szakképző Iskola

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

Részletesebben

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

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

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net

Bánsághi Anna anna.bansaghi@mamikon.net ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 1. ELŐADÁS - C# ÁTTEKINTÉS - 1 2015 Bánsághi Anna 1 of 84 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 84

Részletesebben

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

Programozás I. 2. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 2. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Vizuális modellezés Programozás: Modellezés és tervezés Implemetálás (Kódolás) Dokumentálás és Tesztelés

Részletesebben

Algoritmusok. Hogyan csináljam?

Algoritmusok. Hogyan csináljam? Algoritmusok Hogyan csináljam? 1 Az algoritmus fogalma Algoritmusnak olyan pontos előírást nevezünk, amely megmondja, hogy bizonyos feladat megoldásakor milyen műveleteket milyen meghatározott sorrendben

Részletesebben

Objektum Orientált Szoftverfejlesztés (jegyzet)

Objektum Orientált Szoftverfejlesztés (jegyzet) Objektum Orientált Szoftverfejlesztés (jegyzet) 1. Kialakulás Kísérletek a szoftverkrízisből való kilábalásra: 1.1 Strukturált programozás Ötlet (E. W. Dijkstra): 1. Elkészítendő programot elgondolhatjuk

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

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek emelt szint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK EMELT SZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK ÉRETTSÉGI VIZSGA 2006. május 18. INFORMATIKAI ALAPISMERETEK EMELT SZINTŰ ÍRÁSBELI VIZSGA 2006. május 18. 14:00 I. Időtartam: 60 perc Pótlapok száma Tisztázati Piszkozati OKTATÁSI MINISZTÉRIUM Informatikai

Részletesebben

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

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás 2. előadás Console I/O bővebben Lásd mintaprogram 2015.09.21. Számítástechnika I. 2. Előadás 2 Számábrázolásról

Részletesebben

Információs technológiák 4. Ea: A lélek. A csak szidható kézzelfoghatatlan

Információs technológiák 4. Ea: A lélek. A csak szidható kézzelfoghatatlan Információs technológiák 4. Ea: A lélek A csak szidható kézzelfoghatatlan 226/1 B ITv: MAN 2015.09.08 Témakörök Szoftver alapok Operációs rendszerek Felhasználói programok Segédprogramok Programfejlesztő

Részletesebben

4. Programozási nyelvek osztályozása. Amatőr és professzionális

4. Programozási nyelvek osztályozása. Amatőr és professzionális 4. Programozási nyelvek osztályozása. Amatőr és professzionális programozási nyelvek. Számítási modellek (Neumann-elvű, automataelvű, funkcionális, logikai). Programozási nyelvekkel kapcsolatos fogalmak

Részletesebben

Programozás 1. 2.gyakorlat

Programozás 1. 2.gyakorlat Programozás 1. 2.gyakorlat Ismétlés Objektum: Egy a való világból vett elem (ami lehet elvonatkoztatott is) számítógépes ábrázolása. Pl: Kurzus, Személy stb Minden Objektum rendelkezik: Állapottal Viselkedéssel

Részletesebben

2.1.A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA

2.1.A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA 2.Szoftverfejlesztés 2.1.A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA Szoftverfejlesztés: magában foglalja mindazon elveket, módszereket és eszközöket, amelyek célja a programok megbízható és hatékony elkészítésének

Részletesebben

Objektum orientált alapelvek

Objektum orientált alapelvek Krizsán Zoltán 1 [2012. február 12.] Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Programozási nyelvek A programozási eszközök absztrakciós

Részletesebben

Programozás 2., I. kötet Az objektumorientált paradigma alapjai

Programozás 2., I. kötet Az objektumorientált paradigma alapjai TÁMOP-4.1.1.F-14/1/KONV-2015-0009 A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉS MODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSI TUDOMÁNYEGYETEMEN Achs Ágnes Szendrői Etelka Programozás 2., I. kötet Az objektumorientált

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

Programozási tételek. Jegyzet. Összeállította: Faludi Anita 2012.

Programozási tételek. Jegyzet. Összeállította: Faludi Anita 2012. Programozási tételek Jegyzet Összeállította: Faludi Anita 2012. Tartalomjegyzék Bevezetés... 3 Programozási tételek... 4 I. Elemi programozási tételek... 4 1. Sorozatszámítás (összegzés)... 4 2. Eldöntés...

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek középszint 1321 ÉRETTSÉGI VIZSGA 2014. október 13. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ EMBERI ERŐFORRÁSOK MINISZTÉRIUMA

Részletesebben

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

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

Részletesebben

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

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

Gyakorló feladatok ZH-ra

Gyakorló feladatok ZH-ra Algoritmuselmélet Schlotter Ildi 2011. április 6. ildi@cs.bme.hu Gyakorló feladatok ZH-ra Nagyságrendek 1. Egy algoritmusról tudjuk, hogy a lépésszáma O(n 2 ). Lehetséges-e, hogy (a) minden páros n-re

Részletesebben

A hierarchikus adatbázis struktúra jellemzői

A hierarchikus adatbázis struktúra jellemzői A hierarchikus adatbázis struktúra jellemzői Az első adatbázis-kezelő rendszerek a hierarchikus modellen alapultak. Ennek az volt a magyarázata, hogy az élet sok területén első közelítésben elég jól lehet

Részletesebben

VB C++ C# JScript J# Common Language Specification. ADO.NET and XML. Base Class Library. Common Language Runtime. Operating System

VB C++ C# JScript J# Common Language Specification. ADO.NET and XML. Base Class Library. Common Language Runtime. Operating System P r o g r a m o z á s i n y e l v e k I I. C # E jegyzet másolata nem használható fel szabadon,az előadás anyagának kivonata. Ezen teljes jegyzetről,vagy annak bármely részéről bármely másolat készítéséhez

Részletesebben

23. Fa adatszerkezetek, piros-fekete fa adatszerkezet (forgatások, új elem felvétele, törlés)(shagreen)

23. Fa adatszerkezetek, piros-fekete fa adatszerkezet (forgatások, új elem felvétele, törlés)(shagreen) 1. Funkcionális programozás paradigma (Balázs)(Shagreen) 2. Logikai programozás paradigma(még kidolgozás alatt Shagreen) 3. Strukturált programozás paradigma(shagreen) 4. Alapvető programozási tételek

Részletesebben

Egyszerű programozási tételek

Egyszerű programozási tételek Egyszerű programozási tételek Sorozatszámítás tétele Például az X tömbben kövek súlyát tároljuk. Ha ki kellene számolni az összsúlyt, akkor az S = f(s, X(i)) helyére S = S + X(i) kell írni. Az f0 tartalmazza

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

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

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

Részletesebben

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

Bánsághi Anna anna.bansaghi@mamikon.net

Bánsághi Anna anna.bansaghi@mamikon.net ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 2. ELŐADÁS - C# ÁTTEKINTÉS - 2 2015 Bánsághi Anna 1 of 64 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 64

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 Láthatósági szintek Névterek és hatókörök Osztály szintő tagok Beágyazott osztályok

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

Szakmai program 2015

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

Részletesebben

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

Bánsághi Anna anna.bansaghi@mamikon.net. 1 of 67 SZOFTVERTECHNOLÓGIA Bánsághi Anna anna.bansaghi@mamikon.net 5. ELŐADÁS - RENDSZERTERVEZÉS 1 1 of 67 TEMATIKA I. SZOFTVERTECHNOLÓGIA ALTERÜLETEI II. KÖVETELMÉNY MENEDZSMENT III. RENDSZERMODELLEK IV. RENDSZERARCHITEKTÚRÁK

Részletesebben

Adatbázisok I 2012.05.11. Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés

Adatbázisok I 2012.05.11. Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés Adatbázisok I Szemantikai adatmodellek Szendrői Etelka PTE-PMMK Rendszer és Szoftvertechnológiai Tanszék szendroi@pmmk.pte.hu Adatmodellek komponensei Adatmodell: matematikai formalizmus, mely a valóság

Részletesebben

BME MOGI Gépészeti informatika 4.

BME MOGI Gépészeti informatika 4. BME MOGI Gépészeti informatika 4. 1. feladat önálló feladatmegoldás Generáljon két 1 és 10 közötti véletlen egész számot, majd kiírja ezekre a számokra a tízes szorzótáblákat! Ha az első generált szám

Részletesebben

Eszterházy Károly Főiskola Matematikai és Informatikai Intézet. Adatszerkezetek és algoritmusok. Geda Gábor

Eszterházy Károly Főiskola Matematikai és Informatikai Intézet. Adatszerkezetek és algoritmusok. Geda Gábor Eszterházy Károly Főiskola Matematikai és Informatikai Intézet Adatszerkezetek és algoritmusok Geda Gábor Eger, 2012 Készült a TÁMOP-4.1.2-08/1/A-2009-0038 támogatásával. 2 Tartalomjegyzék 1. Előszó 4

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK ÉRETTSÉGI VIZSGA 2012. május 25. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI VIZSGA 2012. május 25. 8:00 I. Időtartam: 30 perc Pótlapok száma Tisztázati Piszkozati NEMZETI ERŐFORRÁS MINISZTÉRIUM Informatikai

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

C# feladatgyűjtemény Kovács Emőd, Radványi Tibor, Király Roland, Hernyák Zoltán

C# feladatgyűjtemény Kovács Emőd, Radványi Tibor, Király Roland, Hernyák Zoltán C# feladatgyűjtemény Kovács Emőd, Radványi Tibor, Király Roland, Hernyák Zoltán C# feladatgyűjtemény Kovács Emőd, Radványi Tibor, Király Roland, Hernyák Zoltán Publication date 2011 A tananyag a TÁMOP-4.1.2-08/1/A-2009-0046

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

Mesterséges intelligencia, 7. előadás 2008. október 13. Készítette: Masa Tibor (KPM V.)

Mesterséges intelligencia, 7. előadás 2008. október 13. Készítette: Masa Tibor (KPM V.) Mesterséges intelligencia, 7. előadás 2008. október 13. Készítette: Masa Tibor (KPM V.) Bizonytalanságkezelés: Az eddig vizsgáltakhoz képest teljesen más világ. A korábbi problémák nagy része logikai,

Részletesebben

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

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

Részletesebben

Adatstruktúrák és algoritmusok

Adatstruktúrák és algoritmusok Adatstruktúrák és algoritmusok Attila Házy, Ferenc Nagy 2011. április 6. 2 Tartalomjegyzék 1. Bevezetés 7 1.1. A tárgyról............................. 7 1.2. Alapvető fogalmak, definíciók..................

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

DEBRECENI EGYETEM INFORMATIKAI KAR. Az UML gyakorlati alkalmazásának bemutatása az AutoWorld rendszer tervezésén keresztül

DEBRECENI EGYETEM INFORMATIKAI KAR. Az UML gyakorlati alkalmazásának bemutatása az AutoWorld rendszer tervezésén keresztül DEBRECENI EGYETEM INFORMATIKAI KAR Az UML gyakorlati alkalmazásának bemutatása az AutoWorld rendszer tervezésén keresztül Témavezető: Pánovics János egyetemi tanársegéd Készítette: Hegedűs József programtervező

Részletesebben

ADATBÁZIS ADMINISZTRÁTOR SZAKKÉPESÍTÉS SZAKMAI ÉS VIZSGAKÖVETELMÉNYEI

ADATBÁZIS ADMINISZTRÁTOR SZAKKÉPESÍTÉS SZAKMAI ÉS VIZSGAKÖVETELMÉNYEI ADATÁZIS ADMINISZTRÁTOR SZAKKÉPESÍTÉS SZAKMAI ÉS VIZSGAKÖVETELMÉNYEI I. ORSZÁGOS KÉPZÉSI JEGYZÉKEN SZEREPLŐ ADATOK 1. A szakképesítés azonosító száma: 54 482 01 2. A szakképesítés megnevezése: Adatbázis

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

REKURZIÓ. Rekurzív: önmagát ismétlő valami (tevékenység, adatszerkezet stb.) Rekurzív függvény: függvény, amely meghívja saját magát.

REKURZIÓ. Rekurzív: önmagát ismétlő valami (tevékenység, adatszerkezet stb.) Rekurzív függvény: függvény, amely meghívja saját magát. 1. A REKURZIÓ FOGALMA REKURZIÓ Rekurzív: önmagát ismétlő valami (tevékenység, adatszerkezet stb.) Rekurzív függvény: függvény, amely meghívja saját magát. 1.1 Bevezető példák: 1.1.1 Faktoriális Nemrekurzív

Részletesebben

AZ ALGORITMUSRÓL. (bevezetés a programozáshoz)

AZ ALGORITMUSRÓL. (bevezetés a programozáshoz) AZ ALGORITMUSRÓL (bevezetés a programozáshoz) A bemutató készítéséhez felhasznált tartalmi forrás: (Sz)ámítástechnika 1.4, Budapest, Kvassay Jenő Műszaki Szakközépiskola és TIKETT Nyomdaipari Kft. 1994.

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

ADATBÁZISKEZELÉS ADATBÁZIS

ADATBÁZISKEZELÉS ADATBÁZIS ADATBÁZISKEZELÉS 1 ADATBÁZIS Az adatbázis adott (meghatározott) témakörre vagy célra vonatkozó adatok gyűjteménye. - Pl. A megrendelések nyomon követése kereskedelemben. Könyvek nyilvántartása egy könyvtárban.

Részletesebben

7. Strukturált típusok

7. Strukturált típusok 7. Strukturált típusok 1. Mintafeladat a különböző tömbtípusok konstanssal való feltöltésére és kiíratására! (minta7_1) program minta7_1; fejlec:array[1..8] of char = 'Eredmény'; adatok:array[1..4] of

Részletesebben

15. Programok fordítása és végrehajtása

15. Programok fordítása és végrehajtása 15. Programok fordítása és végrehajtása Programok fordítása és végrehajtása. (Fordítás és interpretálás, bytecode. Előfordító, fordító, szerkesztő. A make. Fordítási egység, könyvtárak. Szintaktikus é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

C# gyorstalpaló. Készítette: Major Péter

C# gyorstalpaló. Készítette: Major Péter C# gyorstalpaló Készítette: Major Péter Adattípusok Logikai változó Egész szám (*: előjel nélküli) Lebegőponto s szám Típus Típusnév másképpen (egyenértékű) Helyigény (bit) Példa bool Boolean 8 (!) true,

Részletesebben

A PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere

A PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere 2012. április 10. A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Miről lesz ma szó? alaki szabályok használata - mintapélda használata - mintapélda

Részletesebben

8. Mohó algoritmusok. 8.1. Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete

8. Mohó algoritmusok. 8.1. Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete 8. Mohó algoritmusok Optimalizálási probléma megoldására szolgáló algoritmus gyakran olyan lépések sorozatából áll, ahol minden lépésben adott halmazból választhatunk. Sok optimalizálási probléma esetén

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK ÉRETTSÉGI VIZSGA 2012. május 25. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI VIZSGA 2012. május 25. 8:00 I. Időtartam: 30 perc Pótlapok száma Tisztázati Piszkozati NEMZETI ERŐFORRÁS MINISZTÉRIUM Informatikai

Részletesebben

Szoftvertechnológia alapjai Java előadások

Szoftvertechnológia alapjai Java előadások Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?

Részletesebben

Informatikai tehetséggondozás:

Informatikai tehetséggondozás: Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Multihalmaz típus TÁMOP-4.2.3.-12/1/KONV Értékhalmaz: az alaphalmaz (amely az Elemtípus és egy darabszám által van meghatározva)

Részletesebben

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

Bánsághi Anna 2014 Bánsághi Anna 1 of 33 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 7. ELŐADÁS - ABSZTRAKT ADATTÍPUS 2014 Bánsághi Anna 1 of 33 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

Részletesebben

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai Kémiai elemek felfedezése A kémiai elemek kémiailag tovább már nem bontható, egyszerű anyagok. Jelenleg 118 különböző kémiai elemet ismerünk, közüliik a Földön 94 található meg a természetben, ezeket természetes

Részletesebben

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

Algoritmusok és adatszerkezetek I. 7. előadás Algoritmusok és adatszerkezetek I. 7. előadás Feladat 1. változat Visszalépéses keresés Egy vállalkozás N különböző állásra keres munkásokat. Pontosan N jelentkező érkezett, ahol minden jelentkező megmondta,

Részletesebben

Java II. I A Java programozási nyelv alapelemei

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

Részletesebben

TERMÉKTERVEZÉS PANDUR BÉLA TERMÉKTERVEZÉS

TERMÉKTERVEZÉS PANDUR BÉLA TERMÉKTERVEZÉS TERMÉKTERVEZÉS A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA Szoftverfejlesztés: magában foglalja mindazon elveket, módszereket és eszközöket, amelyek célja a programok megbízható és hatékony elkészítésének támogatása.

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

4. Példa: Másodfokú egyenlet megoldása (program2_1.vi)

4. Példa: Másodfokú egyenlet megoldása (program2_1.vi) 4. Példa: Másodfokú egyenlet megoldása (program2_1.vi) Mielőtt nekilátnánk a programozásnak, idézzük fel a másodfokú egyenlet általános alakját, és ez alapján gondoljuk végig, hogy milyen elemekre lesz

Részletesebben

Bevezetés a C++ programozási nyelvbe

Bevezetés a C++ programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék Bevezetés a C++ programozási nyelvbe Oktatási segédlet Összeállította: Ficsor Lajos 2001. 1. A C++ programozási nyelv története A C++ programozási nyelv

Részletesebben

Ismeretanyag Záróvizsgára való felkészüléshez

Ismeretanyag Záróvizsgára való felkészüléshez Ismeretanyag Záróvizsgára való felkészüléshez 1. Információmenedzsment az információmenedzsment értelmezése, feladatok különböző megközelítésekben informatikai szerepek, informatikai szervezet, kapcsolat

Részletesebben