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>

Podmínka

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>

Logické operátory, složená podmínka

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.

Logický součin - 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 + 38AltGr + 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

Logický součet - OR - nebo

Operá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 |