Információs Technológia

Hasonló dokumentumok
Információs Technológia

Körkörös listák. fej. utolsó. utolsó. fej

A programozás alapjai 1 Rekurzió

Információs Technológia

Adatszerkezetek 7a. Dr. IványiPéter

Információs Technológia

Információs Technológia

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

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. Mutatók és címek (ism.) Indirekció (ism)

Programozás alapjai C nyelv 9. gyakorlat. Rekurzió. Rekurzív algoritmus

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

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.

Rekurzió. Programozás alapjai C nyelv 9. gyakorlat. Rekurzív algoritmus. Rekurzív algoritmus fajtái. Példa: n! (2) Példa: n!

Programozás II. Fájlkezelés

Rekurzió. Horváth Gyula.

10. előadás Speciális többágú fák

7. gyakorlat Sorozatok, Fájlkezelés

Programozás I gyakorlat

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

Bevezetés a C++ programozási nyelvbe

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

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

7. gyakorlat. Fájlkezelés IO haladó Függvények haladó

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

7. fejezet: Mutatók és tömbök

Programozás I. C nyelv

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

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

malloc free malloc free int sum(int a[4]) { return a[0] + a[1] + a[2] + a[3]; }

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

Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás

Adatszerkezetek és algoritmusok

Programozás I gyakorlat

Információs Technológia

Elemi adatszerkezetek

Programozás alapjai 1. (BMEVIEEA100)

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

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

Programozási Nyelvek: C++

Struktúrák (struct) A struktúra szerkezetét meghatározó deklaráció általános formája:

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

Alprogramok, paraméterátadás

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

2. Rekurzió. = 2P2(n,n) 2 < 2P2(n,n) 1

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények. Dr. Bécsi Tamás 6. Előadás

