Adatbázis rendszerek Gy: Algoritmusok C-ben

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

Download "Adatbázis rendszerek Gy: Algoritmusok C-ben"

Átírás

1 Adatbázis rendszerek Gy: Algoritmusok C-ben 53/1 B ITv: MAN

2 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

3 Összegzés Feladat: Adott egy számhalmaz, határozzuk meg a számok összegét Megoldás: Egy változó értékét beállítjuk 0-ra (kinullázzuk) Ciklus segítségével végigmegyünk a sorozat elemein, és a kinullázott változóhoz rendre hozzáadjuk a sorozat aktuális elemét. Az eredmény az eredetileg kinullázott változó aktuális értéke. 53/3

4 Összegzés Pszeudokód: Be: N ciklus i= 1.. N ismétel Be: A[ i ] ciklus vége Összeg = 0 ciklus i= 1.. N ismétel Összeg = Összeg + A[ i ] ciklus vége Ki: Összeg 53/4

5 Összegzés Struktogram: Be: n i = 1.. n Be: A [ i ] s = 0 i = 1.. n s = s + A[ i ] Ki: s Tömb elemszámának beolvasása Tömbelemek beolvasása Összeg változó (s) kinullázása Összegzés Eredmény kiírása 53/5

6 Összegzés 1 START Be: n n: elemek száma s = 0 i = 0 s: összeg i = 0 i: ciklusváltozó i= i /6 i= i + 1 Be: A[ i ] i < n 1 A: elemek tömbje s= s + A [ i ] i < n Ki: s STOP

7 Összegzés C kód #include <stdio.h> main() { int A[20]; int i, n; printf("\nelemek száma? (max 20!) = "); scanf("%d", &n); for (i=0; i<n; i++){ printf("\n Elem[%d] = ", i); scanf("%d", &A[i]); } int s=0; for (i=0; i<n; i++) s=s+a[i]; printf("\n Az elemek összege = %d", s); } 53/7

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

9 Megszámlálás Feladat: Adott egy számhalmaz, és egy feltétel. Határozzuk meg, hogy az adatok közül hány darab tesz eleget a feltételnek. Feltétel: a szám legyen kisebb 10-nél Megoldás: Kinullázunk egy változót. Ciklus segítségével végigmegyünk a tömb elemein. Megvizsgáljuk őket, és ha a tömbelem a feltételnek megfelel, a kinullázott változóhoz hozzáadunk egyet. Az eredmény az eredetileg kinullázott változó aktuális értéke. 53/9

10 Megszámlálás Pszeudokód: Be: N ciklus i= 1.. N ismétel Be: A[ i ] ciklus vége S = 0 ciklus i=1.. N ismétel Ha A[ i ] < 10 akkor S = S+1; ciklus vége Ki: S 53/10 Struktogram: Be: n i = 1.. n Be: A [ i ] db = 0 i = 1.. n A[i] < 10 db=db+1 Ki: db

11 Megszámlálás START db: darabszám 1 db = 0 i = 0 Be: n i= i /11 i = 0 i= i + 1 Be: A[ i ] i < n 1 A[i] < 10 db = db + 1 i < n Ki: db STOP

12 Megszámlálás C kód #include <stdio.h> main() { int A[20]; int i, n; printf("\nelemek száma? (max 20!) = "); scanf("%d", &n); for (i=0; i<n; i++){ printf("\n Elem[%d] = ", i); scanf("%d", &A[i]); } int db=0; for (i=0; i<n; i++) if (A[i] < 25) db=db+1; printf("\n A megfelelő (< 25) elemek száma = %d", db); } 53/12

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

14 Kiválasztás Feladat: Adott egy számhalmaz, és egy feltétel. Határozzuk meg, hogy melyik adat tesz eleget leginkább a feltételnek. Feltétel: a legkisebb szám Megoldás: Egy változóba (MIN) berakjuk a tömb első elemének az értékét. Ezután a 2. elemtől kezdve egy ciklussal végignézzük a tömb elemeit, és ha a vizsgált elem kisebb a MINértékénél, akkor berakjuk az értékét a MIN-változóba, így a MIN-értéke az addig megvizsgált elemek közül mindig a legkisebbet tartalmazza. 53/14 Eredmény: a MIN változó értéke.

15 Kiválasztás Pszeudokód: Be: N ciklus i= 1.. N ismétel Be: A[i] ciklus vége MIN = A[1] ciklus i= 2.. N ismétel Ha A[i] < MIN akkor MIN = A[i]; ciklus vége Ki: MIN 53/15 Struktogram: Be: n i < n Be: A [ i ] m = A [1] i = 2.. n A[i] < m m=a [i] Ki: m

