Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 2. Gyakorlat Követelmények / „C” ismétlés.

Hasonló előadás


Az előadások a következő témára: "UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 2. Gyakorlat Követelmények / „C” ismétlés."— Előadás másolata:

1 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 2. Gyakorlat Követelmények / „C” ismétlés

2 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Elérhetőségek  Horváth István   Honlap: (Gyakorlatok anyaga itt érhető el)  Coospace egyesített kurzusfórum  Fogadóóra: Szerda (Irinyi 110) (Vagy előre megbeszélt időpont/helyszín)

3 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Ismétlés – C nyelv

10 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Adattípusok  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.

11 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Adattípusok  signed / unsigned  char  short, int, long  float, double, long double  pointer, tömb  enum  union, struct

12 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Main függvény  A C és a C++ programok kezdő eljárása minden esetben a main() eljárás.  Paraméterei: az argc (argument count) a parancssorban szereplő argumentumok száma, az argv (argument vector) 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.)

13 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS stdio.h – printf()  Alapértelmezett kimenetre ír  Első argumentumban string, továbbiak a kiírandó változók.  Példa: int x = 5; printf(”x valtozo erteke: %d”, x);

14 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS stdio.h – printf() Konverziós karakterek:  c: int unsigned char 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…

15 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS stdio.h – scanf()  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…)

16 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS stdio.h – fopen() – fclose()  File *fopen (const char *filename, const char *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

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

18 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Igazságtáblák - NOT  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: bemenetkimenet ANOT A 01 10

19 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Igazságtáblák - OR  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: bemenetkimenet ABA OR B

20 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Igazságtáblák - XOR  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: bemenetkimenet ABA XOR B

21 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Igazságtáblák - AND  AND (logika ÉS). Igaz, ha mindkét feltétel igaz.  Jelölése C-ben: & (bitenkénti), && (logikai)  Igazságtáblája: bemenetkimenet ABA AND B

22 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Operátorok – aritmetikai műveletek  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

23 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Operátorok – bitszintű műveletek  ~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

24 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Operátorok – logikai műveletek  kif && kif : logikai és  kif || kif : logikai vagy  ! kif : logikai tagadás

25 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Operátorok – relációs műveletek  kif == kif : egyenlő  kif != kif : nem egyenlő  kif < kif : kisebb  kif > kif : nagyobb  kif <= kif : kisebb-egyenlő  kif >= kif : nagyobb-egyenlő

26 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Operátorok – értékadó műveletek  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

27 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Operátorok – inkrementációs műveletek  ++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 = 3 x = y++;//x = 3; y = 4

28 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS string műveletek  C-ben a string egy karakter tömb, melyet ‚\0’ karakter zár le.  #include  size_t strlen( 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

29 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS string műveletek  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 stringben a 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ő)

30 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS string műveletek  int strcmp( 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.  int strncmp( 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( const char *s1) Megfordítja a string tartalmát


Letölteni ppt "UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 2. Gyakorlat Követelmények / „C” ismétlés."

Hasonló előadás


Google Hirdetések