2. Gyakorlat Követelmények / „C” ismétlés

Slides:



Advertisements
Hasonló előadás
Szerver oldali programozás
Advertisements

C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Adatbázis alapú rendszerek 1. Gyakorlat Követelmények / SQL.
C++ programozási nyelv Gyakorlat hét
Követelmények Szoftver- környezet SQL ismétlés ADATBÁZIS ALAPÚ RENDSZEREK.
2009 Bevezetés a programozásba Krankovits Melinda.
Cells(sor száma, oszlop száma)
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Boole- féle algebra Készítette: Halász Rita I. István Szakképző Iskola szeptember 19.
Turbo Pascal Változók.
Dinamikus tömbök.
Programozás Alapjai (2008)
Bevezetés a Java programozásba
Logikai műveletek
1 Programozás alapjai GEIAL312B (ANSI C) BSc (Bachelor of Science) / Alap képzés 2005/2006. őszi félév Miskolci Egyetem Általános Informatikai Tanszék.
6. előadás (2005. április 5.) Struktúrák Úniók Új adattípus definíálása Dinamikus memória foglalás 1.
7. előadás (2005. április 12.) Láncolt lista File kezelés 1.
5. előadás (2005. március 22.) Függvények definíciója, deklarációja, hívása Enumerációs adattípus 1.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
kötelező program, SZÁMONKÉRÉSEK
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 7. Gyakorlat Operator overloading.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 8. Gyakorlat Operator overloading II.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 5. Gyakorlat Öröklődés, virtuális függvények,
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek.
Programozás II. 3. Gyakorlat C++ alapok.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Parancssori argumentumok Primitív típusok Operátorok Vezérlési szerkezetek Tömbök Ürmös Beáta, 2011.
Borland C/C++ mintapéldák fájlokra. 1. példa Írjon olyan programot,amely megnyit egy hw.txt fájlt és írja bele a Hello világ szöveget. Ez után zárja le.
Készítette: Rummel Szabolcs Elérhetőség:
Programozás I. Horváth Ernő 1. Elérhetőségek Bauer Péter Horváth Ernő Tanszéki honlap
1 Programozás alapjai GEIAL312B (ANSI C) BSc (Bachelor of Science) / Alap képzés 2005/2006. őszi félév Miskolci Egyetem Általános Informatikai Tanszék.
A GÉPELEMEK, GÉPSZERKEZETEK II. TÁRGY ÁLTALÁNOS JELLMZÉSE
Programozás I. Adatállományok dr Póder Margit f. docens Rendszer és Szoftvertechnológia Tanszék.
dr Póder Margit f. docens Rendszer- és Szoftvertechnológia Tanszék
Vizuális és web programozás II.
Operációs rendszerek gyakorlat 9. Gyakorlat Vakulya Gergely.
Programozás Operátorok C# -ban.
C nyelv utasításai.
Összetett adattípusok
Beolvasó utasítás Console.Read();  Int típusú adatot kapunk. Console.ReadLine();  String típusú adatot kapunk. Console.ReadKey();  Tetszőleges billentyű.
Funkcionális programozás 2. gyakorlat
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Összetett adattípusok a Pascal nyelvben
Boole-algebra (formális logika).
Operátorok Értékadások
A számítógép működésének alapjai
Készítette: Csíki Gyula
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Java programozási nyelv Filekezelés
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 4. Gyakorlat Függvény paraméterek, dinamikus.
Objektum orientált programozás
Objektum orientált programozás
Bemutatkozás. Juhász István Elérhetőségek Gazdaságtudományi Intézet Közgazdaságtan és Jog Tanszék, B. épület 226. szoba Fogadóórák:Kedd –
Fontos tudnivalók A MATLAB egy fajta objektummal dolgozik (Mátrix)
Az informatika logikai alapjai
1 Szervetlen és Analitikai Kémia Tanszék, Kémiai Informatika Csoport Számítástechnika Kari rendszergazda: Rippel Endre (Ch C2)
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. Követelmények.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 3. gyakorlat.
Informatikai gyakorlatok 11. évfolyam
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás alapjai 1. Gyakorlat Követelmények, regisztráció,
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED D epartment of Software Engineering Vállalati információs rendszerek.
Kifejezések C#-ban.
Programozási alapismeretek
Informatikai gyakorlatok 11. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Az emberi arcok Óramegbeszélés
Típusok, változók, konstansok
Előadás másolata:

2. Gyakorlat Követelmények / „C” ismétlés 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) (Vagy előre megbeszélt időpont/helyszín)

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…

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.

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

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ó.

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.

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

Ismétlés – C nyelv

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.

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

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.)

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

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…

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…)

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

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

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: bemenet kimenet A NOT A 1

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: bemenet kimenet A B A OR B 1

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: bemenet kimenet A B A XOR B 1

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: bemenet kimenet A B A AND B 1

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

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

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

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ő

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

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

string műveletek C-ben a string egy karakter tömb, melyet ‚\0’ karakter zár le. #include <string.h> 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

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ő)

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. >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