10
1 C# 2008 HALADÓKNAK Vezérlési szerkezetek: elágazások, ciklusok Szakképzési Portál

C# 2008 HALADÓKNAK

  • Upload
    selima

  • View
    29

  • Download
    0

Embed Size (px)

DESCRIPTION

C# 2008 HALADÓKNAK. Vezérlési szerkezetek: elágazások, ciklusok. Elágazások. Gyakran előfordul, hogy a programban döntési helyzet alakul ki, azaz bizonyos feltétel( ek ) teljesülésétől függően mást kell csinálnunk, mint amikor azok nem teljesülnek. Ezt hívjuk elágazásnak . Fajtái: - PowerPoint PPT Presentation

Citation preview

Page 1: C# 2008 HALADÓKNAK

1

C# 2008 HALADÓKNAK

Vezérlési szerkezetek: elágazások, ciklusok

Szakképzési Portál

Page 2: C# 2008 HALADÓKNAK

2

Elágazások

• Gyakran előfordul, hogy a programban döntési helyzet alakul ki, azaz bizonyos feltétel(ek) teljesülésétől függően mást kell csinálnunk, mint amikor azok nem teljesülnek.

• Ezt hívjuk elágazásnak.• Fajtái:– egy-, illetve kétirányú elágazás– többirányú elágazás

Page 3: C# 2008 HALADÓKNAK

3

Elágazások: egy- és kétirányú• Egyirányú elágazás:if (feltétel){ utasítások;}

• Kétirányú elágazás:if (feltétel){ utasítások;}else{ utasítások;}

Page 4: C# 2008 HALADÓKNAK

4

Elágazások egymásba ágyazása• Egymásba ágyazott elágazások:if (feltétel1){ utasítások;}else if (feltétel2){ utasítások;}…else if (feltételn){ utasítások;}else{ utasítások;}

• Például:if (x>0){ label1.Text="pozitív";}else if (x<0){ label1.Text="negatív";}else{ label1.Text="nulla";}

Page 5: C# 2008 HALADÓKNAK

5

Elágazások: többirányú• Elágazás egy változó értékétől

függetlenülswitch (kifejezés){ case érték1: utasítások;

break; case érték2: utasítások; break; case érték3: utasítások; break;

… default: utasítások;

break;}

• Szabályok:– A kifejezés csak int vagy char típusú

lehet.– Intervallumot nem lehet megadni, és

több értéket sem lehet felsorolni.– Nem lehet két sorban a case után

ugyanaz az érték.– Ha a case után nem írunk utasítást,

akkor a következő soron folytatódik a végrehajtás.

– A default utáni utasításokat akkor hajtja végre, ha egyik felsorolt érték sem egyezik meg a kifejezés értékével.

– A break utasítás minden ág végén kötelező!

Page 6: C# 2008 HALADÓKNAK

6

Ciklusok• Ciklusokat akkor használunk, amikor egy adott

tevékenységet (ciklusmag) többször végre kell hajtanunk.• Azokat a változókat, amelyektől a ciklus futása függ,

ciklusváltozónak hívjuk.• Fajtái:

– számláló: előre megadott számú alkalommal fut le a ciklusmag.– elöltesztelő: egy feltétel teljesülésétől függően hajtja végre a

ciklusmagot (előfordulhat, hogy egyszer sem, ha a feltétel már kezdetben sem teljesül)

– hátultesztelő: egyszer mindenképpen végrehajtja a ciklusmagot, majd addig ezt ismétli, amíg a feltétel teljesül.

Page 7: C# 2008 HALADÓKNAK

7

Ciklusok: számláló• Előre megadott számú alkalommal fut le a ciklusmag.for ( kezdőérték-adás; feltétel; ciklusváltozó növelése){ utasítások;}• Példa:for (i=0; i<10; i++){ listBox1.Items.Add(i.ToString());}• A példában az i a ciklusváltozó, amely sorban felveszi a 0, 1, 2, 3, …, 9 értékeket,

ezeket beírja a listába, majd a ciklus futása befejeződik.• Megjegyzés: az i++ jelentése: i = i + 1.

Page 8: C# 2008 HALADÓKNAK

8

Ciklusok: elöltesztelő• Egy feltétel teljesülésétől függően hajtja végre a ciklusmagot• Előfordulhat, hogy egyszer sem, ha a feltétel már kezdetben sem teljesülwhile (feltétel){ utasítások;}• Példa:while (!f.EndOfStream){ s = f.ReadLine(); listBox1.Items.Add(s);}• A példában addig olvasunk be egy szövegfájlból, amíg nem érünk a végére. Itt a

ciklusváltozó szerepét az f fájlváltozó játssza.

Page 9: C# 2008 HALADÓKNAK

9

Ciklusok: for és while• A for és a while ciklusok lényegében egyformák a C# nyelvben.• Példa:for (i=0; i<10; i++){ listBox1.Items.Add(i.ToString());}

int i=0;while (i<10){ listBox1.Items.Add(i.ToString()); i++;}• Ez alapján bármelyik átírható a másikra!• Figyeljünk oda, hogy a while ciklusból ne maradjon ki a ciklusváltozó változtatása,

mert az végtelen ciklushoz vezet!

Page 10: C# 2008 HALADÓKNAK

10

Ciklusok: hátultesztelő• Egyszer mindenképpen végrehajtja a ciklusmagot, majd addig ezt ismétli, amíg a

feltétel teljesül.do{ utasítások;} while (feltétel);Példa:i=0;ossz=0;do{ i++; ossz += i; // jelentése: ossz = ossz + i} while (i<10);• A példában 1-től 10-ig összeadjuk a számokat.