Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
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 e13 %e: lebegőpontos szám normálalakban, kis e elválasztóval, pl E4 %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
szám1=x; szám2=y; nem igen szám1−szám2>0? kiír: a második szám a nagyobb (szám2−szám1) értékével. kiír: az első szám a nagyobb (szám1−szám2) értékével.
18
Alapstruktúrák: elágazás if–else
szám1=x; szám2=y; szám1−szám2>0? nem igen kiír: a második szám a nagyobb (szám2−szám1) értékével. kiír: az első szám a nagyobb (szám1−szám2) értékével.
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
szám1=x; szám2=y; nem igen szám1−szám2>0? kiír: az első szám a nagyobb (szám1−szám2) értékével. nem igen szám1−szám2=0? kiír: a második szám a nagyobb (szám2−szám1) értékével. kiír: a két szám egyforma
22
Alapstruktúrák: elágazás if–else
szám1=x; szám2=y; szám1−szám2>0? nem igen szám1−szám2=0? kiír: az első szám a nagyobb (szám1−szám2) értékével. nem igen kiír: a máso-dik szám a nagyobb (szám2− szám1) értékével. kiír: a két szám egy-forma
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
Eleje+main fv definiálás a programban Egyszerű cserés rendezés: 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: 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
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
Eleje+main fv definiálás a programban Extrémumkereséses rendezés: eredeti tömb kiírása csere a külső ciklusban az indexek és az új tömb kiírása minden csere után
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
Eleje+main fv definiálás a programban Beillesztéses rendezés: eredeti tömb kiírása 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:
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.