Programozás alapjai 1. (BMEVIEEA100)
|
|
- Lilla Papp
- 8 évvel ezelőtt
- Látták:
Átírás
1 Programozás alapjai 1. (BMEVIEEA100) Gyakorlat anyaga az 8. oktatási héten Alább látható a félév teljes menete. Zölddel kiemelve a 9. hét, amikor a nagy ZH-t írják, ez a jövő hét!!! A 10. héten van a pót zh, ezért kapott kiemelést. A nagy ZH-ról részletesebben az eheti anyag ismertetése után. Hét Hétfő Szerda Péntek Anyag HF ZH Anyag HF ZH Anyag HF ZH 2 Bevezetés A Bevezetés A Bevezetés A 3 Adattípusok Adattípusok Adattípusok B 4 Operátorok B Operátorok B Állapotgép, Állapotgép, 5 többdimenziós C, D többdimenziós tömbök tömbök 6 Pointerek, dinamikus tömbök E A, B Pointerek, dinamikus tömbök 7 Stringek F Stringek F 8 Rendezés, keresés, hashing 9 Gyakorlás Függvénypointerek, rekurzió (qsort) adatszerkezetek - listák adatszerkezetek fák G H I C, D, E F, G Rendezés, keresés, hashing Függvénypointerek, rekurzió (qsort) adatszerkezetek - listák adatszerkezetek fák C, D Operátorok C E G H A, B C, D, E F, G Állapotgép, többdimenziós tömbök Pointerek, dinamikus tömbök, stringek Rendezés, keresés, hashing Függvénypointerek, rekurzió (qsort) adatszerkezetek - listák adatszerkezetek fák 13 Fájlkezelés J H, I Fájlkezelés J H, I Fájlkezelés J H, I 14 Gyakorlás Gyakorlás Gyakorlás A Bevezetés B Azonosítók, operátorok C Adatbevitel billentyűzetről, kiírás képernyőre D A C nyelv utasításai E Függvények használata F Enum, tömb, struktúra, sztringek G Keresés, rendezés, hashing H Függvényérték paramétersoron, függvénypointer, rekurzió I Pointerek, dinamikus adatszerkezetek J Fájlkezelés I D E, F G H I A, B C, D, E F, G 2. kis ZH Ezen a héten írassuk a 2. kis ZH-t! A sablon a következő oldalon, feladatsor generálása az ismert módon. Az első feladat a régebbi anyagból keletkezik, a többi új.
2 2. ZH (használható hozzá kétoldalas C összefoglaló és kézzel írott puska). Név: FV sikeres: 3 pont= Neptun kód: FV sikertelen: 3 pont= Hallgató aláírása: MF sikeres: 2 pont= MF sikertelen: 2 pont= FV=FeleletVálasztós, MF=Megoldandó Feladat Össz: Pontozás: -2: 1, 3-8: 2, 9-14: 3, 15-18: 4, 19-22: 5
3 Röviden Ismét mindhárom csoport azonos anyagrésznél tart, de ez csak egy hétig van így, mert a szerdai és pénteki csoportokban el fog maradni egy-egy óra a TDK ill. a nyílt nap miatt, így a hétfőiek kapnak egy plusz órát gyakorlás céljára a nagy ZH előtt. Előadáson a 6. ment a hashing és a keresés, a múlt héten a rendezés, ezen a megy/ment a láncolt lista és a bináris fa. Gyakorlaton a téma a keresés, rendezés, hashing, de csak a rendezésekkel kell részletesen foglalkozni. A bináris keresés előkerül a beszúró rendezésnél, hashing pedig eddig még sosem fordult elő nagy zh-ban és vizsgán, tehát elég az, amit előadáson hallottak. Poppe András az összes Pongor György-féle rendezőalgoritmust fel szokta adni: azonban ezek közül a buborék, közvetlen kiválasztás és közvetlen beszúrás az, amit a gyakorlaton nézzünk át, illetve a gyorsrendezés is lesz később, a rekurzióval együtt, tehát most még nem adjuk le. Új anyag A korábbi órák tapasztalataiból okulva a hallgatókkal úgy egyeztünk meg, hogy nem megyünk végig közösen a tesztkérdéseken, csak amiket problémásnak éreznek, azokat beszéljük meg. Hogyan működik a közvetlen kiválasztásos rendezés? 1. lépés: Végigmegyünk a tömb elemein, és megnézzük, melyik a legkisebb. Ha megtaláltuk, akkor kicseréljük a tömb első elemére. 2. lépés: A tömb első eleme tehát a legkisebb, ebben a körben ezt már nem vizsgáljuk. A maradék elemek között megkeressük a legkisebbet, és ezt kicseréljük a tömb második elemével. 3. lépés: A maradékból kikeressük a legkisebbet, és ezt tesszük a maradék elejére. 4. lépés: A 3. lépést ismételjük, míg a tömb végére nem érünk. Lássuk ezt C nyelven: void kivalasztas(double * t,int meret){ int i,j,minindex; for(i=0;i<meret-1;i++){ minindex=i; for(j=i+1;j<meret;j++){ if(t[j]<t[minindex])minindex=j; if(minindex!=i){ double temp=t[minindex]; t[minindex]=t[i]; t[i]=temp; // csere A buborékrendezés a következőképpen működik: 1. lépés: Megvizsgáljuk a tömb első és második elemét. Ha az első nagyobb, akkor felcseréljük őket. Ezután megvizsgáljuk a második és harmadik elemét, ha a második nagyobb volt, ismét cserélünk (figyeljük meg, hogy ha az első
4 lépésben és a másodikban is volt csere, akkor az eredetileg az első helyen álló elem már a harmadikon van: ezúttal tehát a legnagyobb elem mozog a tömb vége felé, nem pedig a legkisebb az eleje felé, mint a közvetlen kiválasztásos rendezésnél!). Ezt a cserélgetést a tömb végéig ismételgetjük. 2. lépés: A tömb utolsó eleme tehát a legnagyobb. A következő lépésben szintén a tömb legelejéről kezdjük (ellentétben a közvetlen kiválasztásossal), de ezúttal csak az utolsó előttiig megyünk, hiszen az utolsó a legnagyobb. 3. lépés: A maradékban végigcserélgetjük a szomszédos elemeket, így a maradék legnagyobb eleme a maradék végére kerül. 4. lépés: A 3. lépést ismételgetjük, míg a maradék egy elem nem lesz. Az algoritmust gyorsabbá tehetjük, ha figyeljük, hogy az adott lépésben volt-e csere. Ha nem volt, akkor a tömb rendezett, tehát nem kell tovább folytatnunk a rendezést. C nyelven az algoritmus a következőképp néz ki: void buborek(double * t,int meret){ int i,j,nemvoltcsere; double temp; for(i=0;i<meret-1;i++){ nemvoltcsere=1; for(j=0;j<meret-1-i;j++){ if(t[j]>t[j+1]){ temp=t[j];t[j]=t[j+1];t[j+1]=temp; // csere nemvoltcsere=0; if(nemvoltcsere)break; A közvetlen beszúró rendezés a következőképpen működik: 1. A tömb elején vannak a rendezett adatok, a végén a rendezetlenek. 2. Vesszük a következő rendezetlen adatot, és egy ideiglenes változóban eltároljuk. 3. Megkeressük, hová kell beszúrni a rendezett részben, bináris keresést használunk. 4. Ettől a helytől a rendezett rész végéig eggyel hátrébb csúsztatjuk az adatokat, az ideiglenes változóba elmentett nem rendezett értéket a rendezett rész utolsó eleme felülírja. 5. A felszabadított helyre beírjuk az elmentett értéket lépések ismétlődnek, míg el nem tűnik a rendezetlen rész. C nyelven az algoritmus a következőképp néz ki: void beszuras(double * t, int n){ int i,also,felso,x; double temp; for (i=1; i<n; i++) { for(also=0,felso=i-1,temp=t[i]; also<=felso; ){ x=(also+felso)/2; if(temp<t[x])felso=x-1; else also=x+1; for(x=i; x>also; x--)t[x]=t[x-1]; t[also]=temp; Könyvtári qsort
5 A C rendelkezik egy beépített rendező függvénnyel, a qsorttal. A q a quickre utal. Előbb megnézzük a beépített qsort függvény használatát, majd mi magunk írunk qsort függvényt. Az alábbi program bemutatja a használatát: #include <stdio.h> #include <stdlib.h> void kiir(double * t,int meret){ int i; for(i=0;i<meret;i++)printf("%d. elem: %.2f\n",i+1,t[i]); int hasonlit(const void *a,const void *b){ double *ia=(double *)a; double *ib=(double *)b; if(*ia<*ib)return -1; //<0 if(*ia==*ib)return 0; //==0 return 1; //>0 int main(){ double t[7]={863,-37,54,9520,-3.14,25, ; printf("rendezes elott:\n"); kiir(t,7); qsort(t,7,sizeof(double),hasonlit); printf("rendezes utan:\n"); kiir(t,7); return 0;
6 Nagy ZH Felépítése: o Teszt: 10 db feleletválasztós + 5 db válaszadós feladat. A maximális pontszám legalább felét kell elérni a sikerhez. Az első 7 témakör tesztkérdéseiből lehetnek feladatok. o 3 db kiskérdés. A megszerezhető pontszám fele szükséges a sikeres nagy ZHhoz. 1. Adattípusok, operátorok, ciklusszervezés. Jellegzetes feladatok a számelméleti példák: osztó, prím stb., továbbá a bitszintű műveletek ismeretét igénylő feladatok: maszkolás, biteltolás, pl.: bitszámlálás, paritásvizsgálat, egyes bitek kimaszkolása. 2. Állapotgép, egy- és többdimenziós tömbök, dinamikus tömbök, pointerek, függvényírás. Bármilyen egyszerűbb szövegszűréses állapotgépes feladat előfordulhat, állapotgráfot vagy állapottáblát rajzolni tudni kell. tömb felszabadítását tudni kell. Tudni kell függvényt írni, függvényértéket visszaadni paramétersoron (pointerrel) vagy függvényértékként (returnnel). Előfordulhat olyan feladat, hogy függvény tömböt kap, és a tömb elemei közül ki kell válogatni bizonyos tulajdonságúakat (páros számokat, átlag alattiakat, egy paraméterként adott értéknél nagyobbakat stb.) Pointert visszaadó függvények. 3. Stringek, rendezés, keresés: könyvtári sztringfüggvények (strlen, strcat, strcmp, strcpy stb.) saját megírása; sztringek összefésülése betűnként, szavanként, mondatonként stb.; bizonyos tulajdonságú sztringrészek törlése, pl. szóközök, kisbetűk, nagybetűk, számok. Keresés sztringen belül, részsztring előállítása stb. Tudni kell rendezni, ismerni kell legalább egy rendező algoritmust. (Fenn lehet a kézzel írott puskán, de tudni kell használni). o 2 db bonyolultabb feladat. Ezek elkészítése nem szükséges, ha a teszt és a kisfeladatok kritériuma teljesül, akkor megvan az aláírás. Aki szeretne elővizsgázni, annak kell megírnia a két bonyolultabb feladatot. A 3 kisfeladat + a 2 nagyfeladat pontszámából kialakult rangsor alapján dől el, hogy ki írhat elővizsgát (a teszt pontszáma ebbe nem számít bele). A bonyolultabb feladatok mindazokat az anyagrészeket felölelik, amelyek a kisfeladatoknál fel lettek sorolva, de többet kell gondolkodni és/vagy több munkával jár az elkészítésük. Három teljes nagy ZH feladatsor készült: egy gyakorlás céljára, egy a nagy ZH-ra, egy a pót ZH-ra. Előre nem határoztuk el, hogy hová melyik feladatsor kerül, így tehát a mellékelt minta ZH akár az éles ZH is lehetet volna (nehézségre, de a fenti listában felsorolt témakörök mindegyikét nézzék át a hallgatók, mert míg az egyik sorban pl. állapotgép a második feladat, egy másik feladatsorban tömbkezelő függvény, stb.). A sztringkezelő függvények önálló megírásának gyakorlása különösen ajánlott! A teszt megoldása: 1. Ha egy double visszatérési típusú, egyetlen double paramétert váró függvényt meg akarunk hívni a main függvényből, akkor a forrásállományban a main függvény definíciója előtt: [ ] nem szükséges semmi, amennyiben a fordító valahol máshol megtalálja a meghívandó függvényt.
7 [ ] a meghívandó függvény deklarációjának és definíciójának is szerepelnie kell (ill. egy header állományt kell #include-olni, amiben szerepel). [X] a meghívandó függvénynek legalább a prototípus deklarációjának szerepelnie kell (ill. egy header állományt kell #include-olni, amiben szerepel). 2. Vizsgálhatjuk-e a túlcsordulást a következő kódrészlettel? int i,j;... if ((i+j)>int_max))... [X] Nem, mert semmilyen egész művelet ideiglenesen sem lesz nagyobb, mint az ábrázolható legnagyobb szám, ezért ez a feltétel akkor sem teljesül a programban, ha matematikailag az összeg nagyobb, mint INT_MAX [ ] Igen, ez így jó [ ] Nem, mert nem INT_MAX a legnagyobb ábrázolható egész, hanem MAX_INT 3. Mit történik a continue utasítás hatására ciklusban? [ ] Hatására while, for és do-while ciklusok megszakadnak és a vezérlés a ciklus utáni első utasításra adódik át. [X] A while, for és do-while ciklusok soron következő iterációját indítja el, így az aktuális iteráció hátralévő utasításait átugorja. [ ] Hatására a program végrehajtása a megadott címke utáni első utasítással folytatódik. 4. Végezhető-e bináris keresés olyan tömbön, amelyben az elemek fordított sorrendben szerepelnek? [X] Igen. [ ] Nem. 5. Helyes-e a következő program? int valami(const int* i) { return *i = (*i)+1; int main(){ int i = 5; printf("%d", valami(&i)); return 0; [X] Nem, fordítási idejű hiba [ ] Igen [ ] Nem, futási idejű hiba 6. Az alábbi változódefiníciók közül melyik hibás? [ ] int nice1x=0xface; [X] int 0xface,nice1x; [ ] int nice1x; 7. Mi lesz ennek az utasításnak a hatása? a>5; [X] Semmi; a kifejezés logikai értékét nem használjuk fel semmire. [ ] Ha ezen a ponton, vagy valamikor később 'a' változó értéke 5, vagy annál kisebb, a program hibával kilép. [ ] 'a' változóba egy 5-nél nagyobb érték kerül. 8. Teljesül a feltétel az alábbi kódban? char s[] = "Hello!", t[] = "Hello!"; if(strcmp(s, t)) printf("a két sztring egyforma!"); [ ] Igen. [X] Nem. 9. Helyes-e az alábbi kódrészlet? int i; double t[5]; for( i = 1; i <=5; i++ ){ printf("\nt[%d]", i ); scanf("%lf", &t[i]); [X] Nem, mert kiindexelünk a tömbből [ ] Igen. 10. Mit ír ki az alábbi program? main(){ char word[20]; word[0] = 'B'; word[0]++; word[1] = 'Y';
8 word[2] = 'E'; --word[2]; word[3] = 0; word[4] = 'B'; printf("the contents of word[] is -->%s\n", word); [ ] The contents of word[] is --> BYD [ ] The contents of word[] is --> BYE [X] The contents of word[] is --> CYD 11. Mi az fv(8) értéke? int fv(unsigned x) { int c=0; for(; x; x>>=1) c+=x&1; return c; Megoldás: Hány karakterre fogja kiírni a következő kódrészlet a számot? double d = ; printf("%13.2f", d); Megoldás: Adott az alábbi értékadás: int t[] = {15, 2, 9, 2, 1, 2; Mi az értéke a (t+2)[t[3]+1] kifejezésnek? Megoldás: Mit ír ki az alábbi program? #include <stdio.h> typedef enum {hetfo, kedd, szerda, csutortok, pentek, szombat, vasarnap napok; napok nap = 15 % 7; void main(void) {nap = (nap + kedd) % 7; printf("%d", nap); Megoldás: Mennyi lesz x értéke? int t[] = {7, 62, 8, 10, 32, 157 int *p = t + 2; int x = p[1]; Megoldás: 10 -
9 Házi feladat X ***************************************************************************** C Keresés, rendezés, hashing X ***************************************************************************** 2. Mi a bináris keresés alkalmazhatóságának feltétele? [ ] A bináris keresés csak számokon alkalmazható. [ ] A tömb elemei rendezve kell legyenek. [ ] A tömb mérete kettő valamely hatványa kell legyen. 3. Végezhető-e bináris keresés olyan tömbön, amelyben az elemek fordított sorrendben szerepelnek? [ ] Igen. [ ] Nem. 4. Melyik rendezést valósítja meg az alábbi programkód? int i,j,minindex; for(i=0;i<meret-1;i++){ minindex=i; for(j=i+1; j<meret; j++) if(t[j] < t[minindex]) minindex =j ; if(minindex!=i){ double temp = t[minindex]; t[minindex]=t[i]; t[i]=temp; [ ] Közvetlen kiválasztásos. [ ] Buborék. [ ] Közvetlen beszúrásos. 5. Milyen irányban rendezi a tömböt az alábbi algoritmus? void h(int *t, int s) { int i, j; for(i=s-1; i>=0 ;i--) for(j=i-1; j>=0; j--) if(t[i]<t[j]){ int k = t[i]; t[i] = t[j]; t[j]=k; [ ] Növekvő. [ ] Csökkenő. 6. Az alábbiak közül melyik a legkevésbé hatékony? [ ] Buborékrendezés [ ] Gyorsrendezés [ ] Bináris fa rendezés 7. n adat esetén milyen nagyságrendű a gyorsrendezés átlagos lépésszáma? [ ] logn [ ] n*n [ ] n*logn 8. n adat esetén milyen nagyságrendű a buborékrendezés átlagos lépésszáma? [ ] n*n [ ] logn [ ] n*logn 9. Hash tárolási technikát alkalmazva listázhatóak-e sorrendhelyesen a táblában tárolt adatok? [ ] Igen. [ ] További rendezés nélkül nem. 10. Igaz vagy hamis: a hash-eléshez használt adatstruktúra csak tömb lehet? [ ] Hamis. [ ] Igaz. 11. A hash technikán alapuló tárolási elv átlagos lépésszáma beszúrás esetén (megfelelően nagy táblaméret mellett)... [ ] arányos az adathalmaz méretének négyzetével. [ ] konstans. [ ] arányos az adathalmaz méretével. 12. A hash technikán alapuló tárolási elv átlagos lépésszáma keresés esetén (megfelelően nagy táblaméret mellett)... [ ] konstans. [ ] arányos az adathalmaz méretének négyzetével. [ ] arányos az adathalmaz méretével. 13. A hash technikán alapuló tárolási elv átlagos lépésszáma közel telített táblában való keresés esetén... [ ] arányos az adathalmaz méretének négyzetével. [ ] arányos az adathalmaz méretével. [ ] konstans. 14. Milyen műveletek lesznek hatékonyak hashing alkalmazásával? [ ] Keresés, beszúrás, törlés és módosítás [ ] Keresés, beszúrás, min-max kiválasztás és módosítás [ ] Keresés, beszúrás, rendezés és törlés 15. Melyik rendezést valósítja meg az alábbi programkód? int i,j,buf; for(i=0;i<n;i++){ buf=a[i]; j=i-1; while(j>0 && buf<a[j]){ a[j+1]=a[j]; j=j-1; a[j+1]=buf; [ ] Buborék. [ ] Közvetlen beszúrásos. [ ] Közvetlen kiválasztásos. 16. Melyik rendezést valósítja meg az alábbi programkód? int i,j,t; for(i=0;i<n;i++) for(j=i-1;j>=0 && a[j]>a[j+1];j--){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; [ ] Közvetlen kiválasztásos. [ ] Közvetlen beszúrásos. [ ] Buborék. 17. Lehet-e egy egyirányú láncolt listában binárisan keresni? [ ] Igen, bármikor [ ] Igen, de csak akkor ha az rendezett [ ] Nem lehet, mert mindig csak a következő elemre lehet ugrani. 18. Milyen adatszerkezeten végezhető el a gyorsrendezés? [ ] mindkettőn [ ] tömbökön [ ] egy irányban láncolt listán
10 19. Milyen adatszerkezeten végezhető el a gyorsrendezés? [ ] mindkettőn [ ] tömbökön [ ] két irányban láncolt listán 20. Milyen adatszerkezeten végezhető el a buborékrendezés? [ ] egy irányban láncolt listán [ ] tömbökön [ ] mindkettőn 21. Ha egy 100 elemű int tömböt használunk hash táblának, akkor megfelelő-e az alábbi hash függvény? 4. Írjunk C függvényt, amely paraméterül kap egy egydimenziós pointertömböt és a tömb méretét. A tömb hallgatók neveit tartalmazó sztringekre mutat. A függvény rendezze sorba a neveket a. a könyvtári qsort függvénnyel b. saját maga által írt rendező algoritmussal (közvetlen kiválasztás, beszúrás, buborék) 5. Írjon függvényt, amely paraméterként kap egy data struktúrákat tartalmazó tömböt, valamint a tömb elemszámát, és sorszám szerint csökkenő/növekvő sorrendbe rendezi az elemeket. A data struktúra felépítése: typedef struct {unsigned sorszam; char nev[60]; data; Megjegyzés: a struktúrák másolhatók = operátorral, nem kell az adattagokat egyenként másolni, akkor sem, ha a struktúrában tömb található. Pl.: data a,b; a=b; művelet teljesen jó! int hash(int x){ return x*2%100; [ ] Nem, mert nem használja ki megfelelően a hash tábla értékeit. [ ] Nem, mert nem megfelelő tartományban adja vissza az értékeit. [ ] Igen 22. Mitől lassú a buborékrendezés? [ ] Ha egy elem nagyon messze van a végleges helyétől, sok lépésben kell cserélgetni [ ] Mivel a rendezett szakasz hossza lépésenként csak egyesével nő 23. A gyorsrendezés azért gyors, mert... [ ] egyszerre több helyen, párhuzamosan rendezgeti a tömböt. [ ] egyszerű lépésekkel hamar a végleges helyük közelébe mozgatja az elmeket. [ ] ötvözi a buborék algoritmus és a közvetlen kiválasztás előnyeit. 24. Egy int t[100] rendezetlen tömbben a minimális elemet keressük, milyen kezdőértéket kell adni a minimumot tároló változónak? [ ] [ ] Nem kell kezdőérték [ ] A tömb egyik elemére állítsuk be. 25. Radix rendezést végzünk 5 jegyű számokon, azaz helyiértékenként stabil ládarendezéseket (bin sort), összesen 5-öt. Milyen sorrendben kell végezni a ládarendezéseket? [ ] A nagyobb helyiérték felől a kisebb felé. [ ] Tetszőleges sorrendben. [ ] A kisebb helyiérték felől a nagyobb felé. Példák 1. Írjunk C függvényt, amely paraméterül kap egy kétdimenziós karaktertömböt és a tömb első indexének méretét, a tömb második indexe 80. A tömb hallgatók neveit tartalmazza sztringként, ABC sorba rendezve. A függvény bináris kereséssel keresse meg az ugyancsak paraméterként érkező sztringben megadott nevű hallgatót, és adja vissza a megtalált hallgató nevének memóriacímét a kétdimenziós tömbben! Deklaráció: char * keres1(char t[][80],int n, char nev[]); 2. Írjunk C függvényt, amely paraméterül kap egy egydimenziós pointertömböt és a tömb méretét. A tömb hallgatók neveit tartalmazó sztringekre mutat, melyek ABC sorba vannak rendezve. A függvény bináris kereséssel keresse meg az ugyancsak paraméterként érkező sztringben megadott nevű hallgatót, és adja vissza a megtalált hallgató nevének memóriacímét! Deklaráció: char * keres2(char * t[],int n, char nev[]); 3. Írjunk C függvényt, amely paraméterül kap egy kétdimenziós karaktertömböt és a tömb első indexének méretét, a tömb második indexe 80. A tömb hallgatók neveit tartalmazza sztringként. A függvény rendezze sorba a neveket a. a könyvtári qsort függvénnyel b. saját maga által írt rendező algoritmussal (közvetlen kiválasztás, beszúrás, buborék)
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
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
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
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
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
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
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
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 =
Programozás alapjai 1. (BMEVIEEA100)
Programozás alapjai 1. (BMEVIEEA100) Gyakorlat anyaga az 7. oktatási héten Figyelem, ez az anyag a szokottnál előbb érkezett, az október 18-22 (szombat-szerda) időszakhoz tartozik! A 8. héten írják a második
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
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
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
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ő
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.
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;
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),
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).
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
Programozás I. - 11. gyakorlat
Programozás I. - 11. gyakorlat Struktúrák, gyakorlás Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 16, 2009 1 tar@dcs.vein.hu Tar
5. Gyakorlat. struct diak {
Rövid elméleti összefoglaló 5. Gyakorlat Felhasználó által definiált adattípusok: A typedef egy speciális tárolási osztály, mellyel érvényes típusokhoz szinonim nevet rendelhetünk. typedef létező_típus
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",
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,
Programozás alapjai C nyelv 10. gyakorlat. Standard függvények. Union
Programozás alapjai C nyelv 10. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.21. -1- Standard függvények Standard függvények amelyeket
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.
Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek
Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Tömb Ugyanolyan típusú elemeket tárol A mérete előre definiált kell legyen és nem lehet megváltoztatni futás során Legyen n a tömb mérete. Ekkor:
Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. szeptember 27. Háromszög szerkeszthet ségének ellen rzése ANSI C (C89) megvalósítás #i n c l u d e i n t main ( v
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
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
2018, Funkcionális programozás
Funkcionális programozás 6. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? Haskell modulok, kompilálás a
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
A programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek:
A programozás alapjai 1 Dinamikus adatszerkezetek:. előadás Híradástechnikai Tanszék Dinamikus adatszerkezetek: Adott építőelemekből, adott szabályok szerint felépített, de nem rögzített méretű adatszerkezetek.
1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon
1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (
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,
Függvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor.
Függvény pointer Több feladat közül futási időben döntöm el, hogy melyiket hajtom végre. A függvényre mutató pointer a függvény kódjának a címére mutat, azon keresztül meghívhatom a függvényt. A pointernek
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ó,
C programozási nyelv
C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György
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
A C# programozási nyelv alapjai
A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet
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ó,
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
Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik
C string műveletek (string.h alkalmazása)
C string műveletek (string.h alkalmazása) A 3. előadás ZH során a string.h-ban található függvények alkalmazásával kell különböző, string kezeléssel kapcsolatos feladatokat megoldani. Ehhez szükséges ezen
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,
Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás
Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás 5.3. Mutatók,tömbök A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza. A C nyelvű programokban gyakran használják a
1. Jelölje meg az összes igaz állítást a következők közül!
1. Jelölje meg az összes igaz állítást a következők közül! a) A while ciklusban a feltétel teljesülése esetén végrehajtódik a ciklusmag. b) A do while ciklusban a ciklusmag után egy kilépési feltétel van.
// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió
BME MOGI Gépészeti informatika 3. 1. feladat Végezze el a következő feladatokat! Kérjen be számokat 0 végjelig, és határozza meg az átlagukat! A feladat megoldásához írja meg a következő metódusokat! a.
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
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
Nagy HF u tmutato 2011/2012 II. fe le v
A programozás alapjai 1. BMEVIHIA106 Nagy HF u tmutato 2011/2012 II. fe le v Analízis (Nyelv független) 1. A Házi feladat téma szöveges leírása. 2. A feladat résztvevőinek azonosítása 3. A résztvevők tulajdonságai
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
Algoritmusok és adatszerkezetek gyakorlat 07
Algoritmusok és adatszerkezetek gyakorlat 0 Keresőfák Fák Fa: összefüggő, körmentes gráf, melyre igaz, hogy: - (Általában) egy gyökér csúcsa van, melynek 0 vagy több részfája van - Pontosan egy út vezet
Programozás alapjai 1. (BMEVIEEA100)
Programozás alapjai 1. (BMEVIEEA100) Gyakorlat anyaga az 6. oktatási héten (4-5. gyakorlat) A 7. oktatási hét péntekje előbbre csúszik a 6. hét szombatjára, ezért a 7. heti anyagot a szokottnál előbb kapjátok
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
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
Programozás I gyakorlat
Programozás I. - 2. gyakorlat Változók, kiiratás, bekérés Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 24, 2007 1 tar@dcs.vein.hu
Programozás I gyakorlat
Programozás I. - 9. gyakorlat Sztringkezelés, mutatók Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 2, 2009 1 tar@dcs.vein.hu Tar
5. gyakorlat. Konstansok Tömbök Stringek
5. gyakorlat Konstansok Tömbök Stringek Konstansok A C nyelvben a konstansok preprocesszor makrókkal vannak megvalósítva. Konstansdefiniálás alakja: #define NÉV érték Az érték bármi lehet, később a fordítás
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,
Vizsga és ZH feladatok gyűjteménye Programozás alapjai I. tárgyból informatikusoknak. Szerkesztő: Pohl László
Vizsga és ZH feladatok gyűjteménye Programozás alapjai I. tárgyból informatikusoknak Szerkesztő: Pohl László BME, Elektronikus Eszközök Tanszéke Budapest 2008 Tartalomjegyzék TARTALOMJEGYZÉK... 2 ELŐSZÓ...
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.
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
Bevezetés a programozásba I.
Bevezetés a programozásba I. 6. gyakorlat C++ alapok, szövegkezelés Surányi Márton PPKE-ITK 2010.10.12. Forrásfájlok: *.cpp fájlok Fordítás: a folyamat, amikor a forrásfájlból futtatható állományt állítunk
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)
INFORMATIKAI ALAPISMERETEK
Informatikai alapismeretek középszint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM
Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe
Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével
Occam 1. Készítette: Szabó Éva
Occam 1. Készítette: Szabó Éva Párhuzamos programozás Egyes folyamatok (processzek) párhuzamosan futnak. Több processzor -> tényleges párhuzamosság Egy processzor -> Időosztásos szimuláció Folyamatok közötti
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}
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
Programozás I. 5. Előadás: Függvények
Programozás I 5. Előadás: Függvények Függvény Egy alprogram Egy C program általában több kisméretű, könnyen értelmezhető függvényből áll Egy függvény megtalálható minden C programban: ez a main függvény
Programozás alapjai gyakorlat. 2. gyakorlat C alapok
Programozás alapjai gyakorlat 2. gyakorlat C alapok 2016-2017 Bordé Sándor 2 Forráskód, fordító, futtatható állomány Először megírjuk a programunk kódját (forráskód) Egyszerű szövegszerkesztőben vagy fejlesztőkörnyezettel
Adatszerkezetek 2. Dr. Iványi Péter
Adatszerkezetek 2. Dr. Iványi Péter 1 Hash tábla A bináris fáknál O(log n) a legjobb eset a keresésre. Ha valamilyen közvetlen címzést használunk, akkor akár O(1) is elérhető. A hash tábla a tömb általánosításaként
Algoritmusok és adatszerkezetek 2.
Algoritmusok és adatszerkezetek 2. Varga Balázs gyakorlata alapján Készítette: Nagy Krisztián 1. gyakorlat Nyílt címzéses hash-elés A nyílt címzésű hash táblákban a láncolással ellentétben egy indexen
Programozás I. gyakorlat
Programozás I. gyakorlat 2. gyakorlat Kifejezések, vezérlési szerkezetek, struktúrák Kifejezések Mit ír ki az alábbi program? #include int main() { int a = 20, b = 40; printf("%d\n", a > b);
Információs Technológia
Információs Technológia Rekurzió, Fa adatszerkezet Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 18. Rekurzió Rekurzió
Mindenki abból a három tantárgyból tesz szigorlatot, amelyet hallgatott.
Szigorlati témakörök az Informatika (szigorlat) (BMEVIAU0181) c. tantárgyat felváltó Informatika (BMEGERIEEIS) tantárgyból az okleveles energetikai mérnökképzés (2N-0E) hallgatói számára 1. tantárgy: Programozás
Programozás alapjai 1. (BMEVIEEA100)
Programozás alapjai 1. (BMVIA100) Gyakorlat anyaga a 4. oktatási héten A 4. héten elmaradnak a pénteki órák a Schönherz kupa miatt, így a pénteki csoportokban az 5. héten kerül terítékre a 4. heti anyag.
Adatszerkezetek 1. előadás
Adatszerkezetek 1. előadás Irodalom: Lipschutz: Adatszerkezetek Morvay, Sebők: Számítógépes adatkezelés Cormen, Leiserson, Rives, Stein: Új algoritmusok http://it.inf.unideb.hu/~halasz http://it.inf.unideb.hu/adatszerk
Feladat: Hogyan tudunk létrehozni egy olyan vector nevű tömb típust, amely egy háromdimenziós térbeli vektort reprezentál?
Típus definiálás Ennek általános alakja: typedef típus név Feladat: Hogyan tudunk létrehozni egy olyan vector nevű tömb típust, amely egy háromdimenziós térbeli vektort reprezentál? typedef double vector[3];
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
Ugrólisták. RSL Insert Example. insert(22) with 3 flips. Runtime?
Ugrólisták Ugrólisták Ugrólisták Ugrólisták RSL Insert Example insert(22) with 3 flips 13 8 29 20 10 23 19 11 2 13 22 8 29 20 10 23 19 11 2 Runtime? Ugrólisták Empirical analysis http://www.inf.u-szeged.hu/~tnemeth/alga2/eloadasok/skiplists.pdf
Struktúrák (struct) A struktúra szerkezetét meghatározó deklaráció általános formája:
Struktúrák (struct) A struktúra egy olyan összetett adatszerkezet, amely nemcsak azonos típusú elemeket rendelhet össze. A struktúra definíciójában leírjuk, hogy a struktúra hogyan épül fel. A struktúra
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,
Adatszerkezetek Hasító táblák. Dr. Iványi Péter
Adatszerkezetek Hasító táblák Dr. Iványi Péter 1 Hash tábla A bináris fáknál O(log n) a legjobb eset a keresésre. Ha valamilyen közvetlen címzést használunk, akkor akár O(1) is elérhető. A hash tábla a
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
Programozás I. gyakorlat
Programozás I. gyakorlat 1. gyakorlat Alapok Eszközök Szövegszerkesztő: Szintaktikai kiemelés Egyszerre több fájl szerkesztése pl.: gedit, mcedit, joe, vi, Notepad++ stb. Fordító: Szöveges file-ban tárolt
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.
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
Pénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Sztringek Osztályok alapjai Sztringek Szöveges adatok kezelése Sztring Karakterlánc (string): Szöveges adat Karaktertömbként tárolva A szöveg végét a speciális
Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók. Dr. Bécsi Tamás 7. Előadás
Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók Dr. Bécsi Tamás 7. Előadás 5.3. Mutatók,tömbök A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza.
Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek
Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.04.05. - 1
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.
Programozás I gyakorlat
Programozás I. - 2. gyakorlat Változók, típusok, bekérés Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer - És Számítástudományi Tanszék Utolsó frissítés: September 21, 2009 1 tar@dcs.vein.hu
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
Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök
Programozás alapjai II. (8. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT Speciális adatszerkezetek A helyes adatábrázolás választása, a helyes adatszerkezet
Programozás II. 2. Dr. Iványi Péter
Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c
/* 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 =
Algoritmizálás + kódolás C++ nyelven és Pascalban
Algoritmizálás + kódolás nyelven és ban Motiváció A Programozási alapismeretek tárgyban az algoritmizáláshoz struktogramot, a kódoláshoz nyelvet használunk, a Közismereti informatikában (a közoktatásban
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
Óbudai Egyetem. C programozási nyelv
Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C programozási nyelv II. Dr. Schuster György 2016. március 12. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo
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