16 Kiválasztás START m: legkisebb elem 1 m=a [1] i = 1 Be: n i = 0 i= i + 1 i= i + 1 A[i] < m m = A [i] 53/16 Be: A[ i ] i < n 1 i < n Ki: m STOP

17 Kiválasztás C kód #include <stdio.h> main() { int A[20]; int i, n; printf("\nelemek száma? (max 20!) = "); scanf("%d", &n); for (i=0; i<n; i++){ printf("\n Elem[%d] = ", i); scanf("%d", &A[i]); } int min=a[0]; for (i=1; i<n; i++) if (A[i] < min) min=a[i]; printf("\n A megfelelő (legkisebb) elem = %d", min); } 53/17

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

19 Kiválasztásos rendezés Feladat: Adott egy számhalmaz, és valamilyen rendezési szempont (rendezési kulcs). Rendezzük sorba az adatokat. Szempont: növekvő sorrend /19

20 Kiválasztásos rendezés Feladat: Adott egy tömb, rendezzük az elemeit növekvő sorrendbe. Módszer: Keressük ki a legkisebb elemet, és tegyük azt a tömb első helyére. Lépjünk egy hellyel odébb (második elem), és keressük ki a maradék elemek közül a legkisebbet. Tegyük ezt a második helyre. Lépjünk eggyel odébb, 53/20

21 Kiválasztásos rendezés Megoldás: Visszavezetjük a rendezést a kiválasztásra Két egymásba ágyazott ciklust alkalmazunk. A külső (I-változójú) azt vezérli, hogy hányadik helyre keressük a megfelelő adatot. A belső (J-változójú) a maradék elemek közül választja ki a megfelelőt. Ha csere szükséges, akkor azt egy segédváltozó (C) bevezetésével valósítjuk meg 53/21

22 Csere segédváltozó használatával Kiindulás: A B C lépés: C = A 2. lépés: A = B 3. lépés: B = C Végeredmény: /22 B ITI T MAN

23 Kiválasztásos rendezés Kiindulás: 53/ Külső ciklus: i melyik helyre keressük a legkisebb elemet Belső ciklus: j végigmegy az i-től magasabb indexű elemeken i=1, j= j= Nincs csere Nincs csere j= Csere i=2, j= Csere j= Csere i=3, j= Csere Végeredmény:

24 Kiválasztásos rendezés Pszeudokód: Be: N c1-ciklus i= 1.. N ismétel Be: A[i] c1-vége ck-ciklus i=1.. N-1 ismétel cb-ciklus j= i+1.. N ismétel ha A[j] < A[i] akkor C:=A[i], A[i]:= A[ j], A[ j]:=c feltétel vége cb-vége ck-vége c2-ciklus i= 1.. N ismétel Ki: A[i] c2-vége 53/24 Struktogram: Be: n i = 1.. n Be: A [ i ] m = A [1] i = 1.. n-1 j = i+1.. n c=a[i] A[i]=A[ j] A[ j]=c i = 1.. n A[ j]<a[i] Ki: A [i]

25 Rendezés START Be: n i = 0 i= i + 1 Be: A[ i ] i < n 53/ i = 1 j = i + 1 c = A [i] A[i] = A[ j] A[ j] = c A[ j]<a[i] j < n i < n-1 2 j = j+1 i = i+1 c: segédváltozó 2 i = 0 i= i + 1 Ki: A[ i ] i < n STOP

26 Kiválasztásos rendezés C kód #include <stdio.h> main() { int A[20]; int i, n, j, c; printf("\nelemek száma? (max 20!) = "); scanf("%d", &n); for (i=0; i<n; i++){ printf("\n Elem[%d] = ", i); scanf("%d", &A[i]); } for (i=0; i<n-1; i++) for (j=i+1; j<n; j++) if (A[j] < A[i]) {c = A[i]; A[i]= A[j]; A[j]= c;} for (i=0; i<n; i++) printf("%d. elem \t %d \t \n", i, A[i]); 53/26 }

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

28 Összefésülés Feladat: Adott két vagy több rendezett számhalmaz. Egyesítsük úgy az adatokat, hogy az eredmény halmaza is rendezett legyen /28

29 Összefésülés Két tömb elemeinek összefésülése növekvő sorrendben: 1-re beállítjuk két segédváltozó értékét, ezek jelzik, hogy a két kiinduló tömb hányadik elemét vizsgáljuk meg. Indítunk egy ciklust, melynek lépésszáma a két tömb elemszámának az összege, így tudunk majd mindkét kiinduló tömb elemein végigmenni. A ciklusban megállapítjuk, hogy a segédváltozók által jelzett tömbelemek közül melyik a kisebb, és ezt az elemet áttesszük az eredmény tömbbe, és amelyik kiinduló tömbből áttettük az elemet, annak a segédváltozóját megnöveljük 1-el. Eredmény az eredmény tömb. 53/29

