Vezérlési szerkezetek¶
A vezérlési szerkezetek terén nagy szerencsénk van, ebben az esetben nincs különösebb eltérés a Pythonhoz képest, csak a blokkok jelölése az eltérő.
Matematikai kondíciók¶
Művelet | Jelölés | Operátor |
---|---|---|
(szigorúan) Nagyobb | \(>\) | > |
Nagyobb egyenlő | \(\geq\) | >= |
Kisebb | \(<\) | < |
Kisebb egyenlő | \(\leq\) | <= |
Pontosan egyenlő | \(=\) | == |
Nem egyenlő | \(\neq\) | != |
Matematikai kondíciók igazságértéke¶
A matematikai kondíciók az általánosságban vett matematikai műveleteket jelentik. Ezek a műveletek minden esetben kiértékelődnek és egy igazságértéket fognak felvenni.
Vegyünk pár példát:
Állítás | Kiértékelés | Eredmény |
---|---|---|
\(5 > 3\) | Az 5 nagyobb mint a 3? | Igen, ez igaz. |
\(5 < 3\) | Az 5 kisebb mint a 3? | Nem, ez hamis. |
\(3 \geq 3\) | A 3 nagyobb vagy egyenlő mint 3? | Igen, ez igaz. |
\(3 > 3\) | A 3 nagyobb mint a 3? | Nem, ez hamis. |
Feltételezes vezérlés¶
Ha állítás¶
Feltétel szabása az if szóval történik, amely egy logikailak kiértékelhető állítást tartalmaz. A matematikai kondíciók eredménye logikai igaz vagy logikai hamis lesz.
A fenti példa esetében a print csak akkor fog lefutni ha az állítás értéke igaz, tehát b szigorúan nagyobb mint a.
Vagy ha állítás¶
A vagy ha állítás előtt mindenképpen szükséges egy ha állítás.
Vagy ha minden más esetben¶
A vagy minden más esetben akkor fog lefutni ha a fenti feltételek közül egyetlen egy sem teljesült.
Konnektívák¶
A logikai feladatok megoldásához a Boole-algebrát használjuk, amely lehetőséget ad arra, hogy a logikai kapcsolatokat matematikai úton kezeljük.
Kételemű Boole-algebra felvehető értékek:
- false (0)
- true (1)
ÉS¶
Abban az esetben ha kettő vagy több feltételnek egyszerre kell teljesülnie, akkor ÉS kötöszót használunk. Az ÉS csak akkor teljesül ha a bal oldal és jobb oldal is igaz.
VAGY¶
Abban az esetben, ha kettő vagy több feltétel közül legalább az egyiknek kell teljesülnie, akkor VAGY kötöszót használunk.
A vagy az alábbi esetekben értékelődik igazra: - a bal oldal igaz - a jobb oldal igaz - mindkét oldal igaz
Igazságtábla¶
Az igazságtábla egy táblázat, amelyben a logikai műveletek eredményeit mutatja be.
Ezekben az esetekben az A
szerepét egy konkrét állítás veszi fel (pl. a < 10
), míg a B
szerepét egy másik állítás (pl. a > 20
).
A | B | AND | OR | XOR |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
A | B | AND | OR | XOR |
---|---|---|---|---|
False | False | False | False | False |
False | True | False | True | True |
True | False | False | True | True |
True | True | True | True | False |
Igazságtábla programkóddal¶
Switch-Case¶
A switch-case lehetővé teszi, hogy egy kifejezés értékét összehasonlítsuk egy előre meghatározott értékkel, és a megfelelő kódblokkot futtassuk le. Leggyakrabban a sok if-else elkerülése miatt használjuk.
Példa
Az alábbi példában megvizsgáljuk a nap sorszámát és kiírjuk a hozzá tartozó nap nevét switch-case valamint if-else segítségével.
Tip
Általánosan elmondható, hogy ha 5-nél többször vizsgáljuk ugyan azt a változót, akkor érdemes switch-case szerkezetet használni.
Alapértelmezett érték¶
Kérdés
Felvetődhet a kérdés, hogy mit tegyünk abban az esetben ha szeretnénk egy alapértelmezett értéket is megadni, amennyiben egyik feltétel sem teljesül, hasonlóan az if-else esetében az else ághoz.
A megoldást a default kulcsszó jelenti, amelyet a switch-case szerkezet végére kell írni.
Módosítsuk az előzőekben elkészített programunkat! Adjuk meg például azt, hogy a mai nap a hét 8. napja! Ebben az esetben a default ág fog lefutni.