Algoritmizálás, adatmodellezés 1. előadás

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

Download "Algoritmizálás, adatmodellezés 1. előadás"

Átírás

1 Algoritmizálás, adatmodellezés 1. előadás

2 Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az induló élből bármely csomópont elérhető, s bármely csomópontból el lehet jutni a befejező élre. Háromféle csomópontot tartalmaz: Zsakó László: Algoritmizálás, adatmodellezés :15 2/53

3 Algoritmus-leíró eszközök Folyamatábra A csomópontokból előállíthatók az algoritmikus struktúrák: Zsakó László: Algoritmizálás, adatmodellezés :15 3/53

4 Algoritmus-leíró eszközök Definíció: Strukturált programnak nevezzük azt a programot, amely csak a fenti három algoritmikus szerkezetet (szekvencia, elágazás, ciklus) tartalmazza. Nem strukturált alapszerkezetek: Zsakó László: Algoritmizálás, adatmodellezés :15 4/53

5 Algoritmus-leíró eszközök Nem strukturált alapszerkezetek: Zsakó László: Algoritmizálás, adatmodellezés :15 5/53

6 Algoritmus-leíró eszközök Kiegészítő elemek a folyamatábrához: Zsakó László: Algoritmizálás, adatmodellezés :15 6/53

7 Algoritmus-leíró eszközök Struktogram Programgráf élek nélkül: Zsakó László: Algoritmizálás, adatmodellezés :15 7/53

8 Elemi típusok 1. Egész típusok (előjeles, előjel nélküli, különböző méretben) 2. Valós típusok (különböző méretben és pontossággal) 3. Logikai típus 4. Karakter típus (értékhalmaz problémák) 5. Felsorolás típus 6. (Rész)intervallum típus 7. Mutató típusok Zsakó László: Algoritmizálás, adatmodellezés :15 8/53

9 Felsorolás típus Elemi típusok Értékhalmaz: (konstans 1, konstans 2,..., konstans N ) Műveletek: Következő(kifejezés), Előző(kifejezés), Rend(kifejezés). Példa: Típus Hét=(hétfő,kedd,szerda,csütörtök,péntek, szombat,vasárnap) Munkanap=hétfő..péntek Változó tegnap, ma, holnap, h : Hét; i: egész Konstans ünnepnap : Hét(vasárnap) Zsakó László: Algoritmizálás, adatmodellezés :15 9/53

10 Felsorolás típus Be: ma Elemi típusok Ha ma=min'hét akkor tegnap:=max'hét különben tegnap:=előző(ma) i:=rend(ma) Ha ma=max'hét akkor holnap:=min'hét különben holnap:=következő(ma) Ciklus h Hét Ki: h Ciklus vége Zsakó László: Algoritmizálás, adatmodellezés :15 10/53

11 Mutató típusok Tulajdonságok: A mutató típus memóriacímek, illetve azokon a címeken levő értékek kezelésére szolgál. Az ilyen típusú változók (ti. amire a mutató típus mutat) automatikusan nem születnek meg (nem kerülnek be a memóriába) és nem is szűnnek meg erről magunknak kell gondoskodni. Zsakó László: Algoritmizálás, adatmodellezés :15 11/53

12 Mutató típusok Tetszőleges (többnyire összetett) típushoz, mint bázistípushoz (TB) szervesen tartozhat egy-egy ilyen típus. Egy konkrét mutató típusú objektum csak egyfajta (nevezetesen TB-típusú) elemek kezdőcímeit hordozhatja. Kezdőérték: Sehova Műveletek: Lefoglal(m), illetve Lefoglal(m,e) Felszabadít(m) tartalom(m) vagy TB(m) Zsakó László: Algoritmizálás, adatmodellezés :15 12/53

13 Mutató típusok Példa: Rendezzünk ábécé-sorrendbe N szöveget! Alapmegoldás: Ciklus i=1-től N 1-ig Ciklus j=i+1-től N-ig Ha S(j)<S(i) akkor Csere(S(i),S(j)) Ciklus vége Ciklus vége Eljárás vége. Probléma: Szöveg cseréje hosszú szövegek esetén sokáig tarthat. Zsakó László: Algoritmizálás, adatmodellezés :15 13/53

14 Mutató típusok Példa: Rendezzünk ábécé-sorrendbe N szöveget! Ötlet: Vezessünk be N mutató típusú változót és beolvasáskor a szövegeknek foglaljunk helyet! Eljárás Beolvasás: Ciklus i=1-től N-ig Be: S; Lefoglal(M(i),S) Ciklus vége Eljárás vége. Zsakó László: Algoritmizálás, adatmodellezés :15 14/53

15 Mutató típusok Példa: Rendezzünk ábécé-sorrendbe N szöveget! Eljárás Mutatós megoldás: Ciklus i=1-től N 1-ig Ciklus j=i+1-től N-ig Ha tartalom(m(j))<tartalom(m(i)) akkor Csere(M(i),M(j)) Ciklus vége Ciklus vége Eljárás vége. Itt tehát nem a hosszú szövegeket cserélgetjük, hanem a rövid mutatókat. Zsakó László: Algoritmizálás, adatmodellezés :15 15/53

16 Típusok osztályozása Összetettség (strukturáltság) szempontjából: skalár (más szóval elemi vagy strukturálatlan) összetett (más szóval strukturált) Strukturálási módok Keresztszorzat AxB Unió A B Sokaság sok azonos típusú elem Zsakó László: Algoritmizálás, adatmodellezés :15 16/53