/* 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 ) ;

Memóriakezelés, dinamikus memóriakezelés

Programozás alapjai C nyelv 10. gyakorlat. Standard függvények. Union

Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r

Algoritmusok pszeudókód... 1

A C programozási nyelv VI. Parancssori argumentumok File kezelés

Kalapácsvetés 2016 szöveges

7. BINÁRIS FÁK 7.1. A bináris fa absztrakt adattípus 7.2. A bináris fa absztrakt adatszerkezet

6. előadás. Kiegyensúlyozottság, AVL-fa, piros-fekete fa. Adatszerkezetek és algoritmusok előadás március 6.

Láncolt lista. az itt adott nevet csak a struct deklaráción belül használjuk

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

8. gyakorlat Pointerek, dinamikus memóriakezelés

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

Programozas 1. Strukturak, mutatok

Bevezetés a számítástechnikába

C programozási nyelv

Példatár a Programozás 1 tárgyhoz

2015, Diszkrét matematika

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. Függvények. Függvények(2)

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás

félstatikus adatszerkezetek: verem, várakozási sor, hasítótábla dinamikus adatszerkezetek: lineáris lista, fa, hálózat

Rekurzív algoritmusok

12. gyakorlat Enum; Tárolási osztályok Preprocesszor utasítások; Moduláris programozás

Programozás alapjai 1. (BMEVIEEA100)

Buborékrendezés: Hanoi Tornyai: Asszimptótikus fv.ek: Láncolt ábrázolás: For ciklussal:

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7.

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

Mérnöki modellalkotás Az elmélettől a gyakorlatig. IP forgalomtovábbítás: Prefix fák és fabejárások

Tartalomjegyzék Algoritmusok - pszeudókód

Számítógépes Hálózatok GY 4.hét

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

Példák tematikus csoportosításban

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

Bevezetés a számítástechnikába

Programozás I gyakorlat

Java II. I A Java programozási nyelv alapelemei

Pénzügyi algoritmusok

Országzászlók (2015. május 27., Sz14)

INFORMATIKA javítókulcs 2016

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

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon

Programozás II gyakorlat. 4. Öröklődés

Programozás. Osztályok, Származtatott osztályok. Fodor Attila

int tokeletes(int szam) { int i,oszto=0; for(i=1; i<szam; i++) { if(szam %i == 0) { oszto+=i; }

1. Alapok. Programozás II

Programozási módszertan. Dinamikus programozás: A leghosszabb közös részsorozat

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

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

Feladat. Ternáris fa. Típusspecikáció. Reprezentáció. Absztrakt implementáció. Érdi Gerg EAF II. 4/3.

Algoritmusok pszeudókód... 1

Átírás:

Információs Technológia ZH feladatok megoldása (2009.11.26.) Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2009. november 26.

1.feladat 2. Zárthelyi dolgozat 2009.11.26. 1. Feladat struct faelem int adat; struct faelem *bal, *jobb; ; void beszur(faelem **ppfa, int ertek) if(!*ppfa ) *ppfa = (faelem*) malloc(sizeof(faelem)); (*ppfa)->adat = ertek; (*ppfa)->bal = (*ppfa)->jobb = NULL; else if ( (*ppfa)->adat!= ertek ) if ((*ppfa)->adat > ertek) beszur( &(*ppfa)->bal, ertek); else beszur( &(*ppfa)->jobb, ertek); void main(void) faelem *fa; fa = NULL; beszur(&fa, 4); beszur(&fa, 2); beszur(&fa, 3); beszur(&fa, 7); beszur(&fa, 6); beszur(&fa, 1); beszur(&fa, 5); Fodor A. (Pannon Egyetem) Információs technológia 2009. november 26. 2 / 12

1.feladat 2. Zárthelyi dolgozat 2009.11.26. 1. Feladat faelem *fa; fa = NULL; beszur(&fa, 4); beszur(&fa, 2); beszur(&fa, 3); beszur(&fa, 7); beszur(&fa, 6); beszur(&fa, 1); beszur(&fa, 5); Fodor A. (Pannon Egyetem) Információs technológia 2009. november 26. 3 / 12

2. feladat 2. Zárthelyi dolgozat 2009.11.26. 2. Feladat Preorder Először feldogozom az adatot, bejárom a bal faágat, bejárom a jobb oldali faágat 4 2 2 3 7 6 5 Inorder Bejárom a bal faágat, feldolgozom az adatot, bejárom a jobb oldali faágat 2 2 3 4 5 6 7 Postorder Bejárom a bal faágat, bejárom a jobb oldali faágat, feldolgozom az adatot 2 3 2 5 6 7 4 Fodor A. (Pannon Egyetem) Információs technológia 2009. november 26. 4 / 12

3. feladat 2. Zárthelyi dolgozat 2009.11.26. 3. Feladat Deklaráljon 5 különböző pointer típust, amit char típussal hozható létre. Egy mondatban ismertesse azokat, hogy mire mutathatnak. (A típusok ne csak nevükben különbözzenek!) char *a char **a char *a[] char **a[] char (*a)[] char *a() - karakter típusú pointer - karakter típusú mutatóra mutató mutató - karakter típusú pointerek tömbje - karakter típusú mutatóra mutató mutatók tömbje - karakter típusú tömbre mutató pointer - karakter típusú pointerrel visszatérő függvény char (*a)() - karakter típusú függvényre mutató pointer char (*a[])() - karakter típusú függvényre mutató pointereket tartalmazó töm Fodor A. (Pannon Egyetem) Információs technológia 2009. november 26. 5 / 12

4. feladat 2. Zárthelyi dolgozat 2009.11.26. 4. Feladat Mit csinál az alábbi függvény? n! kiszámítása long mitcsinal(int n) if (n > 1) return n* mitcsinal(n-1); return 1; Fodor A. (Pannon Egyetem) Információs technológia 2009. november 26. 6 / 12

5. feladat 2. Zárthelyi dolgozat 2009.11.26. 5. Feladat Röviden ismertesse vagy ábrával szemléltesse a következő fogalmakat/függvényeket: Láncolt lista Rekurzió fopen malloc Bináris fa Fodor A. (Pannon Egyetem) Információs technológia 2009. november 26. 7 / 12

6. feladat 2. Zárthelyi dolgozat 2009.11.26. 6. Feladat Készítse el azt a függvényt, amely kiszámolja a következő sorozat tetszőleges tagjának értékét! A sorozat a következőképpen épül fel: 1-2 2-3 3-2 + 3 = 5 4-3 + 5 n - (n-2). tag értéke + (n-1). tag értéke Megoldás: Fibonacci sorozat 1-el eltolva Fibonacci sorozat megadása: 0, ha n=0 1, ha n=1 fib(n-1)+fib(n-2), ha n>1 Fodor A. (Pannon Egyetem) Információs technológia 2009. november 26. 8 / 12

2. Zárthelyi dolgozat 2009.11.26. 6. Feladat Fibonacci sorozatot kiszámoló rekurzív függvény Fibonacci sorozatot megvalósító függvény kódja: long fib(int n) if (n < 0) return -1; if (n <= 1) return n; else return fib(n-1) + fib(n-2); ZH feladat megoldása: long zh_sorozat(int n) if (n <= 0) return -1; if (n <= 2) return n+1; else return zh_sorozat(n-1) + zh_sorozat(n-2); Fodor A. (Pannon Egyetem) Információs technológia 2009. november 26. 9 / 12

2. Zárthelyi dolgozat 2009.11.26. 6. Feladat Fibonacci sorozatot kiszámoló nem rekurzív függvény Fodor A. (Pannon x=1; Egyetem) Információs technológia 2009. november 26. 10 / 12 Fibonacci sorozatot megvalósító függvény kódja: long fib_cikl(long n) long x,y,z,i; x=0; y=1; z=n; for(i=1; i < n; i++) z=x+y; x=y; y=z; return z; ZH feladat megoldása: long zh_sorozat_for(long n) long x,y,z,i;

7. feladat 2. Zárthelyi dolgozat 2009.11.26. 7. Feladat #define N 15 int j=2, v[n], i=1; int *ip, *kiscsillag, **csillagom; // valtozok #define VALAMI(a, b) a>b?a:b #define ADD(a, b) a + b v[0] = VALAMI(5, i); // v[0] = 5>i?5:i; // v[0]=5 v[1] = VALAMI(3.1415, 2.153); // v[1] = 3.1415>2.153?3.1415:2.153; // v[1]=3 v[2] = VALAMI(16 & 0x0F, i); // v[2] = 16&0x0F > i? 5&0x0F : i; // v[2]=1 v[3] = ADD(i, 5) * 10; // v[3] = i + 5 * 10; // v[3]=51 #undef VALAMI #undef ADD Fodor A. (Pannon Egyetem) Információs technológia 2009. november 26. 11 / 12

2. Zárthelyi dolgozat 2009.11.26. 7. Feladat 7. feladat (folytatás) #define VALAMI(a, b) (a)>(b)?a:b #define ADD(a, b) (a + b) v[4] = VALAMI(16 & 0x0F, i); // v[4] = (16&0x0F) > i? (5&0x0F) : i; // v[4]=1 v[5] = ADD(i, 5) * 10; // v[5] = (a + b) * 10; v[5]=60 v[6] = 3&5; v[7] = 3 5; v[8] = 3^5; v[9] = 5 << 2; //v[6]=1 //v[7]=7 //v[8]=6 //v[9]=20 kiscsillag = &i; csillagom = &kiscsillag; i=10; v[i] = *kiscsillag; // v[10] = 10 v[i+1] = *kiscsillag**kiscsillag; // v[11] = 100 v[i+4] = *kiscsillag***csillagom; // v[14] = 100 ip = v; ip += 13; *ip = 0xFF; // v[13] = 255; *(ip-1) = 010; // v[12] = 8; Fodor A. (Pannon Egyetem) Információs technológia 2009. november 26. 12 / 12