30 Összefésülés Pszeudokód: Be: N ciklus i= 1.. N ismétel Be: A[i] ciklus vége Be: M ciklus i= 1.. M ismétel Be: B[i] ciklus vége 53/30 j= 1, k= 1 ciklus i= 1.. N+M ismétel ha A[ j] < B[k] akkor C[i] = A[ j] j= j+1 különben C[i] = B[k] k= k+1 feltétel vége ciklus vége ciklus i= 1.. N+M ismétel Ki: C[i] ciklus vége

31 Összefésülés 2 START 1 i = 0 j = 1 k = 1 Be: n Be: m i = 0 i = 0 i = i + 1 i= i + 1 Be: A[ i ] i= i + 1 Be: B[ i ] C[i]=A[ j] j = j+1 A[ j]<b[k] C[i]=B[k] k = k+1 53/31 i < n 1 i < m 2 i < n+m 3

32 Összefésülés 53/32 3 i = 0 i= i + 1 Ki: C[ i ] i < n+m STOP Be: n i = 1.. n Be: A [ i ] j = 1, k = 1 i = 1.. n+m A[ j]<b[k] Be: m i = 1.. m C[i]=A[ j] j = j+1 Be: B [ i ] i = 1.. n+m Ki: C[ i ] C[i]=B[k] k = k+1

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

34 Szétválogatás Feladat: Adott egy számhalmaz, és egy (vagy több) feltétel. Válogassuk szét az adatokat a feltételnek megfelelően több halmazba Feltétel: páros és páratlan számok /34

35 Szétválogatás Páros vagy páratlan számok: 1-re beállítjuk két segédváltozó értékét, ezek jelzik, hogy a két eredmény tömb (páros, páratlan) hányadik helyére kerül a kiinduló tömb aktuálisan vizsgált eleme. Ciklus segítségével végigmegyünk a kiinduló tömbön. Ha az aktuális elem 2-vel elosztva 0 maradékot ad (páros), akkor a páros tömbbe, a segédváltozója által jelzett helyre rakjuk, és a segédváltozót növeljük 1-el. Ha a maradék 1, akkor a vizsgált elem a páratlan tömbbe kerül, és ennek segédváltozóját növeljük meg. Eredmény a két eredmény tömb. 53/35

36 Szétválogatás Be: N Pszeudokód: ciklus i= 1.. N ismétel Be: A[i] ciklus vége j= 1, k= 1 ciklus i= 1.. N ismétel ha A[i] mod 2 = 0 akkor B[ j] = A[i] j= j+1 különben C[k] = A[i] k= k+1 feltétel vége ciklus vége 53/36 ciklus i= 1.. j-1 ismétel Ki: B[i] ciklus vége ciklus i= 1.. k-1 ismétel Ki: C[i] ciklus vége

37 Szétválogatás START Be: n 1 i = 0 j = 1 k = 1 2 i = 0 i = 0 i= i + 1 Be: A[ i ] i < n 53/37 1 B[ j]=a[ i] j = j+1 i = i + 1 A[i] mod 2=0 i < n 2 C[k]=A[ i] k = k+1 i= i + 1 Ki: B[ i ] i < j-1 3

38 Szétválogatás 53/38 3 i = 0 i= i + 1 Ki: C[ i ] i < k-1 STOP Be: n i = 1.. n Be: A [ i ] j = 1, k = 1 i = 1.. n A[i] mod 2=0 B[ j]=a[i] j = j+1 i = 1.. j-1 Ki: B[ i ] i = 1.. k-1 Ki: C[ i ] C[k]=A[i] k = k+1

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

40 Gyorsrendezés Feladat: adott egy tömb, rendezzük sorba az elemeit. 1. Válasszuk ki a tömb középső elemét. Ötlet: használjuk ehelyett az első és az utolsó elem átlagát. 2. Rendezzük úgy át az elemeket, hogy a középsőnél kisebb elemek a tömb elejére, a tőle nagyobbak a tömb végére kerüljenek. 3. Vegyük a középsőnél kisebb elemek résztömbjét, meg a középsőnél nagyobb elemek résztömbjét, és ismételjük meg a lépéseket (1-2-3). Akkor végzünk, ha a résztömbökben max. egy eleme marad. 53/40

41 Gyorsrendezés Pl.: Középső: (3+8)/2= Alsó blokk középsője: (3+5)/2=4 Felső blokk középsője: (9+8)/2= Alsó blokk középsője: (3+1)/2=2 Felső blokk középsője: (6+7)/2= /41