17 Típusok osztályozása Sokaság osztályozása rákövetkezés szerint Halmaz: nincs rákövetkezési reláció Sorozat: minden elemet egy elem követ és egy előz meg (kivéve esetleg a két szélső elemet) Hierarchikus struktúra: minden elemet egy előz meg, de több is követhet Hálós struktúra: minden elemet több előzhet meg és több is követhet Zsakó László: Algoritmizálás, adatmodellezés :15 17/53

18 Típusok osztályozása Sokaságtípusok néhány megjelenése Halmaz: halmaz, multihalmaz, intervallumhalmaz, táblázat, diszjunkt halmazfelbontás Sorozat: tömb, verem, sor, prioritási sor, listák, szekvenciális fájlok, függvény Hierarchikus struktúra: bináris fa, nem bináris fa Hálós struktúra: irányítatlan gráf, irányított gráf, programgráf, háló Zsakó László: Algoritmizálás, adatmodellezés :15 18/53

19 Típusok műveletei A típusműveletek osztályozása: értékadás (azonos típusúak közötti adatmozgatás) konstrukciós műveletek (strukturált érték létrehozása) szelekciós műveletek (strukturált érték részei kiválasztása) azonosság és más relációk számosság-függvény Min és Max típusoperátor Sorszám- (vagy Rend-) függvény transzformációs (a típuson értelmezett, a típusra képező függvények) Zsakó László: Algoritmizálás, adatmodellezés :15 19/53

20 Objektumelvű programozás I. A típusfogalom problémája Típusfogalom a programozásban: Típus=értékhalmaz+műveletek Típusdefiníció programozási nyelvekben: értékhalmaz Jó lenne: típusnév=(értékhalmaz,műveletek) Zsakó László: Algoritmizálás, adatmodellezés :15 20/53

21 Objektumelvű programozás Osztály a típusfogalom megvalósítása értékhalmaz (~ tulajdonságok) műveletek (~ metódusok) Objektum osztály típusú változó Egységbe zárás a tulajdonságokat és a műveleteket egy egységbe foglaljuk, de a tulajdonságokhoz kívülről nem férünk hozzá, csak a műveleteken keresztül. Hozzáférés saját (privát), védett, nyilvános. Zsakó László: Algoritmizálás, adatmodellezés :15 21/53

22 Objektumelvű programozás Példa: háromszög típus Típus Háromszög Értékhalmaz: csúcsok: tömb(1..3:pont) Műveletek: Létrehoz(A,B,C: Pont) Eltol(dx,dy: Valós) Forgat(alfa: Valós) Nagyít(nx,ny: Valós) Terület: Valós Konstruktor az objektum keletkezésekor kezdőértéket ad (lehet paraméter nélküli és paraméteres), dinamikus objektum esetén memóriát is foglal. Destruktor memóriát felszabadít. Zsakó László: Algoritmizálás, adatmodellezés :15 22/53

23 Objektumelvű programozás Öröklés Ős Utód, az utód az ős egy speciális fajtája Új osztály létrehozása örökléssel Az értékhalmaz direktszorzat művelettel bővülhet A művelethalmaz régi műveletei megmaradhatnak régi műveletei átdefiniálhatóak új műveletek hozhatók létre Öröklés haszna a programszöveg lerövidülése Zsakó László: Algoritmizálás, adatmodellezés :15 23/53

24 Objektumelvű programozás Öröklés tulajdonságai Antiszimmetrikus: Ős Utód, de nem Utód Ős Tranzitív: Ős Utód1 Utód2 Többszörös öröklés Ős1 Ős2 Utód Pl. a Windows ablakrendszere (Ős1: ablak, Ős2: fa ) Többszörös öröklés problémája Zsakó László: Algoritmizálás, adatmodellezés :15 24/53

25 Objektumelvű programozás Új osztály létrehozása örökléssel Típus Derékszögű háromszög Ős: Háromszög Értékhalmaz: derékszög sorszáma: Egész Műveletek: Terület: Valós Magasság: Valós Típus Háromszög Értékhalmaz: csúcsok: tömb(1..3:pont) Műveletek: Létrehoz(A,B,C: Pont) Eltol(dx,dy: Valós) Forgat(alfa: Valós) Nagyít(nx,ny: Valós) Terület: Valós Zsakó László: Algoritmizálás, adatmodellezés :15 25/53

26 Objektumelvű programozás Típuskompatibiliás Változó A: Háromszög B: Derékszögű háromszög A:=B értékadás szabályos-e? IGEN, A minden része kitölthető B:=A értékadás szabályos-e? NEM, B nem minden része tölthető ki (egyelőre) Zsakó László: Algoritmizálás, adatmodellezés :15 26/53

27 Objektumelvű programozás komplex példa Szakasz x, y a szakasz kezdőpontja xhossz, yhossz a szakasz hossza x és y irányban szín a szakasz színe a képernyőn Téglalap x, y a téglalap bal felső sarka xhossz, yhossz a téglalap x és y irányú oldalai szín a téglalap színe a képernyőn Kör x, y a kör középpontja sugár a kör sugara szín a kör színe a képernyőn Zsakó László: Algoritmizálás, adatmodellezés :15 27/53

28 Objektumelvű programozás komplex példa Műveletek közösek mindhárom típusra: Létrehoz Kirajzol Letöröl Színmódosít(szín: Színtípus) Mozgat(dx,dy: Egész) Az utóbbi kettő megvalósítása nem függ a típustól. Az x, az y és a szín mindhárom típusban szerepel. Zsakó László: Algoritmizálás, adatmodellezés :15 28/53

