Preprocesszor. Programozás alapjai C nyelv 11. gyakorlat. Makrók (2) Makrók (#define) Makrók (3) #include

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Preprocesszor. Programozás alapjai C nyelv 11. gyakorlat. Makrók (2) Makrók (#define) Makrók (3) #include"

Átírás

1 Programozás alapjai C nyelv 11. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Preprocesszor A forrás szöveges előfeldolgozását végzi. # -kal kezdődő sorok Bárhol megjelenhetnek, hatásuk a fordítási egység végéig tart. Feldolgozás menete: trigráf karakterek (ISO ANSI pl:??[ = ) \sorvége tokenizálás, kommentek eldobása makrók és fordítási direktívák végrehajtása Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Makrók (#define) #define azonosító token_sorozat #define N 52 /* elemek száma */ #define TRUE 1 /* igaz logikai konstans */ #define FALSE 0 int a[n]; for (i = 0; i < N; ) a[i++] = FALSE; int a[52]; for (i = 0; i < 52; ) a[i++] = 0; Makrók (2) #define azonosító token_sorozat #define azonosító ( azonosító_lista ) token_sorozat #define MAX(a, b) a > b? a : b int a = MAX(3, i); float f = MAX(3.12, f8); int a = 3 > i? 3 : i; float f = 3.12 > f8? 3.12 : f8; Tetszőleges típusú lehet, rugalmasabb mint a fv. Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Makrók (3) a = MAX(c & 7, d); a = c & 7 > d? c & 7 : d; A precedenciából adódó problémákat elfedi, nehéz az ilyen hibát megtalálni! Zárójelek!!! #define MAX(a, b) (a) > (b)? a : b a = (c & 7) > (d)? c & 7 : d; #include <fájlnév> #include fájlnév #include token_sorozat #include fájl #undef azonosító #undef MAX #undef TRUE Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I

2 #if konstans_kifejezés... #elif konstans_kifejezés... #else... #endif Feltételes fordítás #if DEBUG... #else... #endif A makrók a fordításkor kívülről (pl. parancssorból) is definiálhatók, így a forráshoz hozzá sem kell nyúlni. Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I #ifdef azonosító #else #endif Feltételes fordítás (2) #ifndef azonosító #else #endif A konstans kifejezésben használható a defined (azonosító) kifejezés, ami 1L, vagy 0L értékkel helyettesítődik. Így a #if defined(azonosíto) és a #ifdef azonosító valamint a #if!defined(azonosító) és a #ifndef azonosító direktívák egyenértékűek. Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Állomány (Fájl) Állomány: Elvileg végtelen hosszúságú adatszerkezet rekord mező byte Tartalom szerint szöveg adat adatbázis Hozzáférés szerint soros véletlen Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Állománykezelés C nyelv kialakulásakor kezdetben az operációs rendszer (UNIX) fájlkezelését támogatta a nyelv. Ez ma is elérhető, de nem ANSI szabvány (alacsony szintű I/O, nem árt ismerni /open, read, write,.../) ANSI C stream szemlélete fopen, fscanf, fprintf, fgetc, fputc, ungetc, feof, fread, fwrite, fseek, ftell, fflush, fclose, remove, rename, tmpfile,... Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I FILE típus stdio.h-ban definiált struktúra, ami adminiszrációs területet, és a műveletek gyorsítására buffert tartalmaz A fájl megnyitásakor a fopen(...) egy ilyen területre mutató címmel (FILE *) tér vissza. Minden további műveletkor erre kell hivatkozni. fopen() FILE *fopen(char *name, char *mod) megnyitás módja: r - csak olvasás w - írás és olvasás (létrehozza) a - hozzáfűzés (létrehozza) r+ - írás és olvasás w+ - írás és olvasás (létrehozza) a+ - hozzáfűzés (írás és olvasás, létrehozza) Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I

3 fopen() példa #include <stdio.h> main() FILE *fp; char *nev = adat.txt ; int i; if ((fp = fopen(nev, r )) == NULL) printf( A %s fájl nem nyitható\n, nev); exit(-1); fscanf(fp, %d, &i);... Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Feladat: mycopy Írjuk programot, ami lemásol egy állományt! A program paraméterként kapja a forrás ill. cél állományok neveit. mycopy file_1 file_2 Indítási paraméter v. parancsnyelvi argumentum: Az operációs rendszer által a program indításakor átadott adat. Rendszerint szóközökkel határolt karaktersorozat. A pontos szintaxis az op.rendszertől függ. Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I A main paraméterei int main(int argc, char *argv[]) argc - Megadja a paraméterek számát (a program neve is egy paraméter, tehát argc >= 1). argv - Paraméterekre, mint karaktersorozatokra mutató pointerek tömbje (argv[0] a program nevére mutat). A karaktersorozatokat \0 határolja (string) Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I mycopy program #include <stdio.h> main(int argc, char *argv[]) program neve FILE *fpin, *fpout; int ch; if (argc!= 3) printf( Használat: %s forrás cél\n, argv[0]); return(1); if ((fpin = fopen(argv[1], r )) == NULL) printf( A %s fájl nem nyitható\n, argv[1]); return(2); if ((fpout = fopen(argv[2], w )) == NULL) printf( A %s fájl nem hozható létre\n, argv[2]); return(3); Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I int függvény!! mycopy program (2) while ((ch = fgetc(fpin))!= EOF) fputc(ch, fpout); fclose(fpin); fclose(fpout); return (0); A main-ből való kilépes exit(n) hivást fog eredményezni. while (!feof(fpin) ch = fgetc(fpin); fputc(ch, fpout); feof() while (!feof(fpin) ch = fgetc(fpin); if (ch!= EOF) fputc(ch, fpout); Eltérően a Pascal EOF-tól, nem jós, hanem utólag okos függvény. Így használata nem jár különös előnyökkel. Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I

4 stdin, stdout, stderr Egy program indulásakor automatikusan megnyílnak (szabványos bemenet, kimenet és hiba kimenet). scanf, printf, perror ezeket használja perror(s) fprintf(stderr, %s: %s\n, s, hiba ) getchar() getc(stdin) fgetc(stdin) putchar(c) putc(c, stdout) fputc(c, stdout) stb. Bináris és szöveg fájl Megnyitásnál t, vagy b (pl: rt, a+t ) Miért kell? A UNIX rendszerben a szöveges állományok sorait csak egyetlen karakter határolja a \n. A nem UNIX rendszerekben - hagyományi okok miatt - többnyire két karaktert tárolnak minden sor végén. ( \r, \n ) A C programok nagy része csak a \n -t várja ill. írja ki. Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I A probléma megoldása Beolvasáskor minden \r\n sorozatból \n-t csinálunk. Kiíráskor minden \n-t \r\n sorozattal helyettesítünk. CSAK SZÖVEG esetén kell konvertálni! Más esetben KÁROS! Általában a text az alapértelmezett (_fmode). Fontos a helyes beállítás. fread(), frwite() Rekord szemlélet size_t fread(void *p, size_t m, size_t n, FILE *fp); size_t fwrite(void *p, size_t m, size_t n, FILE *fp); n darab m méretű rekord olvasása ill. írása Hibakezelés: feof(), ferror(), int errno Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Pozicionálás az állományban Író/olvasó pointer bájtot címez. int fseek(file *fp, long offset, int bazis); long ftell(file *fp); int fgetpos(file *fp, fpos_t *p); int fsetpos(file *fp, const fpos_t *p); Feladat 1 Tároljuk el a hallgatók adatait (név, átlag) tankörönként, azon belül névsorba rendezve. A tankörök számát ismerjük nem ismerjük Válasszunk adatszerkezetet! Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I

5 Adatszerkezet Adatszerkezet Tankörönként építünk láncot. A láncok névsor szerint rendezettek, és a végükön van strázsa. Ha a tankörök száma ismert, akkor láncok kezdőpointerét egy a tankörszámmal indexelt tömbbe tehetjük.... Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Adatszerkezet typedef char nev_t[41]; typedef struct hallg_str nev_t nev; float atl; struct hallg_str *kov; hallg_t, *h_poi; h_poi tankorok[10]; Bonyolultabb adatszerkezet Gyakran több szempont (kulcs) szerint kell rendezni, pl. tankörönként, azon belül névsorban. Ha egyik szempont szerint sem ismert a bemenő adatok száma, akkor több, vagy többszörösen láncolt listát célszerű építeni. Megfelelő pointerláncok kialakításával biztosítható, hogy az adatok csak egyszeresen legyenek tárolva. Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Fésű adatszerkezet Feladat 1 (kiegészítés) FEJ LE FEJ LE FEJ LE LE Olvassuk be a hallgatók adatait az indítási paraméterkén megadott állományból! Ebben soronként vannak a hallgatók adatai: név 40 karakter tankörszám (egész) elválasztó szóköz átlag (valós szám) Írjuk a ki tankörönként a hallgatók névsorát és átlagát! Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I

6 Vázlat (adatszerkezet) typedef char nev_t[nevh+1]; typedef struct hallg_str nev_t nev; float atl; struct hallg_str *kovh; hallg_t, *h_poi; Vázlat (adatszerkezet) typedef struct input_str nev_t nev; int tk; float atl; inp_t; typedef struct tankor_str int tk; struct tankor_str *kovtk; struct hallg_str *kovh; tankor_t, *t_poi; Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Vázlat (algoritmus) kezdo = inic() fp = fopen(argv[1], r ) while beolvas(fp, &adat) fesul(kezdo, adat) kiir(kezdo) Alprogram spec. - inic t_poi inic(void); t_poi értékű függvény, amely beállítja a megfelelő kezdeti értékeket, létrehozza a strázsaelemet. nincs függvényérték: strázsára mutató pointer Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Alprogram spec. - beolvas int beolvas(file *fp, inp_t *r); függvény, amely a paraméterként kapott állományból, beolvassa a következő hallgató adatait. Sikeres olvasás eseten 1 értékkel tér vissza. megnyitott állomány pointere pointer a kimenő adatra olvasott adat (pointer paraméter) függvényérték 1, ha sikerült az olvasás, egyébként 0 Alprogram spec. - fesul h_poi fesul(t_poi tp, inp_t r); t_poi értékű üggvény, amely a paraméterként kapott fésűs láncra felveszi a szintén paraméterként kapott adatot. A láncot rendezve építi. A lánc végén van strázsa. láncra mutató pointer felveendő adat a lánc épül függvényérték NULL, ha elfogyott a memória Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I

7 Alprogram spec. - kiír void kiir(t_poi tp); A paraméterként kapott fésűs láncot végigjárja és kiírja az elemeket. láncra mutató pointer standard output Algoritmus - fesul tp = tankor_lanc(tp, tk) hallgato_lanc(tp->kovh, adat) Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Alprogram spec. - tankor_lancol t_poi tankor_lanc(t_poi tp, int tk); Függvény, amely a paraméterként kapott tankörláncon megkeresi, ill. felveszi a szintén paraméterként kapott tankört. A láncot rendezve építi. A lánc végén van strázsa. láncra mutató pointer a keresett tankör száma függvényérték: a lánc megfelelő elemére mutató pointer. NULL, ha elfogyott a memória Alprogram sp. - hallgato_lancol h_poi hallgato_lanc(h_poi hp, inp_t r); A paraméterként kapott hallgatóláncra felveszi a szintén paraméterként kapott hallgatói adatot. A láncot rendezve építi. A lánc végén van strázsa. láncra mutató pointer a felveendő adat függvényérték NULL, ha elfogyott a memória Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I A fésű Implementáció - tankor_lancol TK TK H TK TK H TK TK H TK H A tömörebb íráshoz vezessük be a new makrót, ami megfelelő méretű helyet foglal, és hibát is kezel (visszatér a NULL-lal): NEV,ATL H H H NEV,ATL H H pointer változó tárolandó objektum típusa #define new(p, obj) \ if ((p = malloc(sizeof(obj))) == NULL) return(null) Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I

8 Implementáció - tankor_lancol t_poi tankor_lanc(t_poi tp, int tk) t_poi uj; while (tp->kovtk && tp->tk < tk) tp = tp->kovtk; if (tp->kovtk == NULL tp->tk!= tk) new(uj, tankor_t); *uj = *tp; tp->kovtk = uj; tp->tk = tk; new(tp->kovh, hallg_t); tp->kovh->kovh = NULL; return(tp); Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Implementáció - hallgato_lancol h_poi hallgato_lanc(h_poi hp, inp_t r) h_poi uj; stringek összehasonlítása while (hp->kovh && strcmp(hp->nev, r.nev) < 0) hp = hp->kovh; new(uj, hallg_t); *uj = *hp; hp->kovh = uj; strcpy(hp->nev, r.nev); hp->atl = r.atl; string másolása return(hp); Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Karakterfüzérek (stringek) Nincs külön string változó, de konstans van. A stringeket olyan karakter tömbben tároljuk, melynek végén egy \0 van. Ezt figyelik a string-kezelő függvények (string.h). strcmp, strcpy, strncpy, strcat, strncat, strchr, strstr, strlen, strtok, stb. Implementáció - fesul t_poi fesul(t_poi tp, inp_t r) if ((tp = tankor_lancol(tp, r.tk)) == NULL) return(null); return(hallgato_lancol(tp->kovh, r)); Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I void kiir(t_poi tp) while (tp->kovtk) h_poi hp; Implementáció - kiir a ciklusban érvényes printf( Tankör: %3d\n, tp->tk); hp = tp->kovh; while (hp->kovh) printf( %50s%5.2f\n, hp->nev, hp->atl); hp = hp->kovh; tp = tp->kovtk; Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Implementáció - beolvas int beolvas(file *fp, inp_t *r) char buf[nevh+20]; if (fgets(buf, sizeof(buf), fp) == NULL) return(0); strncpy(r->nev, buf, NEVH); lezárás r->nev[nevh] = 0; sscanf(&buf[nevh], %d%f, &r->tk, &r->atl); return(1); teljes sor beolvasása beolvasás után könyebben mazsolázunk benne Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I

9 Implementáció - inic Implementáció - program t_poi inic(void) t_poi tp; new(tp, tankor_t); tp->kovtk = NULL; return(tp); nincs paramétere #include <stdio.h> #include <stdlib.h> #include <string.h> #define new(p, obj) \ if ((p = malloc(sizeof(obj))) == NULL) \ return(null) #define NEVH 40 Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Implementáció - program typedef char nev_t[nevh+1]; typedef struct hallg_str nev_t nev; float atl; struct hallg_str *kovh; hallg_t, *h_poi; typedef struct tankor_str int tk; struct tankor_str *kovtk; struct hallg_str *kovh; tankor_t, *t_poi; Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Implementáció - program typedef struct input_str nev_t nev; int tk; float atl; inp_t; main(int argc, char *argv[]) FILE *fp; t_poi kezdo; inp_t adat; Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Implementáció - program if (argc!= 2) printf("használat: %s input_file\n", argv[0]); exit(1); if ((kezdo = inic()) == NULL) printf( Nincs elég memória\n"); exit(2); if ((fp = fopen(argv[1], "r")) == NULL) printf("nem lehet megnyitni a %s állományt\n", argv[1]); exit(3); Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Implementáció - program while (beolvas(fp, &adat)) if (fesul(kezdo, adat) == NULL) printf("elfogyott a memória\n"); break; while-ból lép ki kiir(kezdo); return(0); Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I

10 Próba (input) Próba (output) Lancolt Jeno Elsos Pista Masodikos Joska Nagy Dodo Kiss Joco Major Anna Fellebeki Atmegel Oszkar Uszkar Gaz Geza Okos Toni Tankor: 1 Elsos Pista 3.43 Gaz Geza 2.11 Major Anna 2.33 Nagy Dodo 4.63 Tankor: 2 Fellebeki Atmegel 3.91 Kiss Joco 3.53 Masodikos Joska 4.51 Okos Toni 5.00 Tankor: 3 Lancolt Jeno 3.56 Tankor: 8 Oszkar Uszkar 2.45 Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I

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

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

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

Programozás alapjai C nyelv 9. gyakorlat. Rekurzió. Rekurzív algoritmus Programozás alapjai C nyelv 9. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.14. -1- Rekurzió A feladat algoritmusa eleve rekurzív

Részletesebben

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

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 alapjai C nyelv 9. gyakorlat Szeberényi Imre BME IIT Rekurzió A feladat algoritmusa eleve rekurzív formában adott (ld: n!). A valójában nem rekurzív de valami hasznot húzunk

Részletesebben

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

A C programozási nyelv VI. Parancssori argumentumok File kezelés A C programozási nyelv VI. Parancssori argumentumok File kezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv VI. (Parancssori argumentum, file kezelés) CBEV6 / 1 Parancssori

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

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

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

Részletesebben

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

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

Részletesebben

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

Példák tematikus csoportosításban

Példák tematikus csoportosításban 1. fejezet Példák tematikus csoportosításban 1.1. A legegyszerűbb feladatok 1.1. feladat. Írjon programot, amely billentyűzetről látható karaktereket olvas mindaddig, amíg a @ karaktert meg nem kapja.

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

C programozási nyelv

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

Részletesebben

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

7. gyakorlat. Fájlkezelés IO haladó Függvények haladó 7. gyakorlat Fájlkezelés IO haladó Függvények haladó Fájlkezelés A C-ben a fájlkezelés ún. fájlstream-eken keresztül történik, melyek puffereltek ha valamit a streamre küldünk, nem biztos, hogy rögtön

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

C string műveletek (string.h alkalmazása)

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

Részletesebben

Programozás alapjai II. (7. ea) C++

Programozás alapjai II. (7. ea) C++ 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

Részletesebben

Programozás C és C++ -ban

Programozás C és C++ -ban Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új

Részletesebben

Programozás II. 2. Dr. Iványi Péter

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

Részletesebben

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

Részletesebben

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

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

Részletesebben

Szövegek C++ -ban, a string osztály

Szövegek C++ -ban, a string osztály Szövegek C++ -ban, a string osztály A string osztály a Szabványos C++ könyvtár (Standard Template Library) része és bár az objektum-orientált programozásról, az osztályokról, csak később esik szó, a string

Részletesebben

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

Programozás 5. Dr. Iványi Péter Programozás 5. Dr. Iványi Péter 1 Struktúra Véges számú különböző típusú, logikailag összetartozó változó együttese, amelyeket az egyszerű kezelhetőség érdekében gyűjtünk össze. Rekord-nak felel meg struct

Részletesebben

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

Láncolt lista. az itt adott nevet csak a struct deklaráción belül használjuk Láncolt lista int szam char szoveg[10] következő elemre mutató pointer int szam char szoveg[10] következő elemre mutató pointer elem elem elem int szam char szoveg[10] következő elemre mutató pointer A

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

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

Országzászlók (2015. május 27., Sz14) Országzászlók (2015. május 27., Sz14) Írjon programot, amely a standard bemenetről állományvégjelig soronként egy-egy ország zászlójára vonatkozó adatokat olvas be! Az egyes zászlóknál azt tartjuk nyilván,

Részletesebben

Programozás I. 5. Előadás: Függvények

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

Részletesebben

Adatbázisrendszerek I. File-szintű adattárolás C-ben. 1. gyakorlat

Adatbázisrendszerek I. File-szintű adattárolás C-ben. 1. gyakorlat Adatbázisrendszerek I. File-szintű adattárolás C-ben 1. gyakorlat Feladat: Tervezzen meg egy fájlszintű adatnyilvántartó rendszert és implementálja C nyelven. A tárolandó adatok: autó rendszáma, típusa,

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

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

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

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

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

1. Alapok. Programozás II

1. Alapok. Programozás II 1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph

Részletesebben

Programozás I. gyakorlat

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

Részletesebben

Programozás alapjai II. (2. ea) C++

Programozás alapjai II. (2. ea) C++ Programozás alapjai II. (2. ea) C++ C++ kialakulása, nem OOP újdonságok: Szeberényi Imre BME IIT M Ű E G Y T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2011.02.15. -1- C++ kialakulása

Részletesebben

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

Példatár a Programozás 1 tárgyhoz Kósa Márk Pánovics János Példatár a Programozás 1 tárgyhoz Juhász István feladatsoraiból mobidiák könyvtár Kósa Márk Pánovics János Példatár a Programozás 1 tárgyhoz Juhász István feladatsoraiból mobidiák

Részletesebben

A PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere

A PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere 2012. április 10. A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Miről lesz ma szó? alaki szabályok használata - mintapélda használata - mintapélda

Részletesebben

Például számokból álló, egyszeresen láncolt lista felépítéséhez az alábbi struktúra definíciót használhatjuk:

Például számokból álló, egyszeresen láncolt lista felépítéséhez az alábbi struktúra definíciót használhatjuk: 8. előadás Ismétlés Dinamikus adatszerkezetek: listák (egyszeresen vagy többszörösen láncolt), fák. Kétfelé ágazó fa: bináris fa Dinamikus adatszerkezetek - önhivatkozó adatstruktúrák: adatok és reájuk

Részletesebben

Elemi alkalmazások fejlesztése I. Olvassunk be egy fájlból egész számokat egy tömbbe. Keressük meg a tömb valamely

Elemi alkalmazások fejlesztése I. Olvassunk be egy fájlból egész számokat egy tömbbe. Keressük meg a tömb valamely 1.feladat (max02a) Olvassunk be egy fájlból egész számokat egy tömbbe. Keressük meg a tömb valamely maximális elemét. A tömb hosszát a fájl els ı eleme tartalmazza.a fájl nevét a szabványos bemeneten kérjük

Részletesebben

Bevezetés a C programozási nyelvbe. Az Általános Informatikai Tanszék C nyelvi kódolási szabványa

Bevezetés a C programozási nyelvbe. Az Általános Informatikai Tanszék C nyelvi kódolási szabványa Miskolci Egyetem Általános Informatikai Tanszék Bevezetés a C programozási nyelvbe Az Általános Informatikai Tanszék C nyelvi kódolási szabványa Oktatási segédletek a levelező műszaki informatikus hallgatók

Részletesebben

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

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE 2015-16 Classic Empire - A turn Based Wargame Classic Empire is a real time, multiplayer, Internet-based game, featuring military, diplomatic, and economic

Részletesebben

Programozás C++ -ban

Programozás C++ -ban Programozás C++ -ban 4. Bevezetés az osztályokba 4.1 Az adatokhoz való hozzáférés ellenőrzése Egy C programban a struktúrák minden része mindig elérhető. Ugyanakkor ez nem a legkedvezőbb helyzet. Több

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

ISA szimulátor objektum-orientált modell (C++)

ISA szimulátor objektum-orientált modell (C++) Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált

Részletesebben

Szkriptnyelvek. 1. UNIX shell

Szkriptnyelvek. 1. UNIX shell Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek

Részletesebben

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE motiabt@inf.elte.

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE motiabt@inf.elte. Programozási alapismeretek :: beadandó feladat Készítő adatai Név: Molnár Tamás EHA: MOTIABT.ELTE E-mail cím: motiabt@inf.elte.hu Gyakorlatvezető: Horváth László Feladat sorszáma: 23. Felhasználói dokumentáció

Részletesebben

Dinamikus memóriakezelés Fájlkezelés

Dinamikus memóriakezelés Fájlkezelés Dinamikus nd tömb Fájlkezelés Dinamikus memóriakezelés Fájlkezelé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. október

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak

Részletesebben

Programozás I gyakorlat

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

Részletesebben

Programozás C++ -ban 2007/4

Programozás C++ -ban 2007/4 Programozás C++ -ban 2007/4 1. Az adatokhoz való hozzáférés ellenőrzése Egy C programban a struktúrák minden része mindig elérhető. Ugyanakkor ez nem a legkedvezőbb helyzet. Több szempontból is hasznos

Részletesebben

Fejlett programozási nyelvek C++ Sablonok és adatfolyamok

Fejlett programozási nyelvek C++ Sablonok és adatfolyamok Fejlett programozási nyelvek C++ Sablonok és adatfolyamok 11. előadás Antal Margit 2009 slide 1 Témakörök Sablonok Függvénysablon Osztálysablon Sablon metaprogramozás Adatfolyamok Operátorok és manipulátorok

Részletesebben

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

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

Részletesebben

5. Gyakorlat. struct diak {

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

Részletesebben

Programozas 1. Strukturak, mutatok

Programozas 1. Strukturak, mutatok Programozas 1 Strukturak, mutatok Strukturak Tömb: több egyforma típusú változó együttese Struktúra: több különböző típusú de logikailag egybetartozó változó együttese, amelyet az egyszerű kezelhetőség

Részletesebben

Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r

Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r Programozás I. Széchenyi István Egyetem, Gy r 2014. november 16. Áttekintés kel kapcsolatos fogalmak deklaráció Több, kompatibilis változat is elképzelhet. Meg kell el znie a fv. hívását. Mindenképp rögzíti

Részletesebben

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

Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia Öröklés ism. Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia Szeberényi Imre BME IIT Egy osztályból olyan újabb osztályokat származtatunk, amelyek rendelkeznek

Részletesebben

Programozás C++ -ban 2007/1

Programozás C++ -ban 2007/1 Programozás C++ -ban 2007/1 1. Különbségek a C nyelvhez képest Több alapvető különbség van a C és a C++ programozási nyelvek szintaxisában. A programozó szempontjából ezek a különbségek könnyítik a programozó

Részletesebben

Információs Technológia

Információs Technológia 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.

Részletesebben

0.1. Mi az a standard be- és kimenet?... 1. 0.2. A két mintafeladat leírása

0.1. Mi az a standard be- és kimenet?... 1. 0.2. A két mintafeladat leírása KöMaL Technikai tanácsok az I- és S-jelű pontversenyhez A standard be- és kimenet kezelése Tartalomjegyzék 0.1. Mi az a standard be- és kimenet?............................. 1 0.2. A két mintafeladat leírása.................................

Részletesebben

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II. 7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II. A gyakorlat célja: 1. A shell vezérlő szerkezetei használatának gyakorlása. A használt vezérlő szerkezetek: if/else/fi, for, while while, select, case,

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

Bevezetés, a C++ osztályok. Pere László

Bevezetés, a C++ osztályok. Pere László Programozás módszertan II. p. Programozás módszertan II. Bevezetés, a C++ osztályok Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK

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

Programozás I gyakorlat

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

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve

Részletesebben

Python tanfolyam Python bevezető I. rész

Python tanfolyam Python bevezető I. rész Python tanfolyam Python bevezető I. rész Mai tematika Amiről szó lesz (most): Interpretált vs. fordított nyelvek, GC Szintakszis Alaptípusok Control flow: szekvencia, szelekció, iteráció... Függvények

Részletesebben

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt! Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt! valós adatokat növekvő sorrendbe rendezi és egy sorba kiírja

Részletesebben

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok Számítógépes szimulációk 1. Bevezetés BME Fizika Intézet 2015. szeptember 9. Bevezetés A félév menete C-ismétlés, 1. rész Oktatók: Nagyfalusi Balázs: nagyfalusi@phy.bme.hu, F3 211. : tcsaba@eik.bme.hu,

Részletesebben

Információs Technológia

Információs Technológia Információs Technológia (Struktúra, mutatók, függvényhívás) Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010 október 14/21. Struktúra

Részletesebben

PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET

PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET Szerkesztette: Balogh Tamás 2013. április 12. Ha hibát találsz, kérlek jelezd a info@baloghtamas.hu e-mail címen! Ez a Mű a Creative Commons Nevezd meg! -

Részletesebben

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

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

Részletesebben

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

Programozás II. segédlet

Programozás II. segédlet Programozás II. segédlet Csordás Martin V1.5 A segédletben megtalálható függvényeket eléritek a macsodev.hu oldalon. A segédlet BETA jellegű, folyamatos javítás és bővítés alatt áll. Changelog: V1 initial

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 8. gyakorlat Fájlkezelés Surányi Márton PPKE-ITK 2010.11.02. Fájlkezelés C++-ban C++-ban van lehet ségünk fájlok kezelésére. Itt már tényleges fájlokkal dolgozunk, nem pedig

Részletesebben

Információs Technológia

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ó

Részletesebben

Bevezetés a C++ programozásba

Bevezetés a C++ programozásba Bevezetés a C++ programozásba A program fogalma: A program nem más, mint számítógép által végrehajtható utasítások sorozata. A számítógépes programokat különféle programnyelveken írhatjuk. Ilyen nyelvek

Részletesebben

Programozás C és C++ -ban

Programozás C és C++ -ban Programozás C és C++ -ban 1. Különbségek a C nyelvhez képest Több alapvető különbség van a C és a C++ programozási nyelvek szintaxisában. A programozó szempontjából ezek a különbségek könnyítik a programozó

Részletesebben

ELTE SAP Excellence Center Oktatóanyag 1

ELTE SAP Excellence Center Oktatóanyag 1 Oktatóanyag 1 A dataset egy az alkalmazás-szerveren megtalálható illetve ott létrejövő szekvenciális fájl. Szerveroldali fájlkezelésre használják az SAP-ban. Megjegyzés: Amennyiben kliens oldalon található

Részletesebben

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

Programozás 1. Dr. Iványi Péter Programozás 1. Dr. Iványi Péter 1 C nyelv B.W. Kernighan és D.M. Ritchie, 1978 The C Programming language 2 C nyelv Amerikai Szabványügy Hivatal (ANSI), 1983 X3J11 bizottság a C nyelv szabványosítására

Részletesebben

WEBFEJLESZTÉS 2. ADATTÁROLÁS, FÁJLOK

WEBFEJLESZTÉS 2. ADATTÁROLÁS, FÁJLOK WEBFEJLESZTÉS 2. ADATTÁROLÁS, FÁJLOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Dinamikus szerveroldali webprogramozás:

Részletesebben

Operációs rendszerek. UNIX fájlrendszer

Operációs rendszerek. UNIX fájlrendszer Operációs rendszerek UNIX fájlrendszer UNIX fájlrendszer Alapegység: a file, amelyet byte-folyamként kezel. Soros (szekvenciális) elérés. Transzparens (átlátszó) file-szerkezet. Link-ek (kapcsolatok) létrehozásának

Részletesebben

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) közönséges felhasználók SQL*Plus Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP dolgozó), DEPT osztály) "közönséges" felhasználók Adatszótár: metaadatokat tartalmazó, csak olvasható táblák táblanév-prefixek:

Részletesebben

C programnyelv 1. Kedves Kollegina, Kolléga!

C programnyelv 1. Kedves Kollegina, Kolléga! C programnyelv 1 Kedves Kollegina, Kolléga! A jegyzetet Önnek készítettem azért, hogy referencia anyaga legyen a Programnyelv és a Programfejlesztés tárgyakhoz. Szeretném a segítségét igénybe venni abból

Részletesebben

Programozás alapjai II. (1. ea) C++

Programozás alapjai II. (1. ea) C++ Programozás alapjai II. (1. ea) C++ C++ kialakulása, nem OO újdonságok: Szeberényi Imre BME IIT Veszélyforrások csökkentése C + javítások C++ kialakulása C++ Objektum orientált szemlélet

Részletesebben

Bevezetés a programozásba 2

Bevezetés a programozásba 2 Bevezetés a programozásba 2 7. Előadás: STL konténerek, sablonok http://digitus.itk.ppke.hu/~flugi/ Vector int int main() { vector v(10); int int sum=0; for for (int i=0;i

Részletesebben

Programozás(A szakirány) II. beadandó feladat Farkas András HP6S15 1. csoport Veszprémi Anna / Hudoba Péter

Programozás(A szakirány) II. beadandó feladat Farkas András HP6S15 1. csoport Veszprémi Anna / Hudoba Péter Programozás(A szakirány) II. beadandó feladat 2014.05.05. Farkas András HP6S15 fafee@fafeecorp.com 1. csoport Veszprémi Anna / Hudoba Péter Feladat: Egy szöveges állományban bekezdésekre tördelt szöveg