42 Gyorsrendezés Módszer: az első kettéválasztás és átrendezés után a két résztömbre meghívjuk ismét a gyorsrendezést, vagyis saját magát hívja a függvény. Ezt rekurziónak nevezzük. 53/42

43 Gyorsrendezés C kód void qs(double * t, int meret){ if (meret<2) return; // ha 1 vagy 0 tömbelem van, kész int left=0, right=meret-1; // a két szélén kezdjük double med=(t[right]+t[left])/2; // a középső elem kiválasztása do { while (t[left]<med)left++; // átlépjük a középsőnél kisebb elemeket while (t[right]>med)right--; // átlépjük a középsőnél nagyobb elemeket if (right >= left){ // Ha nem ment el egymás mellett a kép "pointer", felcseréljük az elemeket double temp=t[left]; t[left]=t[right]; t[right]=temp; left++; right--; } } while (right>=left); // Ha elment egymás mellett a két "pointer", kész a szétválogatás qs(t,right+1); // Az alsó résztömbre meghívjuk a quicksortot qs(t+left,meret-left); // A felső résztömbre meghívjuk a quicksortot } 53/43

44 File-kezelés C-ben Tömb kiírása szövegfájlba Beolvasás szövegfájlból 53/44

45 Tömb kiírása fájlba C kód (1) #include <stdio.h> main() { int A[20]; int i, n; FILE *fp; void fkiir(){ fp=fopen("adat.txt","wt"); for (i=0; i<n; i++) fprintf(fp,"%d\n",a[i]); fflush(fp); fclose(fp); } 53/45

46 Tömb kiírása fájlba C kód (2) printf("\nelemek száma? (max 20!) = "); scanf("%d", &n); for (i=0; i<n; i++){ printf("\n Elem[%d] = ", i); scanf("%d", &A[i]); } fkiir(); } 53/46

47 File-kezelés C-ben Tömb kiírása szövegfájlba Beolvasás szövegfájlból 53/47

48 Beolvasás szövegfájlból C kód (1) #include <stdio.h> main() { int A[20]; int i, n; FILE *fp; void folvas(){ fp=fopen("adat.txt","rt"); i=-1; while (!feof(fp)){ i++; fscanf(fp,"%d",&a[i]); } fclose(fp); n=i+1; } 53/48

49 Beolvasás szövegfájlból C kód (2) folvas(); printf("\nelemek száma= %d\n", n); for (i=0; i<n; i++) printf("%d. elem \t %d \t \n", i, A[i]); } 53/49

50 Feladatok Fájlban adott kb. 20 darab szám, gyorsrendezéssel rendezze a fájl tartalmát. Olvassa be az adatokat egy tömbbe. Rendezze a tömböt. Írja vissza az adatokat a fájlba. Próbálja tömb használata nélkül megoldani a feladatot. 53/50

51 53/51

52 Felhasznált irodalom Knuth, D.E: A számítógép-programozás művészete 1-3, Műszaki Könyvkiadó, Budapest, Brian W. Kernighan Dennis M. Ritchie: A C programozási nyelv, Műszaki Könyvkiadó, 1988 Wirth, N: Algoritmusok + Adatstruktúrák = Programok, Műszaki Könyvkiadó, Budapest, 1982 Benkő László Benkő Tiborné Tóth Bertalan: Programozzunk C nyelven, Computerbooks, 2008 Elek Tibor: A C programozási nyelv, elektronikus jegyzet Ficsor Lajos: Bevezetés a C programozási nyelvbe, elektronikus jegyzet 53/52

53 VÉGE VÉGE 53/53

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 1. feladat: Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR). Írjon C programokat az alábbi kérdések

Részletesebben

Programozási segédlet

Programozási segédlet Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen

Részletesebben

Programozás alapjai 9.Gy: Struktúra 2.

Programozás alapjai 9.Gy: Struktúra 2. Programozás alapjai 9.Gy: Struktúra 2. Ördögi részletek P R O A L A G 35/1 B ITv: MAN 2018.11.10 Euró árfolyam statisztika Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR).

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

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I. Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Részletesebben

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás, rendezések 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok és programozási tételek

Részletesebben

Programozás alapjai 1.Gy: Algoritmizálás P R O

Programozás alapjai 1.Gy: Algoritmizálás P R O Programozás alapjai 1.Gy: Algoritmizálás. P R O A L A G 1/13 B ITv: MAN 2018.09.20 Algoritmus leírási módszerek Szöveges leírás Pszeudokód Folyamatábra Struktogram Jackson diagram 2/13 Folyamatábra elemek

Részletesebben

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán Keresés Rendezés Feladat Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán 2016. november 7. Farkas B., Fiala

Részletesebben