29 Új típus Pont Objektumelvű programozás komplex példa Pont Értékhalmaz: x, y a pont kezdőpontja szín a pont színe a képernyőn Műveletek: Létrehoz (kx,ky: Egész,ks: Színtípus) Kirajzol Letöröl Színmódosít(U: Színtípus) Mozgat(dx,dy: Egész) Zsakó László: Algoritmizálás, adatmodellezés :15 29/53

30 Objektumelvű programozás Új típus Pont Színmódosít(U: Színtípus): szín:=u Eljárás vége. komplex példa Mozgat(dx,dy: Egész): Letöröl x:=x+dx; y:=y+dy Kirajzol Eljárás vége. Zsakó László: Algoritmizálás, adatmodellezés :15 30/53

31 Objektumelvű programozás komplex példa Új típus Szakasz Szakasz Ős: Pont Értékhalmaz: xhossz, yhossz Műveletek: Kirajzol Letöröl Kirajzol: Szakaszrajzolás(x,y,x+xhossz,y+yhossz) Eljárás vége. Zsakó László: Algoritmizálás, adatmodellezés :15 31/53

32 Objektumelvű programozás komplex példa Változó p: Pont; sz: Szakasz p.mozgat(10,20) sz.mozgat(10,20) Mi történik? Miért? Zsakó László: Algoritmizálás, adatmodellezés :15 32/53

33 Tömb típus A tömb fogalma Definíció: sorozat típus a következő műveletekkel: indexelés, résztömb képzés, mátrix sora, oszlopa, részmátrixa, relációk. Alapesetben statikus, az elemszáma nem változtatható. Definiálása: Tömb(indextípus: elemtípus) Tömb(indextip 1,indextip 2 : elemtípus)... Hivatkozások: A(i), A(i..j), A(i,j), A(i,), A(,j), A(i..j,k..l) Zsakó László: Algoritmizálás, adatmodellezés :15 33/53

34 Tömb típus A tömb fogalma Indextípus lehetőségei (nyelvfüggő megvalósítás): 1..elemszám (ilyenkor általában az elemszámot kell megadni) 0..elemszám-1 (ilyenkor általában az elemszámot kell megadni) alsó határ..felső határ (ebben az esetben az index nem csak egész szám lehet) Példa: Tömb(1..maxn: egész) Tömb( a.. z,hétfő..péntek: valós) Tömb( : Tömb(-1..1: karakter)) Tömb( ,-1..1: karakter) Zsakó László: Algoritmizálás, adatmodellezés :15 34/53

35 Tömb típus Ábrázolás Szekvenciális, folytonos (többindexes tömböknél oszlop- vagy sorfolytonos). Az elemek méretének ismeretében számítható az elemek memóriabeli címe: a tömb a memóriában elem 2. elem... utolsó elem... egy elem mérete Zsakó László: Algoritmizálás, adatmodellezés :15 35/53

36 Tömb típus Mátrix sorfolytonos ábrázolása Ha n sora és m oszlopa van, mindkettő 1-től indexelve: Függvény Cím(i,j):Egész Cím:=(i-1)*m+j Függvény vége. a tömb a memóriában... (1,1) (1,2)... (2,1) (2,2)... (n,m)... egy elem mérete Indextípus=(a..b,c..d) esetén: Függvény Cím(i,j):Egész Cím:=(i-a)*(d-c+1)+j-c+1 Függvény vége. Zsakó László: Algoritmizálás, adatmodellezés :15 36/53

37 Tömb típus Mátrix oszlopfolytonos ábrázolása Ha n sora és m oszlopa van, mindkettő 1-től indexelve: Függvény Cím(i,j):Egész Cím:=(j-1)*n+i Függvény vége. a tömb a memóriában... (1,1) (2,1)... (1,2) (2,2)... (n,m)... egy elem mérete Indextípus=(a..b,c..d) esetén: Függvény Cím(i,j):Egész Cím:=(j-c)*(b-a+1)+i-a+1 Függvény vége. Zsakó László: Algoritmizálás, adatmodellezés :15 37/53

38 1. Összegzés mátrixra Specifikáció: Bemenet: N,M N, X H N M Kimenet: S H Előfeltétel: N M Utófeltétel:S= X i 1 j 1 i,j H: Z vagy R vagy N Zsakó László: Algoritmizálás, adatmodellezés :15 38/53

39 1. Összegzés mátrixra Algoritmus: A megoldás lényegében csak abban különbözik az alapváltozattól, hogy a mátrix miatt két egymásba ágyazott ciklusra van szükség. Konstans maxn,maxm:egész(???) Típus Tmatrix=Tömb(1..maxN,1..maxM:TH) Változó N,M:Egész X:Tmatrix S:TH Zsakó László: Algoritmizálás, adatmodellezés :15 39/53

40 Összegzés(N,M,X,S): S:=0 Ciklus i=1-től N-ig Ciklus j=1-től M-ig S:=S+X(i,j) Ciklus vége Ciklus vége Eljárás vége. 1. Összegzés mátrixra Zsakó László: Algoritmizálás, adatmodellezés :15 40/53

41 Specifikáció: 2. Megszámolás mátrixra Bemenet: N,M N, X H N M, T:H L Kimenet: Db N Előfeltétel: N M Utófeltétel:Db= 1 i 1 j 1 T(X i, j ) H: tetszőleges halmaz T: tetszőleges tulajdonság-függvény Zsakó László: Algoritmizálás, adatmodellezés :15 41/53

