Lekce 4: Podmínky a větvení kódu – If, Else, a Switch v C#

Lekce 4: Podmínky a větvení kódu – If, Else, a Switch v C#

V předchozích lekcích jsme se věnovali základním stavebním kamenům jazyka C#, jako jsou proměnné, datové typy, operátory a výrazy. Dalším klíčovým prvkem v programování je schopnost ovládat tok programu a rozhodovat, které části kódu se vykonají na základě určitých podmínek. V C# tuto funkci zajišťují podmínky a větvení kódu, což jsou příkazy umožňující provádět logická rozhodnutí během běhu programu. V této lekci se zaměříme na příkazy if, else if, else a switch, které tvoří základ větvení v C#.

1. Podmínky a příkaz if

Podmínky jsou základem rozhodovacích procesů v programu. V reálném světě neustále přijímáme rozhodnutí na základě různých podmínek – například „Pokud prší, vezmu si deštník“. V programování tento logický princip reprezentuje příkaz if, který nám umožňuje vykonat určitou část kódu pouze tehdy, když je daná podmínka splněna (tj. když je pravdivá).

Struktura příkazu if:

if (podmínka)
{
    // Kód, který se provede, pokud je podmínka true
}

Příkaz if vždy vyhodnocuje logický výraz, což je výraz, který vrací hodnotu true nebo false. Pokud je podmínka pravdivá (true), vykoná se blok kódu uvnitř složených závorek. Pokud podmínka není pravdivá (false), kód se přeskočí.

Příklad:

int vek = 18;

if (vek >= 18)
{
    Console.WriteLine("Jste plnoletí.");
}

V tomto příkladu program zkontroluje, zda hodnota proměnné vek je větší nebo rovna 18. Pokud ano (což je pravda v tomto případě), program vypíše text „Jste plnoletí“.

2. Příkaz else

Příkaz if sám o sobě nám umožňuje provést určitou část kódu, pokud je podmínka splněna. Co ale dělat, když chceme provést jiný kód v případě, že podmínka není splněna? K tomu slouží příkaz else.

Příkaz else se používá v kombinaci s if a definuje blok kódu, který se vykoná, pokud podmínka v if není splněna (tj. je false).

Struktura příkazu else:

if (podmínka)
{
    // Kód, který se provede, pokud je podmínka true
}
else
{
    // Kód, který se provede, pokud je podmínka false
}

Příklad:

int vek = 16;

if (vek >= 18)
{
    Console.WriteLine("Jste plnoletí.");
}
else
{
    Console.WriteLine("Nejste plnoletí.");
}

V tomto příkladu program nejprve zkontroluje, zda je věk uživatele 18 nebo více. Pokud ano, vypíše, že uživatel je plnoletý. Pokud ne (v tomto případě je uživateli 16), vypíše, že uživatel plnoletý není.

3. Příkaz else if

V některých případech potřebujeme vyhodnotit více než dvě možnosti. Můžeme použít více příkazů if, ale v praxi je lepší a čitelnější použít příkaz else if, který umožňuje přidat další podmínky mezi if a else.

Struktura příkazu else if:

if (podmínka1)
{
    // Kód, který se provede, pokud je podmínka1 true
}
else if (podmínka2)
{
    // Kód, který se provede, pokud je podmínka1 false a podmínka2 true
}
else
{
    // Kód, který se provede, pokud jsou podmínka1 i podmínka2 false
}

Příklad:

int vek = 16;

if (vek >= 18)
{
    Console.WriteLine("Jste plnoletí.");
}
else if (vek >= 15)
{
    Console.WriteLine("Můžete řídit moped.");
}
else
{
    Console.WriteLine("Jste ještě příliš mladí.");
}

V tomto příkladu program zkontroluje několik podmínek postupně. Nejprve zjistí, zda je uživateli 18 nebo více. Pokud ano, program vypíše, že uživatel je plnoletý. Pokud je uživateli méně než 18, ale více než 15, program vypíše, že uživatel může řídit moped. Pokud ani jedna z těchto podmínek není splněna, program vypíše, že uživatel je příliš mladý.

4. Zanořené podmínky

Podmínky lze také zanořovat – to znamená vkládat příkaz if do jiného příkazu if. Tímto způsobem můžeme vytvářet složitější logické struktury.

Příklad:

int vek = 20;
bool maRidicskyPrukaz = true;

