Větvení na základě konkrétního stavu nebo hodnoty proměnné, nebo reakce na uživatelský vstup, je jedním ze základních struktur v návrhu programu.
<aside> 💡 Ve větvení se často objevují proměnné proto je dobré si je nejdříve nastudovat.
Druhá používaná část mohou být funkce a konzolový vstup a výstup.
</aside>
<aside> ☝ Před větvením je dobré si zopakovat:
</aside>
Zjednodušeně se dá tvrdit, že podmínka je výraz, u kterého má smysl zkoumat pravdivostní hodnotu. Zda je například hodnota proměnné menší než 2, nebo zda samotná proměnná je pravda nebo nepravda (proměnné datového typu boolean
zkráceně bool
) (tento datový typ se v jazyku C
se nepoužívá, ale mluvíme o něm, místo něho se používá int
). Nelze tedy z podstaty zkoumat například pravdivostní hodnotu přiřazovacího příkazu, jelikož ten teoreticky vždy nabývá hodnoty pravda.
<aside>
💡 true
a false
reprezentují pravdu nebo nepravdu, stejně tak lze tvrdit že 1 nebo 0. Proto lže využít datový typ int, však i on může být 1
nebo 0
, avšak cokoliv jiného je vždy pravda, tedy i 22
je ve výsledku true
!
</aside>
Následující tabulka obsahuje relační operátory použitelné při zápisu podmínky.
Operátor | Význam |
---|---|
< |
menší než |
<= |
menší nebo rovno |
> |
větší než |
>= |
větší nebo rovno |
== |
rovno |
!= |
nerovno |
<aside> ⚠️ Jedno „rovnáse“ nerovná se „dvě rovnáse“. Pokud chceme v podmínce porovnávat dvě hodnoty, musíme uvádět dvě rovnítka za sebou, nikoli pouze jedno. Pokud použijeme jen jedno, jedná se o přiřazovací příkaz, nikoli o porovnávání.
</aside>
Pokud potřebujeme vytvářet složitější podmínky, je možné využít základních logických operátorů Boolovy algebry (matematické operace na dvouprvkové množině) pomocí kterých jsme schopni skládat dílčí “podpodmínky” do většího celku. Mezi tyto operátory řadíme logický součet, logický součin a negaci.
AND
- a zároveňOperátor AND se do češtiny překládá jako “a zároveň” což velmi dobře vysvětluje jeho funkci. Aby byla splněna celá podmínka musí být zároveň splněny i dílčí podpodmínky. V jazyku C# se logický součin zapisuje jako &&
(Alt + 38, AltGr + c nebo Option + ý (Mac)).
Složená podmínka by pak vypadala takto:
podpodmínika && podpodmínka
variable > 10 && variable < 15
// podmínka by byla spolněna pokud by obě dvě podpodmínky byly vyhodnoceny jako pravda
// tedy pokud by hodnota proměnné variable byla 11,12,13 nebo 14
Kompletní přehled logické funkce AND
je možné zapsat do pravdivostní tabulky:
Podpodmínka A | Podpodmnínka B | A && B |
---|---|---|
true |
true |
true |
true |
false |
false |
false |
true |
false |
false |
false |
false |
OR
- neboOperátor OR se využívá v případě, kdy nám stačí aby byla splěna pouze jedna z podpodmínek. Logický součin se zapisuje jako dvě svislé čáry ||
(Alt + 124 nebo AltGr + W nebo Shift + \ (Mac)). Celý výraz je vyhodnocen jako pravda i za předpokladu, že jsou obě podpodmínky pravdivé.
podpodmínika || podpodmínka
variable > 10 || variable < 15
// podmínka by byla spolněna pokud by alespoň jedna ze dvou podpodmínek
// byla vyhodnocena jako pravda
// V tomto případě by to byly všechna čísla.
V tabulce pravdivostních hodnot by bylo možné logický součet zapsat takto:
| Podpodmínka A | Podpodmnínka B | A || B |
| --- | --- | --- |
| true
| true
| true
|
| true
| false
| true
|
| false
| true
| true
|
| false
| false
| false
|