Programoz s ii
This presentation is the property of its rightful owner.
Sponsored Links
1 / 30

Programozás II. PowerPoint PPT Presentation


  • 55 Views
  • Uploaded on
  • Presentation posted in: General

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)

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


Ism tl s c 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


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


  • Login