if (vek >= 18)
{
    if (maRidicskyPrukaz)
    {
        Console.WriteLine("Můžete řídit auto.");
    }
    else
    {
        Console.WriteLine("Nemáte řidičský průkaz.");
    }
}
else
{
    Console.WriteLine("Jste příliš mladí na řízení auta.");
}

V tomto příkladu program nejprve zkontroluje, zda je uživateli alespoň 18 let. Pokud ano, zkontroluje se další podmínka – zda má uživatel řidičský průkaz. Na základě těchto podmínek program rozhodne, zda uživatel může řídit auto, nebo ne.

5. Příkaz switch

Pokud máme mnoho možností, které bychom museli ošetřovat pomocí více příkazů else if, stává se kód méně přehledným a složitým na údržbu. Pro tyto situace poskytuje C# příkaz switch, který je vhodný pro výběr jedné z mnoha možností na základě hodnoty proměnné.

Struktura příkazu switch:

switch (vyraz)
{
    case hodnota1:
        // Kód pro případ, kdy má výraz hodnotu1
        break;
    case hodnota2:
        // Kód pro případ, kdy má výraz hodnotu2
        break;
    // další case...
    default:
        // Kód, který se provede, pokud žádná z hodnot neodpovídá
        break;
}

Příkaz switch vyhodnotí výraz a porovná jeho hodnotu s jednotlivými case (případy). Pokud se nalezne odpovídající hodnota, vykoná se blok kódu pro tuto hodnotu. Příkaz break ukončí vykonávání příkazu switch a přenese kontrolu nad programem za tento blok.

Příklad:

int denVTydnu = 3;

switch (denVTydnu)
{
    case 1:
        Console.WriteLine("Pondělí");
        break;
    case 2:
        Console.WriteLine("Úterý");
        break;
    case 3:
        Console.WriteLine("Středa");
        break;
    case 4:
        Console.WriteLine("Čtvrtek");
        break;
    case 5:
        Console.WriteLine("Pátek");
        break;
    case 6:
        Console.WriteLine("Sobota");
        break;
    case 7:
        Console.WriteLine("Neděle");
        break;
    default:
        Console.WriteLine("Neplatný den v týdnu.");
        break;
}

V tomto příkladu program zkontroluje hodnotu proměnné denVTydnu. Pokud má hodnotu 3, vypíše „Středa“. Pokud by hodnota proměnné byla mimo rozsah 1 až 7, program by spustil blok kódu pod default a vypsal „Neplatný den v týdnu“.

6. Rozdíly mezi if a switch

  • Příkaz if je vhodnější pro složitější podmínky, které zahrnují logické operace (např. &&, ||), nebo pro podmínky

, které nelze vyjádřit jednoduchou hodnotou.

  • Příkaz switch je vhodnější, pokud máme jeden výraz, jehož hodnotu chceme porovnávat s několika předem definovanými možnostmi.

7. Logické operace a více podmínek

V praxi často potřebujeme kontrolovat více podmínek najednou. V takových případech používáme logické operátory jako && (AND) a || (OR), které jsme zmínili v předchozí lekci.

Příklad:

int vek = 20;
bool maRidicskyPrukaz = true;

if (vek >= 18 && maRidicskyPrukaz)
{
    Console.WriteLine("Můžete řídit auto.");
}
else
{
    Console.WriteLine("Nemůžete řídit auto.");
}

V tomto příkladu program zkontroluje, zda jsou obě podmínky pravdivé (věk alespoň 18 let a existence řidičského průkazu). Pokud ano, program vypíše, že uživatel může řídit auto. Pokud není alespoň jedna podmínka splněna, program vypíše, že uživatel auto řídit nemůže.

Závěr

Podmínky a větvení kódu jsou základním nástrojem pro řízení toku programu. Pomocí příkazů if, else if, else a switch můžeme rozhodovat, jaký kód se vykoná na základě různých podmínek. Tyto nástroje umožňují vytvářet interaktivní a dynamické aplikace, které reagují na různé vstupy a situace.

Pochopení podmínek je klíčové pro všechny programátory, protože větvení kódu je základem logických operací v každém programu. V dalších lekcích budeme tyto principy dále rozvíjet a aplikovat je na složitější problémy a scénáře.

Jirka

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners. View more
Cookies settings
Accept
Privacy & Cookie policy
Privacy & Cookies policy
Cookie name Active