10. gyakorlat Tömb, mint függvény argumentum

10. gyakorlat Tömb, mint függvény argumentum 10. gyakorlat Tömb, mint függvény argumentum 1. feladat: A 6. gyakorlat 1. feladatát oldja meg a strukturált programtervezési alapelv betartásával, azaz minden végrehajtandó funkciót külön függvényben

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

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

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

A programozás alapjai 1 Rekurzió

A programozás alapjai 1 Rekurzió A programozás alapjai Rekurzió. előadás Híradástechnikai Tanszék - preorder (gyökér bal gyerek jobb gyerek) mentés - visszaállítás - inorder (bal gyerek gyökér jobb gyerek) rendezés 4 5 6 4 6 7 5 7 - posztorder

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

Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto

Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás Programozási tételek, rendezések 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok

Részletesebben

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. 11. gyakorlat Sturktúrák használata I. Új típus új műveletekkel 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. typedef struct datum { int ev; int ho; int nap;

Részletesebben

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések) Adatszerkezetek Nevezetes algoritmusok (Keresések, rendezések) Keresések A probléma általános megfogalmazása: Adott egy N elemű sorozat, keressük meg azt az elemet (határozzuk meg a helyét a sorozatban),

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 I gyakorlat. 10. Stringek, mutatók

Programozás I gyakorlat. 10. Stringek, mutatók Programozás I gyakorlat 10. Stringek, mutatók Karakter típus A char típusú változókat karakerként is kiírhatjuk: #include char c = 'A'; printf("%c\n", c); c = 80; printf("%c\n", c); printf("%c\n",

Részletesebben

INFORMATIKA javítókulcs 2016

INFORMATIKA javítókulcs 2016 INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.

Részletesebben

C programozás. 1 óra Bevezetés

C programozás. 1 óra Bevezetés C programozás 1 óra Bevezetés A C nyelv eredete, fő tulajdonságai 1. Bevezető C nyelv alapelemei többsége a BCPL (Basic Combined Programming Language {1963}) Martin Richards B nyelv Ken Thompson {1970}

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

Ö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

INFORMATIKA tétel 2019

INFORMATIKA tétel 2019 INFORMATIKA tétel 2019 ELIGAZÍTÁS: 1 pont hivatalból; Az 1-4 feladatokban (a pszeudokód programrészletekben): (1) a kiír \n utasítás újsorba ugratja a képernyőn a kurzort; (2) a / operátor osztási hányadost

Részletesebben

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont) A Név: l 2017.04.06 Neptun kód: Gyakorlat vezet : HG BP l 1. Az A vektor tartalmát az alábbi KUPACOL eljárással rendezzük át maximum kupaccá. A={28, 87, 96, 65, 55, 32, 51, 69} Mi lesz az értéke az A vektor

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

Információs Technológia

Információs Technológia Információs Technológia A C programozási nyelv elemei, rendező algoritmusok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010.

Részletesebben

Vezérlési szerkezetek

Vezérlési szerkezetek Vezérlési szerkezetek Szelekciós ok: if, else, switch If Segítségével valamely ok végrehajtását valamely feltétel teljesülése esetén végezzük el. Az if segítségével valamely tevékenység () végrehajtását

Részletesebben

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem } C programozás Márton Gyöngyvér, 2009 Sapientia, Erdélyi Magyar Tudományegyetem http://www.ms.sapientia.ro/~mgyongyi 1 Ciklusok for (ismétlés) while do while 2 for utasítás szöveg 10-szeri kiíratása: int

Részletesebben

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi C programozás Márton Gyöngyvér, 2009 Sapientia, Erdélyi Magyar Tudományegyetem http://www.ms.sapientia.ro/~mgyongyi 1 Könyvészet Kátai Z.: Programozás C nyelven Brian W. Kernighan, D.M. Ritchie: A C programozási

Részletesebben

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis I. ALAPALGORITMUSOK 1. Prímszámvizsgálat Adott egy n természetes szám. Írjunk algoritmust, amely eldönti, hogy prímszám-e vagy sem! Egy számról úgy fogjuk eldönteni, hogy prímszám-e, hogy megvizsgáljuk,

Részletesebben

15. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: 2013. január 30.

15. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: 2013. január 30. 15. tétel Adatszerkezetek és algoritmusok vizsga Frissült: 2013. január 30. Edényrendezés Tegyük fel, hogy tudjuk, hogy a bemenő elemek (A[1..n] elemei) egy m elemű U halmazból kerülnek ki, pl. " A[i]-re

Részletesebben

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