Részletesebben

500. AA Megoldó Alfréd AA 500.

500. AA Megoldó Alfréd AA 500. Programozás alapjai 2. NZH 2010.05.13. gyakorlat: / Hiány:0 ZH:0 MEGOLD IB.027/51. Hftest: 0 Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti, hogy minden

Részletesebben

PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET

PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET Szerkesztette: Balogh Tamás 2013. március 31. Ha hibát találsz, kérlek jelezd a info@baloghtamas.hu e-mail címen! Ez a Mű a Creative Commons Nevezd meg! -

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 gyakorlat

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

Részletesebben

Programozás alapjai GEIAL316G, GEIAL312B-BP

Programozás alapjai GEIAL316G, GEIAL312B-BP Programozás alapjai GEIAL316G, GEIAL312B-BP Wagner György Általános Informatikai Tanszék Hirdetmények (2) Jegyzet: Ami az előadáson elhangzik Ajánlott irodalom: Elérhetőség: Tel: (46)565-111/17-56 Tel:

Részletesebben

Rekurzió. Horváth Gyula. horvath@inf.elte.hu

Rekurzió. Horváth Gyula. horvath@inf.elte.hu 1. ábra. Rekurzió Horváth Gyula horvath@inf.elte.hu 1. Feladat: Sorbaállítások száma Hány féleképpen lehet sorbaállítani az osztály tanulóit? Bemenet: a tanulók n száma. Kimenet: ahány félekeppen az n