42 2. Megszámolás mátrixra Megszámolás(N,M,X,Db): Db:=0 Ciklus i=1-től N-ig Ciklus j=1-től M-ig Ha T(X(i,j)) akkor Db:=Db+1 Ciklus vége Ciklus vége Eljárás vége. Zsakó László: Algoritmizálás, adatmodellezés :15 42/53

43 Specifikáció: 3. Maximum-kiválasztás mátrixra Bemenet: N,M N, X H N M Kimenet: Maxi,Maxj N, Maxert H Előfeltétel: N>0 és M>0 Utófeltétel:1 Maxi N és 1 Maxj M és i,j (1 i N) (1 j M):X Maxi,Maxj X i,j és Maxert=X Maxi,Maxj Zsakó László: Algoritmizálás, adatmodellezés :15 43/53

44 3. Maximum-kiválasztás mátrixra Maximumkiválasztás(N,M,X,Maxi,Maxj,Maxert): Maxi:=1; Maxj:=1; Maxert:=X(1,1) Ciklus i=1-től N-ig Ciklus j=1-től M-ig Ha X(i,j)>Maxert akkor Maxi:=i; Maxj:=j Maxert:=X(i,j) Ciklus vége Ciklus vége Eljárás vége. Zsakó László: Algoritmizálás, adatmodellezés :15 44/53

45 4. Eldöntés mátrixra Feladat: Van-e egy mátrixban adott tulajdonságú elem? Specifikáció: Bemenet: N,M N, X H N M, T:H L Kimenet: Vane L Előfeltétel: Utófeltétel: Vane= i,j(1 i N)(1 j M):T(X i,j ) Zsakó László: Algoritmizálás, adatmodellezés :15 45/53

46 4. Eldöntés mátrixra Eldöntés(N,M,X,Vane): i:=1; j:=1 Ciklus amíg i N és nem T(X(i,j)) Ha j<m akkor j:=j+1 különben i:=i+1; j:=1 Ciklus vége Vane:=i N Eljárás vége. Zsakó László: Algoritmizálás, adatmodellezés :15 46/53

47 Specifikáció: 5. Kiválasztás mátrixra Bemenet: N,M N, X H N M, T:H L Kimenet: Indi,Indj N Előfeltétel: N>0 és M>0 és i,j (1 i N) (1 j M): T(X i,j ) Utófeltétel:1 Indi N és 1 Indj M és T(X Indi,Indj ) Megjegyzés: a kimeneti indexpárt egy rekordban is tárolhattuk volna! Zsakó László: Algoritmizálás, adatmodellezés :15 47/53

48 5. Kiválasztás mátrixra Kiválasztás(N,M,X,Indi,Indj): i:=1; j:=1 Ciklus amíg nem T(X(i,j)) Ha j<m akkor j:=j+1 különben i:=i+1; j:=1 Ciklus vége Indi:=i; Indj:=j Eljárás vége. Zsakó László: Algoritmizálás, adatmodellezés :15 48/53

49 6. Keresés mátrixra Feladat: Van-e egy mátrixban adott tulajdonságú elem és ha van, akkor hol? Specifikáció: Bemenet: N,M N, X H N M, T:H L Kimenet: Vane L, Indi,Indj N Előfeltétel: Utófeltétel: Vane= i,j(1 i N)(1 j M): T(X i,j ) és Vane 1 Indi N és 1 Indj M és T(X Indi,Indj ) Zsakó László: Algoritmizálás, adatmodellezés :15 49/53

50 6. Keresés mátrixra Keresés(N,M,X,Vane,Indi,Indj): i:=1; j:=1 Ciklus amíg i N és nem T(X(i,j)) Ha j<m akkor j:=j+1 különben i:=i+1; j:=1 Ciklus vége Vane:=i N Ha Vane akkor Indi:=i; Indj:=j Eljárás vége. Zsakó László: Algoritmizálás, adatmodellezés :15 50/53

51 7. Kiválogatás mátrixra Specifikáció: Bemenet: N,M N, X H N M, T:H L Kimenet: Db N, Y Hely N*M, Hely=S O, S,O=N Előfeltétel: Utófeltétel:Db= N i 1 M j 1 T(X ) i, j 1 és i(1 i Db):T(X Y i.s,yi.o) és Y ((1,1), (1,2), (1,M), (2,1),. (N,M)) Zsakó László: Algoritmizálás, adatmodellezés :15 51/53

52 7. Kiválogatás mátrixra Kiválogatás(N,M,X,Db,Y): Db:=0 Ciklus i=1-től N-ig Ciklus j=1-től M-ig Ha T(X(i,j)) akkor Db:=Db+1; Y(Db).s:=i; Y(Db).o:=j Elágazás vége Ciklus vége Ciklus vége Eljárás vége. A sorszám itt is általánosabb mint az érték, ha mégis érték kellene, akkor Y(Db):=X(i,j) szerepelne. (Ekkor persze a specifikációt is módosítani kell!) Zsakó László: Algoritmizálás, adatmodellezés :15 52/53

53 Algoritmizálás, adatmodellezés 1. előadás vége

Algoritmizálás, adatmodellezés 1. előadás

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

Részletesebben

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

