objektum orientált programozás

Post on 30-Dec-2015

34 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Objektum orientált programozás. 1. A programok felépítése Nagy Szilvia. Változók definiálása, deklarálás. A parancsok megkezdése előtt definiálni kell a használni kívánt változók és konstansok típusát:. Változók definiálása, deklarálás. Változótípusok: - PowerPoint PPT Presentation

TRANSCRIPT

1

Objektum orientált programozás

1. A programok felépítése

Nagy Szilvia

2

Változók definiálása, deklarálás

A parancsok megkezdése előtt definiálni kell a használni kívánt változók és konstansok típusát:

3

Változók definiálása, deklarálás

Változótípusok:• bool – boolean, logikai változó: igaz, hamis• char – karakter, 1 bájt,• int – integer, egész

– short int– int– long int– long long int

• flood – lebegőpontos szám

4

Változók definiálása, deklarálás

Változótípusok:• flood – lebegőpontos szám

– flood– double– long double

•signed, unsigned

5

Változók definiálása, deklarálás

6

Változók definiálása, deklarálás

Tömb: változókból álló összetett adattípus

7

Változók definiálása, deklarálás

Tömb: változókból álló összetett adattípusÉrtékadás lehetséges már a deklaráció során

is:int tomb[6]={12, 3, 8, -1, 7, 8};

8

Kiíratás: printf függvény

9

Kiíratás: printf függvény

A printf-nek több paramétere lehet:• egy kötelező karakterlánc• a % utáni kifejezések helyére változók

értékei kerülnek:– %c: karakter– %s: karaktertömb, a 0 karakterig– %d: tízes számrendszerbeli szám– %u: előjel nélküli (unsigned) tízes

számrendszerbeli szám– %o: előjel nélküli egész, oktális alakú

szám, pl: 0573

10

Kiíratás: printf függvény

– %x: előjel nélküli egész, hexadecimális alakú szám, kisbetűkkel, pl: 0xd4, ff35eac

– %X: előjel nélküli egész, hexadecimális alakú szám, nagybetűkkel, pl: 0X2F

– %f: lebegőpontos tizedesponttal, pl. 4.22– %e: lebegőpontos szám normálalakban,

kis e elválasztóval, pl. 1.3425e13– %e: lebegőpontos szám normálalakban,

kis e elválasztóval, pl. -2.45E4– %g: %e és %f közül a rövidebb– %G: %E és %f közül a rövidebb

11

Kiíratás: printf függvény

– %p: pointer hexadecimális alakban, pl. FF23AA44

– %m: a legutóbbi hiba típusa (errno)A %-jel után közvetlenül paraméterek is

kerülhetnek, • egy szám, vagy tizedesponttal elválasztott

két szám:– %4d: 4 számjegyű egész– %.4f: 4 tizedesjegyű float– %3.4f: max. 3 számjegy után 4 tizedesjegy

• – jel, ha balra igazítjuk az oszlopot

12

Kiíratás: printf függvény

• + jel, ha pozitív szám esetén +-szal kezdi a számot

• szóköz, ha sem +, sem – jel nincs a szám előtt, szóközt tesz

• # a szám tartalmazza a számrendszer-jelző karaktereit: oktális 0-t, hexadecimális 0x-et, vagy 0X-et, floatnál és normálaknál mindenképpen lesz tizedespont

• ‘ a számjegyeket csoportba rendezi• 0 a számot nem szóközökkel, hanem 0-

kkal tölti fel az üres helyein rendezéskor

13

Kiíratás: printf függvény

Speciális karakterek is megjelenhetnek:• \a: csengő• \b: visszalépés (backspace)• \f: lapdobás• \n: új sor• \r: kocsi vissza (return)• \t: tabulátor, vízszintes• \v: függőleges tabulátor• \\: \-jel• \’: aposztróf• \”: idézőjel• \?: kérdőjel

14

Kiíratás: printf függvény

A printf használata:

15

Alapstruktúrák: elágazás if–else

Ha egy logikai kifejezés igaz volta esetén szeretnénk egy parancsot végrehajtani, akkor használatos:

if (feltétel){parancsok1}

else{parancsok2}

Az else ág opcionális

16

Alapstruktúrák: elágazás if–else

Ha egy logikai kifejezés igaz volta esetén szeretnénk egy parancsot végrehajtani, akkor használatos:

Pl: ha korán kelünk, aranyat lelünk, egyébként sokat alszunk és elkésünk:

if (korán kelünk)aranyat lelünk;

else{sokat alszunk;elkésünk;}

17

Alapstruktúrák: elágazás if–else

kiír: a második szám a nagyobb (szám2−szám1) értékével.

szám1=x; szám2=y;

kiír: az első szám a nagyobb (szám1−szám2) értékével.

szám1−szám2>0?nem igen

18

Alapstruktúrák: elágazás if–else

kiír: a második szám a nagyobb (szám2−szám1) értékével.

szám1=x; szám2=y;

kiír: az első szám a nagyobb (szám1−szám2) értékével.

szám1−szám2>0?

nem igen

19

Alapstruktúrák: elágazás if–else

20

Alapstruktúrák: elágazás if–else

Többszörösen elágaztathatunk else if ágakkal:

if (feltétel1){parancsok1;}

else if (feltétel2){parancsok2;}

else if (feltétel3){parancsok3;}

…else {parancsok;}

21

Alapstruktúrák: elágazás if–else

kiír: a második szám a nagyobb (szám2−szám1) értékével.

