Skip to content

Elágazások és ciklusok

Különböző kódpéldákat láthatsz ezekre az algoritmus elemekre. Fontos, hogy a dolgozatban nem kell kódot írni, viszont ezek a példák segítenek megérteni a működésüket és a különbségeket köztük. A típusokat tudnod kell, meg egy "pszeudokód" leírást valószínűleg, de nem kell a C# megfelelőjük.

Elágazások

HA - AKKOR

Pszeudokód:

HA kifejezés AKKOR utasítások

C# példa:

if(i == 3){
    Console.WriteLine("Az i változó értéke három!");
}

HA - AKKOR - EGYÉBKÉNT

Pszeudokód:

HA kifejezés AKKOR utasítások
    EGYÉBKÉNT utasítások

C# példa:

if(i == 3){
    Console.WriteLine("Az i változó értéke három!");
}else{
    Console.WriteLine("Az i változó értéke nem három, hanem bármi más lehet!");
}

HA - AKKOR - EGYÉBKÉNT - HA - AKKOR - EGYÉBKÉNT

Pszeudokód:

HA kifejezés AKKOR utasítások
    EGYÉBKÉNT HA kifejezés AKKOR utasítások
    EGYÉBKÉNT utasítások

C# példa:

if(i == 3){
    Console.WriteLine("Az i változó értéke három!");
}else if (i == 4){
    Console.WriteLine("Az i változó értéke négy!");
} else {
    Console.WriteLine("Az i változó értéke nem három és nem is négy, hanem valami más!");
}

ELÁGAZÁS

Pszeudokód:

ELÁGAZÁS
    Feltétel ESETÉN ut1
    Feltétel ESETÉN ut2
    Feltétel ESETÉN ut3
    Feltétel ESETÉN ut4
    EGYÉBKÉNT utasítások5

C# példa:

switch(i){
    case 1:
        Console.WriteLine("Az i változó értéke egy!");
        break;
    case 2:
        Console.WriteLine("Az i változó értéke kettő!");
        break;
    case 3:
        Console.WriteLine("Az i változó értéke három!");
    // ...
    default:
        // Ha az i értéke például 4 és nincs olyan nekünk, hogy "case 4", akkor a default fog lefutni
        Console.WriteLine("Az egyik beálított eset sem teljesült!");
        break;
}

Ciklusok

Számlálós

Pszeudokód:

Ciklus i:=1-től K-ig
    Utasítások
Ciklus vége

C# példa:

for(int i = 1; i <= 20; i++){ // Itt a K értéke 20
    // Utasítások
}

Előltesztelős

Pszeudokód:

Ciklus amíg a logikai kifejezés igaz (ez a ciklusban maradás feltétele)
Utasítások
Ciklus vége

C# példa:

while(i < 20){ // Amíg i kisebb mint 20, addig maradok a ciklusban
    // Utasítások
}

Hátultesztelős

Az első alkalommal mindenképp végrehajtja a ciklusmagot (utasításokat), utána pedig ellenőrzi a feltételt.

Pszeudokód:

Ciklus
Utasítások
Amig a logikai kifejezés igaz (ez a ciklusban maradás feltétele)
Ciklus vége

C# példa:

int i = 0;
do{
    // Utasítások
    Console.WriteLine(i);
    i++;
}while(i < 20); // Amíg i kisebb mint 20, addig maradok a ciklusban

Eljárások

Meghatározott paraméterekkel végrehajt utasításokat, értéket nem ad vissza, azaz nincs return.

Pszeudokód:

Eljárásnév (formális paraméterek) // itt a paraméterek nem kapnak értéket, csak nevet
    Utasítások
Eljárás vége

// Eljárás hívása:
Eljárásnév (aktuális paraméterek) // itt a paraméterek már konkrét értékeket kapnak

C# példa:

void EljarasNev(int a, int b){ // a és b a formális paraméterek
    // Utasítások
    Console.WriteLine(a + b);
}

EljarasNev(3, 5); // Az eljárás hívása, a: 3, b: 5, ezek az aktuális paraméterek

A void a C# esetében azt jelenti, hogy nem ad vissza értéket az eljárás. Ha visszaadna, akkor már nem eljárásnak, hanem függvénynek hívnánk.

Függvények

Meghatározott paraméterekből új adatot képez, azaz itt már van visszatérési érték (return)

Pszeudokód:

Függvénynév (formális paraméterek): visszatérési érték típusa
    Utasítások
Függvénynév:= kifejezés
Függvény vége

C# példa:

int FugvenyNev(int a, int b){ // a és b a formális paraméterek
    // Utasítások
    return a + b; // visszatérési érték
}

int eredmeny = FugvenyNev(3, 5); // Az eljárás hívása, a: 3, b: 5, ezek az aktuális paraméterek

Itt a C# kódban függvénynek a void helyett meg van adva egy típus, ami jelzi a visszatérési érték típusát. Ebben az esetben int, azaz egész szám. Ettől lesz függvény, hogy nem void, hanem int.