Algoritmizálás és adatmodellezés tanítása 2. előadás Algoritmizálás és adatmodellezés tanítása 2. előadás Tartalom Összegzés vektorra, mátrixra Megszámolás vektorra, mátrixra Maximum-kiválasztás vektorra, mátrixra Eldöntés vektorra, mátrixra Kiválasztás

Részletesebben

Adatszerkezetek I. 1. előadás

Adatszerkezetek I. 1. előadás Adatszerkezetek I. 1. előadás Adatok jellemzői ismétlés 1. Azonosító Az a jelsorozat, amellyel hivatkozhatunk a tartalmára, amely által módosíthatjuk tartalmát. 2. Hozzáférési jog Adatokat módosítani,

Részletesebben

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

Algoritmizálás és adatmodellezés tanítása 4. előadás Algoritmizálás és adatmodellezés tanítása 4. előadás Típusok osztályozása Összetettség (strukturáltság) szempontjából: skalár (más szóval elemi vagy strukturálatlan) összetett (más szóval strukturált)

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

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

Algoritmizálás, adatmodellezés tanítása 1. előadás Algoritmizálás, adatmodellezés 1. előadás Az algoritmus fogalma végrehajtható (van hozzá végre-hajtó) lépésenként hajtható végre a lépések maguk is algoritmusok pontosan definiált, adott végre-hajtási

Részletesebben

Algoritmizálás és adatmodellezés 2. előadás

Algoritmizálás és adatmodellezés 2. előadás Algoritmizálás és adatmodellezés 2 előadás Összetett típusok 1 Rekord 2 Halmaz (+multialmaz, intervallumalmaz) 3 Tömb (vektor, mátrix) 4 Szekvenciális fájl (input, output) Pap Gáborné, Zsakó László: Algoritmizálás,

Részletesebben

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

Algoritmizálás, adatmodellezés tanítása 1. előadás Algoritmizálás, adatmodellezés tanítása 1. előadás Specifikáció A specifikáció elemei bemenet mit ismerünk? kimenet mire vagyunk kíváncsiak? előfeltétel mit tudunk az ismertekről? utófeltétel mi az összefüggés

Részletesebben

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból

Részletesebben

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév

Részletesebben

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

Algoritmizálás, adatmodellezés tanítása 2. előadás Algoritmizálás, adatmodellezés tanítása 2. előadás Másolás függvényszámítás Bemenet: N N, X H N, g:h G, F: G N G, f: G * xg G Kimenet: Y G N Előfeltétel: Utófeltétel: i(1 i N) Y=F(g(X 1 ),, g(x N )) f

Részletesebben

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 3. ADATTÍPUSOK...26 3.1. AZ ADATOK LEGFONTOSABB JELLEMZŐI:...26 3.2. ELEMI ADATTÍPUSOK...27 3.3. ÖSSZETETT ADATTÍPUSOK...28

Részletesebben

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum. Programozási tételek Programozási feladatok megoldásakor a top-down (strukturált) programtervezés esetén három vezérlési szerkezetet használunk: - szekvencia - elágazás - ciklus Eddig megismertük az alábbi

Részletesebben

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

Algoritmizálás és adatmodellezés tanítása 6. előadás Algoritmizálás és adatmodellezés tanítása 6. előadás Összetett típusok 1. Rekord 2. Halmaz (+multihalmaz, intervallumhalmaz) 3. Tömb (vektor, mátrix) 4. Szekvenciális file (input, output) Pap Gáborné,

Részletesebben

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

Algoritmizálás, adatmodellezés tanítása 2. előadás Algoritmizálás, adatmodellezés tanítása 2. előadás Programozási tételek Mi az, hogy programozási tétel? Típusfeladat általános megoldása. Sorozat érték Sorozat sorozat Sorozat sorozatok Sorozatok sorozat

Részletesebben

Multihalmaz, intervallumhalmaz

Multihalmaz, intervallumhalmaz Multihalmaz, intervallumhalmaz Halmaz féleségek 1. Halmaz Gyümölcsök: {alma,körte,szilva,barack} 2. Multihalmaz Állatok: {(macska,4),(rigó,2),(galamb,3)} 3. Intervallumhalmaz diszjunkt Óráim: {[8-10],[13-14],[16-20)}

Részletesebben

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat 9. Előadás Rendezések A rendezési probléma: Bemenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat Kimenet: a bemenő sorozat olyan (a 1, a 2,,a n ) permutációja, hogy a 1 a 2 a n 2 Rendezések Általánosabban:

Részletesebben

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

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

Részletesebben

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

Algoritmusok és adatszerkezetek I. 4. előadás Algoritmusok és adatszerkezetek I. 4. előadás A lista olyan sorozat, amelyben műveleteket egy kiválasztott, az ún. aktuális elemmel lehet végezni. A lista rendelkezik az alábbi műveletekkel: Üres: Lista

Részletesebben

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

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

Részletesebben

Programozási tételek. Dr. Iványi Péter

Programozási tételek. Dr. Iványi Péter Programozási tételek Dr. Iványi Péter 1 Programozási tételek A programozási tételek olyan általános algoritmusok, melyekkel programozás során gyakran találkozunk. Az algoritmusok általában számsorozatokkal,

Részletesebben

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19. Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19. Programkészítés Megrendelői igények begyűjtése Megoldás megtervezése (algoritmuskészítés)

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

Összetett programozási tételek

Összetett programozási tételek Összetett programozási tételek 3. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 19. Sergyán (OE NIK) AAO 03 2011. szeptember

Részletesebben

Programozási alapismeretek 3. előadás

