1 / 30

Programozás II.

Programozás II. 2. Gyakorlat Követelmények / „C” ismétlés. Elérhetőségek. Horváth István E-mail: ihorvath @ inf.u-szeged.hu Honlap: www.inf.u-szeged.hu /~ ihorvath (Gyakorlatok anyaga itt érhető el) Coospace egyesített kurzusfórum Fogadóóra: Szerda 11-12 (Irinyi 110)

ahanu
Download Presentation

Programozás II.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programozás II. 2. GyakorlatKövetelmények / „C” ismétlés

  2. Elérhetőségek Horváth István E-mail: ihorvath@inf.u-szeged.hu Honlap: www.inf.u-szeged.hu/~ihorvath (Gyakorlatok anyaga itt érhető el) Coospaceegyesített kurzusfórum Fogadóóra: Szerda 11-12 (Irinyi 110) (Vagy előre megbeszélt időpont/helyszín)

  3. Követelmények - előadás Előadásra járni kötelező! Ennek ellenőrzésére: 3 „röpdolgozat” Vizsgaidőszakban előadásvizsga teljesítése Részletek előadáson…

  4. Követelmények - gyakorlat Gyakorlatok látogatása is kötelező! (katalógus),max. 2 igazolatlan hiányzás megengedett 1 db évközi teszt (40 pont / min: 20 pont), November 4., 5. 1 db kötelező program (I / N), Nov. 22-ig be kell küldeni (Coospace-es feladatbeadás, gyakorlaton ellenőrzés) 1db gyakorlati ZH (60 pont / min: 30 pont) Szorgalmi időszak utolsó két hetében, előre meghirdetett időpontok, melyekre jelentkezni kell.

  5. Követelmények – kötprog A kötelező program témája szabadon választható, de a következő elemeknek benne kell szerepelniük: Legalább 3 db osztály Legalább 1 db örököltetés (saját osztályból való örököltetés) Legalább 3 db operátor overloading, melyek között szerepelnie kell a ( ) vagy a [ ] operátornak ( + - * / = += -= *= /= [] () stb. ) Legalább 2 db virtuális függvény (destruktoron kívül). Legyen benne file-kezelés (olvasás/írás) Az osztályok tartalmazzanak dinamikus adattagot (Member adattag, legalább egy darab osztályban legyen ) Minden osztálynak rendelkeznie kell konstruktorral, destruktorral és copy konstruktorral A kód legyen szétszedve külön header-re és külön source-ra Legyen egy főprogram, ami bemutatja a program működését

  6. Javítás Évközi teszt egyszer javítható / pótolható, Nov. 11. héten (1 héttel a normál teszt után) Gyakorlati ZH egyszer javítható, vizsgaidőszak elején (szintén előre meghirdetett időpontokra lehet majd jelentkezni) Kötelező program nem javítható/pótolható.

  7. Pontozás Órai munkára, és kihirdetett házi feladatokra max. +10 pont szerezhető. (Órai munkára heti max. 2). Gyakorlati érdemjegy a pontok függvényében: >= 85% : jeles >= 75% : jó >= 65% : közepes >= 50% : elégséges * < 50% : elégtelen * Az 50%-os minimum pontszámot plusz pontok nélkül kell teljesíteni! A pluszpontok csak e fölött kerülnek beszámításra.

  8. Ajánlott irodalom Előadásanyag!!! Herbert Schildt: C/C++ Referenciakönyv Panem Kft. Budapest (1998) Bruce Eckel: Thinking in C++ (angol) Computerbooks kiadó: Programozzunk C++ nyelven Bjarne Stroustrup: A C++ programozási nyelv

  9. Ismétlés – C nyelv

  10. Az adattípus olyan egysége a programnak, amely két összetevője által meghatározott: Értékhalmaz Az értékhalmaz elemein végezhető műveletek Minden adattípus vagy elemi, vagy más adattípusokból képzett összetett adattípus. Adattípusok

  11. signed / unsigned char short, int, long float, double, longdouble pointer, tömb enum union, struct Adattípusok

  12. A C és a C++ programok kezdő eljárása minden esetben a main() eljárás. Paraméterei: az argc (argumentcount) a parancssorban szereplő argumentumok száma, az argv (argumentvector) a string alakban tárolt argumentumok címeit tároló tömb (indexelés 0-tól, utolsó arg. után NULL.) az envp a string alakban tárolt környezeti változók címeit tároló tömb (indexelés 0-tól, utolsó változó után NULL.) Main függvény

  13. Alapértelmezett kimenetre ír Első argumentumban string, továbbiak a kiírandó változók. Példa: int x = 5; printf(”x valtozoerteke: %d”, x); stdio.h – printf()

  14. Konverziós karakterek: c: int unsignedchar típusra konvertált karakter d, i: int előjeles decimális egész u:unsigned int előjel nélküli decimális egész f:double előjeles tizedestört o:unsigned int előjel nélküli oktális egész s:char* karaktersorozat 0 végjelig stb… stdio.h – printf()

  15. Alapértelmezett bemenetről adatok beolvasása. Konverziós karakterek használata – printf() függvényhez hasonlóan. Példa: int x; printf("Add meg ‚x’ értékét!\n",x); scanf("%d",&x); (Ne felejtsük el az & jel használatát…) stdio.h – scanf()

  16. File *fopen (constchar *filename, constchar *mode);Fájl megnyitása: r – read w – write a – append int fclose(FILE *stream)Megnyitott fájl bezárására. Példa: FILE *file; file = fopen("proba.txt", "r"); //proba.txt megnyitása olvasásra fclose(file); //bezárása stdio.h – fopen() – fclose()

  17. printf() és scanf() függvényekhez hasonlóan működnek (konverziós karakterek) intfprintf(FILE *stream,const char * format, ... ); Példa: int x = 5; fprintf( file, "Egy próba %d kiíratás fájlba.\n",x); intfscanf(FILE *stream,const char * format, ... );Példa: int x; fscanf( file, "%d", &x); stdio.h – fprintf() – fscanf()

  18. NOT (negálás, tagadás). Az eredeti érték ellentettje. Jelölése C-ben: ! (logikai művelet), ~ (bitenkénti művelet) Igazságtáblája: Igazságtáblák - NOT

  19. AND (logika VAGY). Akkor igaz, ha LEGALÁBB az egyik feltétel igaz. Jelölése C-ben: | (bitenkénti), || (logikai) Igazságtáblája: Igazságtáblák - OR

  20. AND (logika KIZÁRÓ VAGY). Akkor igaz, ha PONTOSAN az egyik feltétel igaz. Jelölése C-ben: ^(bitenkénti) Igazságtáblája: Igazságtáblák - XOR

  21. AND (logika ÉS). Igaz, ha mindkét feltétel igaz. Jelölése C-ben: & (bitenkénti), && (logikai) Igazságtáblája: Igazságtáblák - AND

  22. kif + kif : összeadás kif – kif : kivonás kif * kif : szorzás kif / kif : osztás kif % kif : maradékos osztás - kif : ellentett képzés Operátorok – aritmetikai műveletek

  23. ~kif : komplemens képzés (bitenkénti negálás) kif >> kif : bitléptetés jobbra kif << kif : bitléptetés balra kif & kif : bitenkénti és művelet kif | kif : bitenkénti vagy művelet kif ^ kif : bitenkénti kizáró vagy Operátorok – bitszintű műveletek

  24. kif && kif : logikai és kif || kif : logikai vagy ! kif : logikai tagadás Operátorok – logikai műveletek

  25. kif == kif : egyenlő kif != kif : nem egyenlő kif < kif : kisebb kif > kif : nagyobb kif <= kif : kisebb-egyenlő kif >= kif : nagyobb-egyenlő Operátorok – relációs műveletek

  26. változó = kif : értékadás +=, -=, *=, /=, %= : művelettel egybekötött értékadás >>=, <<=, &=, ^=, |= : művelettel egybekötött értékadás Pl.int x = 2;x += 3; //x = 5 Operátorok – értékadó műveletek

  27. ++kif : inkrementálás (növelés 1-el), prefix operátorral. Visszatérési értéke a megnövelt érték! kif++ : inkrementálás, postfix operátorral. Visszatérési értéke a növelés előtti érték! --kif, kif-- : dekrementálás (csökkentés 1-el), visszatérési értékei lsd. inkrementálás. Pl.int x = 0, y = 2;x = ++y; //x = 3, y = 3x = y++; //x = 3; y = 4 Operátorok – inkrementációs műveletek

  28. C-ben a string egy karakter tömb, melyet ‚\0’ karakter zár le. #include <string.h> size_tstrlen( const char *s)a paraméterként kapott string méretét adja vissza (\0 karakter előttig számolva) char *strcpy( char *s1, const char *s2)s2 string tartalmát az s1 karaktertömbbe másolja char *strncpy( char *s1, const char *s2, size_t n)s2 stringből (legfeljebb) n számú karaktert másol s1-be string műveletek

  29. char *strcat( char *s1, const char *s2)s2 string tartalmát hozzáfűzi s1-hez (s1 végi \0-t törli, és a hozzáfűzött s2 végére teszi) char *strncat( char *s1, const char *s2, size_t n)n karaktert fűz s1 végéhez s2-ből char *strchr( const char *s,  int c)A stringbena megadott c karakter legelső előfordulására mutató pointert ad vissza. (NULL, ha nem fordul elő benne). char *strrchr( const char *s,  int c)A megadott c karakter utolsó előfordulására mutató pointert ad vissza. (NULL, ha nem fordul elő) string műveletek

  30. intstrcmp( const char *s1, const char *s2)Összehasonlítja s1 és s2 stringet. Visszatérési értéke 0, ha a két string egyforma. <0, ha s1 < s2.>0, ha s1 > s2. intstrncmp( const char *s1, const char *s2, size_t n)strcmp-hez hasonló, az első n karaktert vizsgálja char *strstr( const char *s1,  const char *s2)Ha az s2 string előfordul s1-ben, az s2 kezdetére mutató pointert ad vissza. NULL különben char *strrev( constchar *s1)Megfordítja a string tartalmát string műveletek

More Related