Részletesebben

15. Programok fordítása és végrehajtása

15. Programok fordítása és végrehajtása 15. Programok fordítása és végrehajtása Programok fordítása és végrehajtása. (Fordítás és interpretálás, bytecode. Előfordító, fordító, szerkesztő. A make. Fordítási egység, könyvtárak. Szintaktikus és

Részletesebben

10. ÓRA. Fájlok használata

10. ÓRA. Fájlok használata 10. ÓRA Fájlok használata A programozási nyelvek egyik legfontosabb lehetõsége, hogy fájlokat lehet létrehozni, olvasni, írni velük. A PHP-nek szintén megvannak ezek a tulajdonságai. Ebben a fejezetben

Részletesebben

Fordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1

Fordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1 Fordító részei Kód visszafejtés. Izsó Tamás 2016. szeptember 29. Izsó Tamás Fordító részei / 1 Section 1 Fordító részei Izsó Tamás Fordító részei / 2 Irodalom Izsó Tamás Fordító részei / 3 Irodalom Izsó

Részletesebben

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Bánsághi Anna 2014 Bánsághi Anna 1 of 33 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 7. ELŐADÁS - ABSZTRAKT ADATTÍPUS 2014 Bánsághi Anna 1 of 33 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

Részletesebben

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

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

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

Részletesebben

Jelszavak helyes megválasztása, szótáras törés. Pánczél Zoltán

Jelszavak helyes megválasztása, szótáras törés. Pánczél Zoltán Jelszavak helyes megválasztása, szótáras törés Pánczél Zoltán 1 Miért fontos a megfelelő jelszó? Nagyban növeli a rendszer biztonságát. Könnyű jelszó = Nincs jelszó A teljes rendszer biztonsága tőlünk

Részletesebben