
Elágazások
Elágazások
Ha igazán hasznos programokat szeretnénk írni, akkor szükség van arra, hogy a programvégrehajtás különböző irányokba folytatódjon, attól függően, hogy milyen feltételekkel találkozunk. Ehhez olyan utasítások kellenek, amikkel tesztelni lehet egy bizonyos feltételt és következményként
módosítani lehet a program viselkedését.
Ezt az if utasítással valósíthatjuk meg. Az if utasításnak 3 típusát ismerjük meg.
- Amikor csak if és a feltétel szerepel, a végrehajtható utasításokkal. Ezt nevezzük feltételes utasításnak.
- Amikor if-else parancspáros szerepel, ezt nevezzük kétirányú elágazásnak.
- Amikor if-elif-elif-...-else parancssor szerepel. Ezt nevezzük többirányú elágazásnak.


Megfigyelhetjük, hogy csak az első esetben (a = 15) írja ki a program, hogy elegendően nagy szám, a második esetben nem. Viszont a program vége szöveg mindkét esetben kiírásra kerül, hiszen az a print utasítás már az if-en kívül helyezkedik el.
A programblokkokat behúzással jelezzük.

Ha else ágat is alkalmazunk, akkor van rá lehetőségünk, hogy a feltétel nem teljesülése esetén is parancsokat futassunk. Esetünkben kiírjuk, hogy Nem elegendően nagy szám. Ne felejtsük el az else kulcsszót az if szintjére húzni és utána kettőspontot tenni, mint az if után.
Ezt a szerkezetet nevezzük kétirányú elágazásnak.
Nézzük meg, hogy ha több irányú elágazást szeretnénk megvalósítani, hogyan tehetjük meg? Például ha kezelni szeretnénk a 0 értéket és a negatív számokat is.


Erre a feladatra az if-elif-elif-...-else parancsszerkezetet használhatjuk. Minden elif ágnak saját feltétele van, ami természetesen akkor kerül kiértékelésre, ha a megelőző feltételek nem teljesültek. Tartozhat hozzá egy else ág is az egyébb lehetőségek kezelésére.
Feladatok
- Írj programot, mely beolvas két egész számot és kiírja a képernyőre a nagyobbat!
- Írj programot, mely beolvassa egy háromszög három oldalának hosszát és kiírja, hogy a háromszög szerkeszthető-e?
- Írj programot, mely beolvassa egy másodfokú egyenlet együtthatóit és kiírja, hogy megoldható-e az egyenlet.
- Írj programot, mely beolvassa egy másodfokú egyenlet együtthatóit és kiírja, hogy hány megoldása van az egyenletnek.
- Írj programot, mely bekéri először egy négyzet, majd egy téglalap oldalainak hosszát és kiírja, hogy melyik területe a nagyobb!
- Kérj be két diák nevét, akik kosárra dobásban versenyeznek! Majd kérd be a szerzett pontszámokat is. Végül írasd ki a meccs eredményét!
- Kérd be a felhasználótól a nevét, és hogy hány óra van (csak egész szám)! Majd köszönj neki a napszaknak megfelelően: 3-8 : jó reggelt, 8-18 jó napot, 18-22 jó estét és 22-3 Jó éjt.
- Kérj be két autó márkáját és végsebességét. Írasd ki melyik autó a lassabb, és mennyivel!