Programozási alapismeretek 3. előadás Programozási alapismeretek 3. előadás Tartalom Ciklusok specifikáció+ algoritmika +kódolás Egy bevezető példa a tömbhöz A tömb Elágazás helyett tömb Konstans tömbök 2/42 Ciklusok Feladat: Határozzuk meg

Részletesebben

Hatékonyság 1. előadás

Hatékonyság 1. előadás Hatékonyság 1. előadás Mi a hatékonyság Bevezetés A hatékonyság helye a programkészítés folyamatában: csak HELYES programra Erőforrásigény: a felhasználó és a fejlesztő szempontjából A hatékonyság mérése

Részletesebben

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10. Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,

Részletesebben

10. gyakorlat Struktúrák, uniók, típusdefiníciók

10. gyakorlat Struktúrák, uniók, típusdefiníciók 10. gyakorlat Struktúrák, uniók, típusdefiníciók Házi - (f0218) Olvass be 5 darab maximum 99 karakter hosszú szót úgy, hogy mindegyiknek pontosan annyi helyet foglalsz, amennyi kell! A sztringeket írasd

Részletesebben

Struktúra nélküli adatszerkezetek

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

Részletesebben

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

Programozási nyelvek a közoktatásban alapfogalmak II. előadás Programozási nyelvek a közoktatásban alapfogalmak II. előadás Szintaxis, szemantika BNF szintaxisgráf absztrakt értelmező axiomatikus (elő- és utófeltétel) Pap Gáborné. Szlávi Péter, Zsakó László: Programozási

Részletesebben

Halmaz típus Értékhalmaz:

Halmaz típus Értékhalmaz: Halmaz, multihalmaz Halmaz féleségek 1. Halmaz Gyümölcsök: {alma,körte,szilva,barack} 2. Multihalmaz Állatok: {(macska,4),(rigó,2),(galamb,3)} 3. Intervallumhalmaz diszjunkt Óráim: {[8-10],[13-14],[16-20)}

Részletesebben

Az informatika kulcsfogalmai

Az informatika kulcsfogalmai Az informatika kulcsfogalmai Kulcsfogalmak Melyek azok a fogalmak, amelyek nagyon sok más fogalommal kapcsolatba hozhatók? Melyek azok a fogalmak, amelyek más-más környezetben újra és újra megjelennek?

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

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3) Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok

Részletesebben

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2) Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.05. -1- Függvények C program egymás mellé rendelt függvényekből

Részletesebben

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

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

Részletesebben

Bevezetés az informatikába

Bevezetés az informatikába Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.

Részletesebben

Adatszerkezetek II. 1. előadás

Adatszerkezetek II. 1. előadás Adatszerkezetek II. 1. előadás Gráfok A gráf fogalma: Gráf(P,E): P pontok (csúcsok) és E P P élek halmaza Fogalmak: Irányított gráf : (p 1,p 2 ) E-ből nem következik, hogy (p 2,p 1 ) E Irányítatlan gráf

Részletesebben

Az összetett programozási tételek is egy tőről fakadnak

Az összetett programozási tételek is egy tőről fakadnak Az összetett programozási tételek is egy tőről fakadnak Zsakó László 1, Törley Gábor 2, Szlávi Péter 3 1 zsako@caesar.elte.hu, 2 pezsgo@inf.elte.hu, 3 szlavi@elte.hu ELTE IK Absztrakt. A programozás tanulás

Részletesebben

Rekurzió. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)

