Adatstruktúrák Algoritmusok Objektumok
|
|
- Csongor Lukács
- 8 évvel ezelőtt
- Látták:
Á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 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észletesebbenINFORMATIKAI 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észletesebbenPROGRAMOZÁ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észletesebbenProgramozá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észletesebbenInformatikai 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észletesebbenProgramozá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észletesebbenSzá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észletesebbenRENDEZÉ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észletesebbenINFORMATIKAI 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észletesebbenAlkalmazott 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észletesebbenTö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észletesebbenhatá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észletesebbenProgramozá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észletesebbenSzá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észletesebbenOBJEKTUM 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észletesebbenSzé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észletesebbenC# 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észletesebbenElő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észletesebbenJava 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észletesebbenProgramozá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észletesebbenA 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észletesebbenSZAKDOLGOZAT. 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észletesebbenProgramozá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észletesebbenBevezeté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észletesebbenSzoftverprototí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észletesebbenInformatikus 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észletesebbenC# 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észletesebbenProgramozá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észletesebbenSzé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észletesebbenEmlé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észletesebbenBá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észletesebbenProgramozá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észletesebbenAlgoritmusok. 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észletesebbenObjektum 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észletesebbenObjektumorientá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észletesebbenINFORMATIKAI 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észletesebbenINFORMATIKAI 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észletesebbenSzá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észletesebbenInformá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észletesebben4. 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észletesebbenProgramozá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észletesebben2.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észletesebbenObjektum 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észletesebbenProgramozá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észletesebbenJAVA 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észletesebbenProgramozá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észletesebbenINFORMATIKAI 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észletesebbenProgramozá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észletesebbenProgramozá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észletesebben117. 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észletesebbenGyakorló 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észletesebbenA 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észletesebbenVB 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észletesebben23. 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észletesebbenEgyszerű 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észletesebben3. 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észletesebbenBá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észletesebbenOAF 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észletesebbenBá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észletesebbenObjektumorientá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észletesebbenAz é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észletesebbenSzakmai 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észletesebbenBá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észletesebbenAdatbá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észletesebbenBME 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észletesebbenEszterhá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észletesebbenINFORMATIKAI 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észletesebbenC# 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észletesebbenC# 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észletesebbenMagas 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észletesebbenMestersé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észletesebbenOOP 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észletesebbenAdatstruktú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észletesebbenProgramozá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észletesebbenDEBRECENI 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észletesebbenADATBÁ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észletesebbenProgramozá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észletesebbenREKURZIÓ. 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észletesebbenAZ 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észletesebbenOOP #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észletesebbenADATBÁ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észletesebben7. 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észletesebben15. 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észletesebbenKé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észletesebbenC# 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észletesebbenA 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észletesebbenMiért van szükség fordítóprogramokra? Fordítóprogramok célja és szerkezete. Miért van szükség fordítóprogramokra?
és szerkezete Így kényelmes programozni int sum = 0; for( int i=0; i
Részletesebben8. 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észletesebbenINFORMATIKAI 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észletesebbenSzoftvertechnoló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észletesebbenInformatikai 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észletesebbenBá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észletesebben3. 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észletesebbenAlgoritmusok é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észletesebbenJava 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észletesebbenTERMÉ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észletesebbenObjektumorientá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észletesebben4. 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észletesebbenBevezeté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észletesebbenIsmeretanyag 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