Podmínky umožňují programátorovi větvit program, což znamená, že určitá část příkazů se provede jen při splnění určitě podmínky.
Samotná podmínka musí být datového typu bool (nabývá jen dvou hodnot: true, neboli pravda, a false, neboli nepravda). V podmínce můžete použít proměnnou tohoto datového typu, nebo relační operátory, jež porovnávají dva výrazy a vrací bool.
Dost často se také používají logické, nebo bitové operátory, jež slouží ke spojení několika podmínek do jedné (např. dvě porovnání).
Pro větvení programu můžete používat 3 druhy podmínek:
  • Podmíněný příkaz if  Můžete do něj napsat jakkoliv složitou podmínku, je tedy univerzální.
  • Podmíněný příkaz switch  Díky němu můžete jednoduše větvit program podle hodnoty proměnné. Lze to udělat i pomocí příkazu if, což ale není tak efektivní.
  • Ternální operátor ?:  Obsahuje jednoduchou podmínku, jestli je splněna, provede se první příkaz, jestli ne, provede se druhý příkaz.
Podmíněný příkaz if
Podmíněný příkaz if (For modes 2D, 3D, Console)
Umožňuje větvení programu v závislosti na splnění zadané podmínky.
Pomohla Vám nápověda?
Else (For modes 2D, 3D, Console)
Nepovinná část podmíněného příkazu, která se vykoná pokud předcházející podmínka není splněna.
Pomohla Vám nápověda?
Syntaxe:
if ( podmínka ) { příkazy } 
                  else { příkazy }
Lze také přidat neomezený počet částí else if, které jsou provedeny, jen když není žádná z předchozích podmínek splněna (může začínat if i else if). Za předchozí podmínky se počítá vše do podmínky začínající pouze if. Pokud ale potřebujete rozhodovat podle hodnoty nějaké proměnné, je lepší použít switch (další informace níže).
Syntaxe:
if ( podmínka ) { příkazy } 
                  else if ( podmínka ){ příkazy } 
                  else if ( podmínka ) příkaz 
                  . 
                  . 
                  . 
                  else { příkazy }
Poznámka: pokud je za podmínkou, nebo else pouze jeden příkaz, není nutné vkládat složené závorky.
Příklad (For modes 2D, 3D)
Když je hodnota proměnné i rovna 0, tak Baltík dvakrát popojde, jinak se otočí doleva.
Pomohla Vám nápověda?
Podmíněný příkaz switch
Podmíněný příkaz switch (For modes 2D, 3D, Console)
Umožňuje větvení programu podle hodnoty zadaného výrazu.
Pomohla Vám nápověda?
Case (For modes 2D, 3D, Console)
Prvek podmíněného příkazu switch.
Pomohla Vám nápověda?
Default (For modes 2D, 3D, Console)
Nepovinný prvek podmíněného příkazu switch. Provede se v případě, že se neprovede žádný z prvků case.
Pomohla Vám nápověda?
Syntaxe:
switch ( výraz ) { 
                  case hodnota: { příkaz; příkaz; ... break; } 
                  case hodnota: příkaz; 
                  . 
                  . 
                  . 
                  case hodnota: { příkaz; příkaz; ...  break; } 
                  default { příkaz; příkaz; ...  break; } 
                  }
V C# kódu je nutné psát za příkazy na konec konec bloku klíčové slovo break; Toto nemusí být uvedeno, když v dané větvi case není zadán žádný příkaz. V takovém případě se provedou příkazy v první následující větvi case, jež obsahuje nějaký příkaz/y. Toto se používá, když je potřeba vykonat stejné příkazy pro dvě nebo více hodnot daného parametru.
Příkaz:
switch ( proměnná ) { 
                  case 0//program přeskočí na blok příkazů u hodnoty 2 
                  case 1//program přeskočí na blok příkazů u hodnoty 2 
                  case 2: { příkaz; příkaz; ...  break; } 
                  }
Poznámka: pokud je za hodnotou, nebo default pouze jeden příkaz, není nutné vkládat složené závorky.
Příklad (For mode 3D)
Umožňuje ovládání kurzorovými klávesami a myší, při stisku End se program ukončí. Při stisku jakékoli jiné klávesy Baltík vyčaruje podlahu.
Pomohla Vám nápověda?
Ternární operátor ? :
Ternární operátor ? : (For modes 2D, 3D, Console)
Vyhodnotí výraz a vrátí hodnotu prvního nebo druhého výrazu v závislosti na tom, jestli byla výsledkem vyhodnocení hodnota true nebo false.
Syntaxe:
výraz ? první_výraz : druhý_výraz
Pomohla Vám nápověda?
Pomohla Vám nápověda?


Shledali jste tuto informaci pro Vás užitečnou?
Máte nějaký dotaz nebo připomínku k tomuto tématu? Napište nám.
©1978-2010 SGP Systems

Nadřazená stránka | Předchozí stránka | Další stránka