Rozhodování
2. Úplné větvení
Jednoduché větvení se provádí
příkazem if. Dejte si
pozor, ať v logických výrazech nepoužíváte
operátor přiřazení = namísto správného operátoru, který testuje rovnost, tj. == . Další důležitým pravidlem je, že výraz za příkaz if musí být uzavřen do závorek!
Úplné větvení má obě větve – True, tj. logický výraz (logická podmínka) je splněn a i větev False, tj. podmínka není splněna. Následující značka definuje, jak jsme ve vývojovém diagramu zaznamenali blok rozhodování – viz Obrázek 1.

Obrázek 1: Blok rozhodování - úplné větvení
Obecná syntaxe úplného větvení v C# je:
if (logickýVýraz) příkaz1; else příkaz2;
kde:
- logickýVýraz - představuje podmínku rozhodování
- příkaz1 - příkaz (nebo složený příkaz, tj. blok příkazů), který je proveden, je-li logický výraz vyhodnocen jako true
- else - větev, která je vykonána, pokud logický výraz je vyhodnocen jako false
- příkaz2 - příkaz, nebo složený příkaz, který je proveden ve větvi else, tj. je-li logický výraz vyhodnocen jako false
V jazyce C# musíme přiřadit hodnotu logické proměnné dříve, než použijeme její obsah! Pokud se pokusíme přistoupit k obsahu proměnné dříve, která není naplněna, nebudeme moci program zkompilovat.
Ilustrativní příklad UplneVetveni
Algoritmus UplneVetveni
- Popis: Vývojový diagram úplného větvení
- Zadání: Zkuste vymyslet, jak byste zaznamenali v hlavním programu rozhodování. Deklarujte dvě celočíselné lokální proměnné x a y. Proměnným přiřaďte následující hodnoty: x = 2 a y = 3. Dále deklarujte logickou proměnnou boolPromenna. Pokud platí že x < y, pak do logické proměnné uložte hodnotu true. V opačném případě uložte do logické proměnné hodnotu false.
Při deklaraci proměnných využijeme úspornější variantu, kdy jednotlivé proměnné stejného datového typu oddělíme čárkou, tím ušetříme místo ve vývojovém diagramu (díky redukci dalších značek deklarace jednotlivých proměnných). Rozhodovací blok obsahuje testovanou podmínku. Pokud je
podmínka splněna (tj. větev True), je vykonán přiřazovací příkaz, který proměnné logického typu přiřadí
hodnotu true (pravda). Pokud podmínka splněna není, je vykonána druhá větev False, ve které přiřadíme logické proměnné boolPromenna hodnotu false.
Program UplneVetveni
- Popis: Zdrojový kód úplného větvení
- Zadání: Vymyslete, jak byste v C# naprogramovali v hlavní metodě Main algoritmus UplneVetveni jako konzolovou aplikaci
- Řešení: Bude postupně probráno v následujícím textu
V redukovaném zdrojovém kódu (provedli jsme deklaraci lokálních proměnných včetně inicializace) jsou deklarovány
dvě celočíselné proměnné, které jsou inicializovány (datový typ int) - viz Kód 1. Třetí deklarovanou proměnnou
s názvem boolPromenna je logická
proměnná (datový typ bool), která může
nabývat hodnoty true nebo false. Ve čtvrtém řádku kódu dochází
k testování podmínky, tj. zda platí tvrzení, že hodnota uložená
v proměnné x je menší než
hodnota uložená v proměnné y. Pokud
je tato podmínka splněna přiřadíme logická proměnné boolPromenna hodnotu true. Pokud podmínka není splněna, logické proměnné přiřadíme hodnotu false.
static void Main(string[] args) { //Deklarace celočíselné proměnné včetně inicializace int x = 2; //Deklarace celočíselné proměnné včetně inicializace int y = 3; //Deklarace logické proměnné bool boolPromenna; //Rozhodovací podmínka if (x < y) //Pokud podmínka je splněna -> přiřazení hodnoty true do logické proměnné boolPromenna = true; else //Pokud podmínka není splněna -> přiřazení hodnoty false boolPromenna = false; }
Kód 1: Příklad úplného větvení