szám1=x; szám2=y;

kiír: az első szám a nagyobb (szám1−szám2) értékével.

kiír: a két szám egyforma

szám1−szám2>0?

szám1−szám2=0?

nem

nem

igen

igen

22

Alapstruktúrák: elágazás if–else

kiír: a máso-dik szám a nagyobb (szám2− szám1) értékével.

szám1=x; szám2=y;

kiír: az első szám a nagyobb (szám1−szám2) értékével.

nem igen

nem igen

kiír: a két szám egy-forma

szám1−szám2>0?

szám1−szám2=0?

23

Alapstruktúrák: elágazás if–else

Többszörösen elágaztathatunk else if ágakkal:

24

Alapstruktúrák: elágazás switch

Eseteket választhatunk szét a switch - case parancsrendszerrel:

switch(vizsgálandó változó){case érték1:

parancsok1; esetleg break/return;case érték2:

parancsok2; esetleg break/return; …default:

parancsok;}

25

Alapstruktúrák: elágazás switch

26

Alapstruktúrák: elágazás switch

27

Alapstruktúrák: elágazás switch

Ha a break/return; parancs nem szerepel egy esetben, a következő ágra ugrik:

switch(vizsgálandó változó){case érték1:case érték2:

parancsok12; break; …default:

parancsok;}mind az 1-es, mind a 2-es értéknél a

parancsok12-t fogja végrehajtani.

28

Alapstruktúrák: elágazás switch

29

Alapstruktúrák: elágazás switch

30

Alapstruktúrák: while ciklus

Több lépésen keresztül hajtunk végre hasonló műveleteket:

ciklusváltozó értékadása;while (feltétel){

parancsok;ciklusváltozó változtatása;}

31

Alapstruktúrák: while ciklus

32

Alapstruktúrák: while ciklus

33

Alapstruktúrák: for ciklus

Több lépésen keresztül hajtunk végre hasonló műveleteket:

for (ciklusváltozó értékadása; feltétel; ciklusváltozó változtatása){parancsok;}

34

Alapstruktúrák: for ciklus

35

Alapstruktúrák: for ciklus

36

Példák egymásba ágyazott ciklusokra

Egyszerű cserés rendezés:• számok páronkénti rendezése:• az első elemtől elindulva a külső ciklus

biztosítja, hogy az aktuális helyre a jó elem kerüljön. Az i-edik lépésben az első i-1 elem rendezett lesz.

• a belső ciklus a tömb nem rendezett felén lépeget sorba, a belső ciklus és a külső ciklus eleme rossz sorrendben van (pl növekvő sorrendbe való rendezés esetén belső ciklus eleme < külső ciklus eleme) , cserél.

37

Példák egymásba ágyazott ciklusokra

Egyszerű cserés rendezés: Eleje+main fv definiálás a programban

eredeti tömb kiírása

az indexek és az új tömb kiírása minden csere után

38

Példák egymásba ágyazott ciklusokra

Egyszerű cserés rendezés:

39

Példák egymásba ágyazott ciklusokra

Buborékos rendezés:• számok páronkénti rendezése:• az első elemtől elindulva a külső ciklus

biztosítja, hogy az aktuális helyre a jó elem kerüljön. Az i-edik lépésben az első i-1 elem rendezett lesz.

• a belső ciklus a tömb nem rendezett felén lépeget hátulról előre a külső cikluselemig. Ha a belső cikluselem és a fölötte levő elem rossz sorrendben van, cserél.

40

Példák egymásba ágyazott ciklusokra

Buborékos rendezés:

eredeti tömb kiírása

Eleje+main fv definiálás a programban

az indexek és az új tömb kiírása minden csere után

41

Példák egymásba ágyazott ciklusokra

Buborékos rendezés:

42

Példák egymásba ágyazott ciklusokra

Minimum/maximumkiválasztásos rendezés:• számok páronkénti rendezése:• az első elemtől elindulva a külső ciklus

biztosítja, hogy az aktuális helyre a jó elem kerüljön. Az i-edik lépésben az első i-1 elem rendezett lesz.

• a belső ciklus a tömb nem rendezett felében megkeresi a legnagyobb, ill. legkisebb elemet, és azt cseréli ki a külső ciklus aktuális elemével, ha szükséges. →sokkal kevesebb csere

43

Példák egymásba ágyazott ciklusokra

Extrémumkereséses rendezés:

eredeti tömb kiírása

Eleje+main fv definiálás a programban

az indexek és az új tömb kiírása minden csere után

csere a külső ciklusban

44

Példák egymásba ágyazott ciklusokra

Extrémumkereséses rendezés:

45

Példák egymásba ágyazott ciklusokra

Beillesztéses rendezés:• a már rendezett sorozatban keresi meg a

következő elem helyét, kezdetben egy elemű a sorozat.

• a külső ciklus a 2.-tól végigmegy az elemeken

• a belső ciklus a külső cikluselem előtti szakaszon keresi meg a külső cikluselem pozícióját, odahelyezi az elemet, a többit lejjebb csúsztatja.

46

Példák egymásba ágyazott ciklusokra

Beillesztéses rendezés:

eredeti tömb kiírása

Eleje+main fv definiálás a programban

az indexek és az új tömb kiírása minden csere után

47

Példák egymásba ágyazott ciklusokra

Beillesztéses rendezés:

48

Példák egymásba ágyazott ciklusokra

Beillesztéses rendezés:

top related