programoz s ii
Download
Skip this Video
Download Presentation
Programozás II.

Loading in 2 Seconds...

play fullscreen
1 / 30

Programozás II. - PowerPoint PPT Presentation


  • 74 Views
  • Uploaded on

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)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Programozás II.' - ahanu


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
programoz s ii

Programozás II.

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

el rhet s gek

Elérhetőségek

Horváth István

E-mail: [email protected]

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)

k vetelm nyek el ad s

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

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

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

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

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

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

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

adatt pusok1

signed / unsigned

char

short, int, long

float, double, longdouble

pointer, tömb

enum

union, struct

Adattípusok

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

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 valtozoerteke: %d”, x);

stdio.h – printf()

stdio h printf1

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

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 – scanf()

stdio h fopen fclose

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

stdio h fprintf fscanf

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

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:

Igazságtáblák - NOT

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:

Igazságtáblák - OR

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:

Igazságtáblák - XOR

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:

Igazságtáblák - AND

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 – aritmetikai műveletek

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 – bitszintű műveletek

oper torok logikai m veletek

kif && kif : logikai és

kif || kif : logikai vagy

! kif : logikai tagadás

Operátorok – logikai műveletek

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 – relációs műveletek

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 – értékadó műveletek

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 = 3x = y++; //x = 3; y = 4

Operátorok – inkrementációs műveletek

string m veletek

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

string m veletek1

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

string m veletek2

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

ad