Programozás 6. Dr. Iványi Péter Programozás 6. Dr. Iványi Péter 1 Előfeldolgozás része Makrók A forrás kódban elvégzi a helyettesítéseket a fordító Csak egyszer végez helyettesítést Nem olyan makrók, mint a LISP vagy Scheme esetén Csak

Részletesebben

Felvételi tematika INFORMATIKA

Felvételi tematika INFORMATIKA Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.

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

Algoritmusok vektorokkal keresések 1

Algoritmusok vektorokkal keresések 1 Algoritmusok vektorokkal keresések 1 function TELJES_KERES1(A, érték) - - teljes keresés while ciklussal 1. i 1 2. while i méret(a) és A[i] érték do 3. i i + 1 4. end while 5. if i > méret(a) then 6. KIVÉTEL

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

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism) Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény

Részletesebben

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény

Részletesebben

Algoritmusok pszeudókód... 1

Algoritmusok pszeudókód... 1 Tartalomjegyzék Algoritmusok pszeudókód... 1 Abszolút érték... 1 Hányados ismételt kivonással... 1 Legnagyobb közös osztó... 1 Páros számok szűrése... 2 Palindrom számok... 2 Orosz szorzás... 2 Minimum

Részletesebben

Algoritmusok pszeudókód... 1

Algoritmusok pszeudókód... 1 Tartalomjegyzék Algoritmusok pszeudókód... 1 Abszolút érték... 1 Hányados ismételt kivonással... 1 Legnagyobb közös osztó... 2 Páros számok szűrése... 2 Palindrom számok... 2 Orosz szorzás... 3 Minimum

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

Adminisztrációs feladatok Strukturált programok A C programnyelv elemei

Adminisztrációs feladatok Strukturált programok A C programnyelv elemei Strukturált C-Strukturált Egyéb elemek Strukturált C-Strukturált Egyéb elemek Adminisztrációs feladatok Strukturált programok A C programnyelv elemei A programozás alapjai. álózati Rendszerek és Szolgáltatások

Részletesebben

14. Mediánok és rendezett minták

14. Mediánok és rendezett minták 14. Mediánok és rendezett minták Kiválasztási probléma Bemenet: Azonos típusú (különböző) elemek H = {a 1,...,a n } halmaza, amelyeken értelmezett egy lineáris rendezési reláció és egy i (1 i n) index.

Részletesebben

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,

Részletesebben

Tartalomjegyzék Algoritmusok - pszeudókód... 1 42

Tartalomjegyzék Algoritmusok - pszeudókód... 1 42 Tartalomjegyzék Algoritmusok - pszeudókód... 1 42 Abszolút érték...1 Hányados ismételt kivonással...1 Legnagyobb közös osztó... 1 2 Páros számok szűrése...2 Palindrom számok... 2 3 Orosz szorzás...3 Minimum

Részletesebben

Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).

Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n). Edényrendezés Tegyük fel, hogy a rendezendő H = {a 1,...,a n } halmaz elemei a [0,1) intervallumba eső valós számok. Vegyünk m db vödröt, V [0],...,V [m 1] és osszuk szét a rendezendő halmaz elemeit a

Részletesebben

Rekurzív algoritmusok

Rekurzív algoritmusok Rekurzív algoritmusok 11. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. november 14. Sergyán (OE NIK) AAO 11 2011. november 14. 1 / 32 Rekurzív

Részletesebben

Algoritmuselmélet 2. előadás

Algoritmuselmélet 2. előadás Algoritmuselmélet 2. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Február 12. ALGORITMUSELMÉLET 2. ELŐADÁS 1 Buborék-rendezés

Részletesebben

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb 1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb #include main() { int a, b; printf( "a=" ); scanf( "%d", &a ); printf( "b=" ); scanf( "%d", &b ); if( a< b ) { inttmp = a; a =

Részletesebben

INFORMATIKA tétel 2017

INFORMATIKA tétel 2017 INFORMATIKA tétel 2017 ELMÉLETI TÉTEL: Sorold fel a rekurzív függvények/eljárások jellemzőit! Szemléltesd a fogalmakat egy konkrét példán! [1 pont] GYAKORLATI TÉTEL: 1. Legyen az alábbi pszeudokód programrészlet

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

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása 1. feladat: Eldönteni egy számról, hogy pozitív, negatív vagy 0. Próbálja megoldani a feladatot switch szerkezettel is. Mikor használható

Részletesebben

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

hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget

hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget Hiányzások Ebben a feladatban egy általános iskola 2017 szeptemberi hiányzásai tartalmazó szövegfájlt kell feldolgoznia. Az adatok a szeptember.csv állomány tartalmazza. Az állomány egy sorában egy tanuló

Részletesebben

AAO 3. Csink László 2007