Rekurzió. (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Rekurzió (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Rekurzió és iteráció Balrekurzió Ha az eljárás első utasításaként szerepel a rekurzív hívás, akkor a rekurzió lényegében az első nem

Részletesebben

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

Algoritmizálás, adatmodellezés tanítása 8. előadás Algoritmizálás, adatmodellezés tanítása 8. előadás Elágazás és korlátozás A backtrack alkalmas-e optimális megoldás keresésére? Van költség, és a legkisebb költségű megoldást szeretnénk előállítani. Van

Részletesebben

Bevezetés a programozásba. 5. Előadás: Tömbök

Bevezetés a programozásba. 5. Előadás: Tömbök Bevezetés a programozásba 5. Előadás: Tömbök ISMÉTLÉS Specifikáció Előfeltétel: milyen körülmények között követelünk helyes működést Utófeltétel: mit várunk a kimenettől, mi az összefüggés a kimenet és

Részletesebben

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 0.1. Az algoritmikus tudás szintjei Ismeri (a megoldó algoritmust) Érti Le tudja pontosan

Részletesebben

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

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

Részletesebben

ELEMI PROGRAMOZÁSI TÉTELEK

ELEMI PROGRAMOZÁSI TÉTELEK ELEMI PROGRAMOZÁSI TÉTELEK 1. FELADATMEGOLDÁS PROGRAMOZÁSI TÉTELEKKEL 1.1 A programozási tétel fogalma A programozási tételek típusalgoritmusok, amelyek alkalmazásával garantáltan helyes megoldást adhatunk

Részletesebben

PROGRAMOZÁSMÓDSZERTAN

PROGRAMOZÁSMÓDSZERTAN PROGRAMOZÁSMÓDSZERTAN 2. ELŐADÁS 2004 (VÁZLAT) 1. SPECIFIKÁCIÓ 1.1. Alapvető matematikai jelölések Lásd http://izzo.inf.elte.hu/szlavi honlapon a Prtetel.doc -ban (vagy a Prtetel.pdf-ben)! H halmaz tetszőleges

Részletesebben

Programozási alapismeretek 1. előadás

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

Részletesebben

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

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

Részletesebben

Web-programozó Web-programozó

Web-programozó Web-programozó Az 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 szóló 133/2010. (IV. 22.) Korm. rendelet alapján. Szakképesítés, szakképesítés-elágazás, rész-szakképesítés,

Részletesebben

Egyszerű programozási tételek

Egyszerű programozási tételek Egyszerű programozási tételek 2. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 15. Sergyán (OE NIK) AAO 02 2011. szeptember 15.

Részletesebben

Adatbázis rendszerek Gy: Algoritmusok C-ben

Adatbázis rendszerek Gy: Algoritmusok C-ben Adatbázis rendszerek 1. 1. Gy: Algoritmusok C-ben 53/1 B ITv: MAN 2015.09.08 Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás Gyorsrendezés 53/2 Összegzés

Részletesebben

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

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

Részletesebben

Algoritmusok, adatszerkezetek, objektumok

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

Részletesebben

Kép mátrix. Feladat: Pap Gáborné-Zsakó László: Algoritmizálás, adatmodellezés 2/35

Kép mátrix. Feladat: Pap Gáborné-Zsakó László: Algoritmizálás, adatmodellezés 2/35 Grafika I. Kép mátrix Feladat: Egy N*M-es raszterképet nagyítsunk a két-szeresére pontsokszorozással: minden régi pont helyébe 2*2 azonos színű pontot rajzolunk a nagyított képen. Pap Gáborné-Zsakó László:

Részletesebben

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

Algoritmizálás, adatmodellezés tanítása 7. előadás Algoritmizálás, adatmodellezés tanítása 7. előadás Oszd meg és uralkodj! Több részfeladatra bontás, amelyek hasonlóan oldhatók meg, lépései: a triviális eset (amikor nincs rekurzív hívás) felosztás (megadjuk

Részletesebben

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

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

Részletesebben

PROGRAMOZÁSI TÉTELEK

PROGRAMOZÁSI TÉTELEK PROGRAMOZÁSI TÉTELEK Összegzés tétele Adott egy N elemű számsorozat: A(N). Számoljuk ki az elemek összegét! S:=0 Ciklus I=1-től N-ig S:=S+A(I) Megszámlálás tétele Adott egy N elemű sorozat és egy - a sorozat

Részletesebben

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

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

Részletesebben

OEP Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat. Elemzés 1

OEP Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat. Elemzés 1 OEP Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat Különféle élőlények egy túlélési versenyen vesznek részt. A lények egy pályán haladnak végig, ahol váltakozó terep viszonyok vannak.

Részletesebben

8. gyakorlat Pointerek, dinamikus memóriakezelés

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

Részletesebben

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

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

Részletesebben

Láncolt listák. Egyszerű, rendezett és speciális láncolt listák. Programozás II. előadás. Szénási Sándor

Láncolt listák. Egyszerű, rendezett és speciális láncolt listák. Programozás II. előadás.  Szénási Sándor Láncolt listák Egyszerű, rendezett és speciális láncolt listák előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Láncolt

Részletesebben

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 4. gyakorlat PLanG: 2011.10.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Fájlok

Részletesebben

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember

Részletesebben

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek Adatbázis és szoftverfejlesztés elmélet Témakör 8. 1. Egy sorozathoz egy érték hozzárendelése Az összegzés tétele Összefoglalás Programozási tételek Adott egy számsorozat. Számoljuk és írassuk ki az elemek

Részletesebben

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása 1 Információk 2 A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin Elérhetőség mesko.katalin@tfk.kefo.hu Fogadóóra: szerda 9:50-10:35 Számonkérés időpontok Április 25. 9 00 Május 17. 9 00 Június

Részletesebben

Hatékonyság 2. előadás

Hatékonyság 2. előadás Hatékonyság 2. előadás Alapelv: a tárolt elemek száma vagy egy elemének mérete kevesebb legyen! Helyfoglalás=memória (kód+adat) + háttértár (kód+adat) 2.1 Sorozatok hosszcsökkentése 2.1.1 Sorozat kiküszöbölése

Részletesebben

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás Elemi programok Definíció Az S A A program elemi, ha a A : S(a) { a, a, a, a,..., a, b b a}. A definíció alapján könnyen látható, hogy egy elemi program tényleg program. Speciális elemi programok a kövekezők:

Részletesebben

Adatszerkezetek I. 8. előadás. (Horváth Gyula anyagai felhasználásával)

Adatszerkezetek I. 8. előadás. (Horváth Gyula anyagai felhasználásával) Adatszerkezetek I. 8. előadás (Horváth Gyula anyagai felhasználásával) Kereső- és rendezőfák Közös tulajdonságok: A gyökérelem (vagy kulcsértéke) nagyobb vagy egyenlő minden tőle balra levő elemnél. A

Részletesebben

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 4. gyakorlat PLanG: 2011.10.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Fájlok

Részletesebben

Adatszerkezetek II. 2. előadás

Adatszerkezetek II. 2. előadás Adatszerkezetek II. 2. előadás Gráfok bejárása A gráf bejárása = minden elem feldolgozása Probléma: Lineáris elrendezésű sokaság (sorozat) bejárása könnyű, egyetlen ciklussal elvégezhető. Hálós struktúra

Részletesebben

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1 Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1 Készítette: Gipsz Jakab Neptun-azonosító: ABC123 E-mail: gipszjakab@seholse.hu Kurzuskód: IT-13AAT1EG 1 A fenti

Részletesebben

Gráfok bejárása. Szlávi Péter, Zsakó László: Gráfok II :17

Gráfok bejárása. Szlávi Péter, Zsakó László: Gráfok II :17 Gráfok 2. előadás Gráfok bejárása A gráf bejárása = minden elem feldolgozása Probléma: Lineáris elrendezésű sokaság (sorozat) bejárása könnyű, egyetlen ciklussal elvégezhető. Hálós struktúra bejárása nem

Részletesebben

Haladó rendezések. PPT 2007/2008 tavasz.

Haladó rendezések. PPT 2007/2008 tavasz. Haladó rendezések szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Alapvető összehasonlító rendezések Shell rendezés Kupacrendezés Leszámláló rendezés Radix rendezés Edényrendezés

Részletesebben

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

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

Részletesebben

Bevezetés a Programozásba II 2. előadás. Adattípusok megvalósítása egységbe zárással. Adattípusok megvalósítása egységbe zárással

Bevezetés a Programozásba II 2. előadás. Adattípusok megvalósítása egységbe zárással. Adattípusok megvalósítása egységbe zárással Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 2. előadás Adattípusok megvalósítása egységbe zárással 2014.02.17. Giachetta Roberto groberto@inf.elte.hu

Részletesebben

Adatszerkezetek II. 10. előadás

Adatszerkezetek II. 10. előadás Adatszerkezetek II. 10. előadás Kombinatorikai algoritmusok A kombinatorika: egy véges halmaz elemeinek valamilyen szabály alapján történő csoportosításával, kiválasztásával, sorrendbe rakásával foglalkozik

Részletesebben

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport 10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

Dinamikus modellek szerkezete, SDG modellek

Dinamikus modellek szerkezete, SDG modellek Diagnosztika - 3. p. 1/2 Modell Alapú Diagnosztika Diszkrét Módszerekkel Dinamikus modellek szerkezete, SDG modellek Hangos Katalin PE Villamosmérnöki és Információs Rendszerek Tanszék Diagnosztika - 3.

Részletesebben

Mátrixok, mátrixműveletek

Mátrixok, mátrixműveletek Mátrixok, mátrixműveletek 1 előadás Farkas István DE ATC Gazdaságelemzési és Statisztikai Tanszék Mátrixok, mátrixműveletek p 1/1 Mátrixok definíciója Definíció Helyezzünk el n m elemet egy olyan téglalap

Részletesebben

Adatszerkezetek 2. Dr. Iványi Péter

Adatszerkezetek 2. Dr. Iványi Péter Adatszerkezetek 2. Dr. Iványi Péter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér (root) Nincsennek hurkok!!! 2 Bináris fák Azokat

Részletesebben

Térinformatikai algoritmusok Elemi algoritmusok

Térinformatikai algoritmusok Elemi algoritmusok Cserép Máté Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot oldottuk meg korábban,

Részletesebben

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 3. gyakorlat PLanG: 2011.09.27. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok

Részletesebben

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

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

Részletesebben

Adatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával)

Adatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával) Adatszerkezetek I. 7. előadás (Horváth Gyula anyagai felhasználásával) Bináris fa A fa (bináris fa) rekurzív adatszerkezet: BinFa:= Fa := ÜresFa Rekord(Elem,BinFa,BinFa) ÜresFa Rekord(Elem,Fák) 2/37 Bináris

Részletesebben

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember

Részletesebben

Térinformatikai algoritmusok Elemi algoritmusok

Térinformatikai algoritmusok Elemi algoritmusok Cserép Máté 2016. szeptember 14. Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot

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

Közismereti informatika I. 4. előadás

Közismereti informatika I. 4. előadás Közismereti informatika I. 4. előadás Rendezések Bemenet: N: Egész, X: Tömb(1..N: Egész) Kimenet: X: Tömb(1..N: Egész) Előfeltétel: Utófeltétel: Rendezett(X) és X=permutáció(X ) Az eredmény a bemenet egy

Részletesebben

Objektum Orientált Programozás VII.

Objektum Orientált Programozás VII. Objektum Orientált Programozás VII. Összetett programozási tételek Programozási tételek összeépítése Feladatok ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk

Részletesebben

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

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

Részletesebben

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt kimeneti adatot

Részletesebben

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés A C programozási nyelv V. Struktúra Dinamikus memóriakezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv V. (Struktúra, memóriakezelés) CBEV5 / 1 A struktúra deklarációja 1.

Részletesebben

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1] Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.

Részletesebben

Objektumorientált Programozás VI.

Objektumorientált Programozás VI. Objektumorientált Programozás Metódusok Paraméterek átadása Programozási tételek Feladatok VI. ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő

Részletesebben

Láncolt listák. PPT 2007/2008 tavasz.

Láncolt listák. PPT 2007/2008 tavasz. Láncolt listák szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Láncolt listák elvi felépítése Egyirányú egyszerű láncolt lista Egyirányú rendezett láncolt lista Láncolt

Részletesebben

Programozási tételek általánosítása 2. Szlávi Péter 2015

Programozási tételek általánosítása 2. Szlávi Péter 2015 Programozási tételek általánosítása 2. Szlávi Péter szlavip@elte.hu 2015 Tartalom 1. Az általánosítás lehetőségei a) Sorozatok A Tömb-típuskonstrukcó b) Sorozatok A tömb indexmentesítése c) A Tulajdonság-függvények

Részletesebben