Kdo jsme

Naše webová adresa je: https://www.jefta.cz.

Komentáře

Když návštěvníci zanechají na webu komentáře, shromažďujeme údaje zobrazené ve formuláři pro komentáře a také IP adresu návštěvníka a řetězec uživatelského agenta prohlížeče, abychom pomohli odhalit spam.

Anonymizovaný řetězec vytvořený z vaší e-mailové adresy (také nazývaný hash) může být poskytnut službě Gravatar, abyste zjistili, zda ji používáte. Zásady ochrany osobních údajů služby Gravatar jsou k dispozici zde: https://automattic.com/privacy/. Po schválení vašeho komentáře bude váš profilový obrázek viditelný pro veřejnost v kontextu vašeho komentáře.

Média

Pokud na web nahráváte obrázky, měli byste se vyhnout nahrávání obrázků s vloženými údaji o poloze (EXIF GPS). Návštěvníci webu si mohou stáhnout a extrahovat jakákoli data o poloze z obrázků na webu.

Soubory cookie

Pokud na našem webu zanecháte komentář, můžete se přihlásit k ukládání svého jména, e-mailové adresy a webu do souborů cookie. Jsou pro vaše pohodlí, abyste nemuseli znovu vyplňovat své údaje, když zanecháte další komentář. Tyto cookies vydrží jeden rok.

Pokud navštívíte naši přihlašovací stránku, nastavíme dočasný soubor cookie, abychom zjistili, zda váš prohlížeč přijímá soubory cookie. Tento soubor cookie neobsahuje žádné osobní údaje a po zavření prohlížeče je vyřazen.

Když se přihlásíte, nastavíme také několik souborů cookie pro uložení vašich přihlašovacích údajů a vašich voleb zobrazení obrazovky. Přihlašovací soubory cookie vydrží dva dny a soubory cookie možností obrazovky vydrží rok. Pokud zvolíte "Zapamatovat si mě", vaše přihlášení bude trvat dva týdny. Pokud se odhlásíte ze svého účtu, přihlašovací soubory cookie budou odstraněny.

Pokud upravíte nebo publikujete článek, uloží se do vašeho prohlížeče další cookie. Tento soubor cookie neobsahuje žádné osobní údaje a pouze označuje ID příspěvku článku, který jste právě upravili. Jeho platnost vyprší po 1 dni.

Vložený obsah z jiných webových stránek

Články na tomto webu mohou obsahovat vložený obsah (např. videa, obrázky, články atd.). Vložený obsah z jiných webových stránek se chová úplně stejně, jako kdyby návštěvník navštívil jinou webovou stránku.

Tyto webové stránky mohou shromažďovat údaje o vás, používat soubory cookie, vkládat další sledování třetích stran a monitorovat vaši interakci s tímto vloženým obsahem, včetně sledování vaší interakce s vloženým obsahem, pokud máte účet a jste na dané webové stránce přihlášeni.

S kým sdílíme vaše údaje

Pokud požádáte o resetování hesla, vaše IP adresa bude zahrnuta v e-mailu pro resetování.

Jak dlouho vaše údaje uchováváme

Pokud zanecháte komentář, bude komentář a jeho metadata uchována po neomezenou dobu. Je to proto, abychom mohli rozpoznat a schválit jakékoli následné komentáře automaticky, místo abychom je drželi ve frontě na moderování.

Pro uživatele, kteří se zaregistrují na našich webových stránkách (pokud existují), ukládáme také osobní údaje, které poskytují, v jejich uživatelském profilu. Všichni uživatelé mohou kdykoli zobrazit, upravit nebo smazat své osobní údaje (kromě toho, že nemohou změnit své uživatelské jméno). Správci webových stránek mohou tyto informace také zobrazit a upravovat.

Jaká práva máte nad svými údaji

Pokud máte účet na této stránce nebo jste zanechali komentáře, můžete požádat o zaslání exportovaného souboru osobních údajů, které o vás uchováváme, včetně všech údajů, které jste nám poskytli. Můžete také požádat, abychom vymazali veškeré osobní údaje, které o vás uchováváme. To nezahrnuje žádné údaje, které jsme povinni uchovávat pro administrativní, právní nebo bezpečnostní účely.

Kam se posílají vaše data

Komentáře návštěvníků mohou být kontrolovány prostřednictvím služby automatické detekce spamu.

Save settings
Cookies settings