AAO 3. Csink László 2007 AAO 3 Csink László 2007 Algoritmus fogalma - ismétlés Az algoritmus egy eljárás (jóldefiniált utasítások véges halmaza), amelyet valamely feladat megoldására készítünk. A feladat egy adott kezdeti állapotból

Részletesebben

Programozás alapjai 3.Gy: C elágazások, ciklusok P R O

Programozás alapjai 3.Gy: C elágazások, ciklusok P R O Programozás alapjai 3.Gy: C elágazások, ciklusok. P R O A L A G 1/39 B ITv: MAN 2018.10.08 Kövessük a kódot 1. 2. 3. 4. 5. 6. 7. 8. 9. void main() { int a, b, seged; printf("\nkerek ket egesz szamot: ");

Részletesebben

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Bemutatkozás. Bemutatkozás. Bemutatkozás. Bemutatkozás. 1. előadás. A tárgy címe: A programozás alapjai 1

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Bemutatkozás. Bemutatkozás. Bemutatkozás. Bemutatkozás. 1. előadás. A tárgy címe: A programozás alapjai 1 Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1 Ajánlott irodalom A programozás fogalma Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu 2012. február 7. A tárgy címe: A tárgy adminisztratív

Részletesebben

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék 9. előadás Wagner György Általános Informatikai Tanszék Leszámoló rendezés Elve: a rendezett listában a j-ik kulcs pontosan j-1 kulcsnál lesz nagyobb. (Ezért ha egy kulcsról tudjuk, hogy 27 másiknál nagyobb,

Részletesebben

Programozás alapjai. 5. előadás

Programozás alapjai. 5. előadás 5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk

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

1. numere.txt n (1 n 10000) n növekvő kilenc a) Pascal/C++ Például: NUMERE.TXT

1. numere.txt n (1 n 10000) n növekvő kilenc a) Pascal/C++ Például: NUMERE.TXT Az informatika érettségi harmadik tételsora tartalmaz egy feladatot, melyet hatékonyan kell megoldani. A program megírása mellett követelmény a megoldásban használt módszer rövid leírása, kitérve a módszer

Részletesebben

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t.. A Név: l 2014.04.09 Neptun kód: Gyakorlat vezető: HG BP MN l 1. Adott egy (12 nem nulla értékû elemmel rendelkezõ) 6x7 méretû ritka mátrix hiányos 4+2 soros reprezentációja. SOR: 1 1 2 2 2 3 3 4 4 5 6

Részletesebben

Programozás alapjai 2.Gy: A C nyelv alapjai P R O

Programozás alapjai 2.Gy: A C nyelv alapjai P R O Programozás alapjai 2.Gy: A C nyelv alapjai. P R O A L A G 1/32 B ITv: MAN 2018.10.02 Code::Blocks Indítsa el mindenki! 2/32 1 Code::Blocks Új projekt 2 3 4 5 3/32 Code::Blocks Forráskód Kód fordítása:

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 9. ÖSSZETETT FELADATOK...111 9.1. ELEMI ALGORITMUSOK ÖSSZEÉPÍTÉSE...111 9.2. ÖSSZEFOGLALÁS...118 9.3. GYAKORLÓ FELADATOK...118

Részletesebben

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

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

Részletesebben

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

/* Az iter függvény meghívása és a visszatérő érték átadása a gyok változóba */ gyok = iter( n, a, e ) ;

/* Az iter függvény meghívása és a visszatérő érték átadása a gyok változóba */ gyok = iter( n, a, e ) ; 1. Írjunk programot, amely függvény alkalmazásával meghatározza n a értékét, (a az n-edik gyök alatt), az általunk megadott pontossággal, iterációval. Az iteráció képlete a következő: ahol : n-1 x uj =

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

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

C programozás. 6 óra Függvények, függvényszerű makrók, globális és C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,

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

Programzás I. - 1. gyakorlat

Programzás I. - 1. gyakorlat Programzás I. - 1. gyakorlat Alapok Tar Péter 1 Pannon Egyetem Műszaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 15, 2007 1 tar@dcs.vein.hu Tar Péter (PE-MIK-DCS)

Részletesebben

Maximum kiválasztás tömbben

Maximum kiválasztás tömbben ELEMI ALKALMAZÁSOK FEJLESZTÉSE I. Maximum kiválasztás tömbben Készítette: Szabóné Nacsa Rozália Gregorics Tibor tömb létrehozási módozatok maximum kiválasztás kódolása for ciklus adatellenőrzés do-while

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

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3) Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Mit tudunk már? Típus fogalma char, int, float, double változók deklarációja operátorok (aritmetikai, relációs, logikai,

Részletesebben

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

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ás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő

Részletesebben

Legkönnyebb és legnehezebb Rendezési algoritmusok

Legkönnyebb és legnehezebb Rendezési algoritmusok 7. foglalkozás Legkönnyebb és legnehezebb Rendezési algoritmusok Tartalom A számítógépeket gyakran használják arra, hogy listákat valamiféle rendbe rakjanak, például neveket ábécé szerint, találkozókat

Részletesebben

Számjegyes vagy radix rendezés

Számjegyes vagy radix rendezés Számláló rendezés Amennyiben a rendezendő elemek által felvehető értékek halmazának számossága kicsi, akkor megadható lineáris időigényű algoritmus. A bemenet a rendezendő elemek egy n méretű A tömbben

Részletesebben

Mintavételes szabályozás mikrovezérlő segítségével

Mintavételes szabályozás mikrovezérlő segítségével Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés

Részletesebben

Programozás alapjai 8.Gy: Program struktúra

Programozás alapjai 8.Gy: Program struktúra Programozás alapjai 8.Gy: Program struktúra Elvarázsolt matekóra P R O A L A G 32/1 B ITv: MAN 2018.11.02 Programozás történelem Kezdetben egy program egyetlen kódsorozat volt (ún. monolitikus program)

Részletesebben

7/8. gyakorlat Karaktertömbök és sztringkezelés

7/8. gyakorlat Karaktertömbök és sztringkezelés 7/8. gyakorlat Karaktertömbök és sztringkezelés 1. feladat: Karaktertömb kezelése Egy beolvasott karaktert lineáris kereső eljárással keressen meg az angol ábécében (az ábécé betűit tárolja inicializált

Részletesebben

Programozás C nyelven (13. ELŐADÁS) Sapientia EMTE

Programozás C nyelven (13. ELŐADÁS) Sapientia EMTE Programozás C nyelven (13. ELŐADÁS) Sapientia EMTE 2015-16 1 Olvasás/írás (ANSI C) ille tyűzetről/képer yőre (scanf/printf) scanf: olvasás a standard inputról (stdin) A sta dard i put i pli ite a ille

Részletesebben

Rendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24.

Rendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24. Rendezések 8. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. október 24. Sergyán (OE NIK) AAO 08 2011. október 24. 1 / 1 Felhasznált irodalom

Részletesebben

B I T M A N B I v: T 2014.02.15 M A N

B I T M A N B I v: T 2014.02.15 M A N Műszaki informatika 2. Ea: IPA Az Informatikai Problémamegoldás Alapjai B I v: T 2014.02.15 M A N 1/223 Probléma megoldás (erről szól a tananyag) 2/223 Ezt kell megtanulni! De nem így! Miért? Probléma

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

Vezérlési szerkezetek. Szelekció Ciklusok

Vezérlési szerkezetek. Szelekció Ciklusok Vezérlési szerkezetek Szelekció Ciklusok Szelekciós vezérlés A program egy feltétel teljesülése alapján választja ki, hogy mely műveleteket hajtsa végre. Alakja: if ( feltétel ) { műveletek, ha feltétel

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

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

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

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Felvételi vizsga mintatételsor Informatika írásbeli vizsga BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) Felvételi vizsga mintatételsor Informatika írásbeli vizsga 1. (5p) Egy x biten tárolt egész adattípus (x szigorúan pozitív

Részletesebben

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK Sapientia EMTE 2015-16 1 Felülnézet 1 Feltételes fordítás #if, #else, #elif, #endif, #ifdef, #ifndef stb. Felülnézet 2 #include: hatására a preprocesszor

Részletesebben

Delphi programozás III.

Delphi programozás III. Delphi programozás III. A Delphi for ciklusa II. A Delphi újabb verziói egy olyan for ciklust vezettek be, amely a régebbi Delphi-verziókban vagy pl. a Turbo Pascalban még nem voltak ismertek. A for-element-in-collection

Részletesebben

Webprogramozás szakkör

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

Részletesebben

Bevezetés a programozásba I.

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

Részletesebben

Programozás 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

Megoldott programozási feladatok standard C-ben

Megoldott programozási feladatok standard C-ben Megoldott programozási feladatok standard C-ben Márton Gyöngyvér Műszaki és Humántudományok Kar EMTE-Sapientia, Marosvásárhely 2008. december 14. 1. fejezet Megoldott feladatok 1.1. Alap algoritmusok 1.1.

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

Programozás II. Fájlkezelés

Programozás II. Fájlkezelés Programozás II. Fájlkezelés Kocsis Zoltán Tamás 2013. 03. 28 Fájlkezelés Az stdio.h-ban megadott FILE* típusú pointerrel és függvényekkel lehet elérni a fájlunkat. FILE *fp; /* fájl mutató (file pointer/handle)

Részletesebben