Lekce 5: Cykly v C# – For, While a Do-While smyčky

Lekce 5: Cykly v C# – For, While a Do-While smyčky

Programování je často o opakování úkolů, což může být únavné, pokud by se muselo psát stejné části kódu opakovaně. Naštěstí v programovacím jazyce C# existují nástroje, které nám pomáhají efektivně opakovat operace – tyto nástroje nazýváme cykly nebo smyčky. Cykly umožňují vykonávat určitý blok kódu několikrát, dokud není splněna nějaká podmínka. V této lekci se zaměříme na tři hlavní typy cyklů v C#: for, while a do-while smyčky.

Proč potřebujeme cykly?

Cykly nám umožňují provádět určité akce opakovaně bez nutnosti psát stále stejný kód. Představme si situaci, kdy bychom měli vypisovat čísla od 1 do 100. Bez cyklů bychom museli psát 100 řádků kódu, což by bylo neefektivní a náchylné k chybám. Pomocí cyklů můžeme tento úkol zjednodušit na několik řádků, přičemž program provede stejnou akci s každým opakováním.

Typy cyklů v C

V C# máme k dispozici několik typů cyklů, které se používají podle toho, jak chceme cyklus řídit. Mezi hlavní patří:

  1. For smyčka – Používá se, když víme, kolikrát chceme cyklus opakovat.
  2. While smyčka – Používá se, když nevíme přesný počet opakování a chceme cyklus opakovat, dokud je splněna nějaká podmínka.
  3. Do-While smyčka – Podobná smyčce while, ale zajistí, že kód se provede alespoň jednou, i když podmínka není splněna.

Nyní si každý z těchto typů cyklů rozebereme podrobněji.

1. For smyčka

Smyčka for je pravděpodobně nejčastěji používaný typ cyklu. Používá se v situacích, kdy víme, kolikrát chceme smyčku opakovat. Typicky se používá pro procházení posloupností, jako jsou pole nebo seznamy, nebo pro jednoduché opakování pevně stanoveného počtu iterací.

Syntaxe smyčky for:

for (inicializace; podmínka; aktualizace)
{
    // Blok kódu, který se opakuje
}
  • Inicializace: Tento krok se provede jednou, na začátku cyklu, a obvykle se v něm nastaví počáteční hodnota počítadla (např. int i = 0).
  • Podmínka: Smyčka se bude opakovat, dokud je tato podmínka splněna (tj. true). Pokud podmínka není splněna (tj. false), smyčka se ukončí.
  • Aktualizace: Tento krok se provede po každé iteraci smyčky. Obvykle se zde upravuje hodnota počítadla (např. i++).

Příklad:

for (int i = 1; i <= 5; i++)
{
    Console.WriteLine("Iterace číslo: " + i);
}

V tomto příkladu se smyčka for spustí 5krát. Na začátku se nastaví proměnná i na 1. Smyčka se bude opakovat, dokud je i menší nebo rovno 5. Po každé iteraci se hodnota i zvýší o 1. Výstupem tohoto kódu bude:

Iterace číslo: 1
Iterace číslo: 2
Iterace číslo: 3
Iterace číslo: 4
Iterace číslo: 5

2. While smyčka

Smyčka while je vhodná pro situace, kdy nevíme předem, kolikrát se smyčka bude opakovat, ale víme, že chceme pokračovat, dokud je splněna určitá podmínka. Smyčka while kontroluje podmínku před každým opakováním, což znamená, že pokud je podmínka na začátku nepravdivá, smyčka se nemusí vykonat vůbec.

Syntaxe smyčky while:

while (podmínka)
{
    // Blok kódu, který se opakuje, dokud je podmínka true
}
  • Podmínka: Smyčka se bude opakovat, dokud je podmínka pravdivá (tj. true). Pokud je podmínka nepravdivá (tj. false), smyčka se ukončí.

Příklad:

int i = 1;

while (i <= 5)
{
    Console.WriteLine("Iterace číslo: " + i);
    i++;
}

V tomto příkladu začínáme s proměnnou i nastavenou na hodnotu 1. Smyčka se bude opakovat, dokud je i menší nebo rovno 5. Po každé iteraci se hodnota i zvýší o 1. Výstupem bude opět:

Iterace číslo: 1
Iterace číslo: 2
Iterace číslo: 3
Iterace číslo: 4
Iterace číslo: 5

3. Do-While smyčka

Smyčka do-while je velmi podobná smyčce while, ale s jedním důležitým rozdílem: smyčka do-while vždy provede svůj blok kódu alespoň jednou, i když je podmínka na začátku nepravdivá. Kontrola podmínky se totiž provádí až po první iteraci.

Syntaxe smyčky do-while:

do
{
    // Blok kódu, který se opakuje
}
while (podmínka);
  • Podmínka: Smyčka se opakuje, dokud je podmínka pravdivá (tj. true). Podmínka se kontroluje po provedení kódu, což znamená, že smyčka proběhne minimálně jednou.

Příklad:

int i = 1;

do
{
    Console.WriteLine("Iterace číslo: " + i);
    i++;
}
while (i <= 5);

Tento kód je podobný příkladu s while, ale v tomto případě se kód uvnitř smyčky provede alespoň jednou, bez ohledu na to, zda je podmínka pravdivá. Výstup bude stejný:

Iterace číslo: 1
Iterace číslo: 2
Iterace číslo: 3
Iterace číslo: 4
Iterace číslo: 5

Kdybychom ale změnili počáteční hodnotu proměnné i na 6, smyčka by se vykonala jen jednou, protože podmínka se kontroluje až po první iteraci:

int i = 6;

do
{
    Console.WriteLine("Iterace číslo: " + i);
    i++;
}
while (i <= 5);

V tomto případě by výstup byl:

Iterace číslo: 6

4. Zanořené cykly

V některých případech je třeba použít zanořené cykly – to znamená použít jeden cyklus uvnitř druhého. To je velmi užitečné například při práci s vícerozměrnými poli nebo při generování kombinací dat.

Příklad zanořených cyklů:

for (int i = 1; i <= 3; i++)
{
    for (int j = 1; j <= 2; j++)
    {
        Console.WriteLine("i = " + i + ", j = " + j);
    }
}

Tento kód obsahuje dva cykly for – vnější a vnitřní. Vnější cyklus běží třikrát (pro i od 1 do 3) a pro každou hodnotu i proběhne vnitřní cyklus dvakrát (pro j od 1 do 2). Výstup bude následující:

i = 1, j = 1
i =

 1, j = 2
i = 2, j = 1
i = 2, j = 2
i = 3, j = 1
i = 3, j = 2

Zanořené cykly jsou výkonný nástroj, ale je důležité je používat opatrně, protože mohou zvýšit složitost a výpočetní náročnost programu.

5. Ukončení a pokračování v cyklech: Break a Continue

V některých případech je třeba předčasně ukončit smyčku nebo přeskočit určité iterace. K tomu slouží příkazy break a continue.

  • Break: Ukončí cyklus úplně a přesune tok programu za smyčku.
  • Continue: Přeskočí zbytek aktuální iterace a pokračuje na další iteraci.

Příklad s příkazem break:

for (int i = 1; i <= 5; i++)
{
    if (i == 3)
    {
        break;  // Ukončí smyčku, jakmile i je rovno 3
    }
    Console.WriteLine(i);
}

Výstup:

1
2

Příklad s příkazem continue:

for (int i = 1; i <= 5; i++)
{
    if (i == 3)
    {
        continue;  // Přeskočí aktuální iteraci, když i je rovno 3
    }
    Console.WriteLine(i);
}

Výstup:

1
2
4
5

Závěr

Cykly jsou základním nástrojem pro opakování operací v programování. V C# máme několik typů cyklů – for, while a do-while – které umožňují opakovaně provádět bloky kódu na základě určitých podmínek. Kromě základních cyklů jsme se seznámili s jejich zanořováním a naučili se, jak pomocí příkazů break a continue kontrolovat průběh smyček.

Správné používání cyklů je klíčové pro efektivní psaní kódu, zejména při práci s větším množstvím dat nebo při opakování složitých operací. V dalších lekcích budeme na tyto základy navazovat a podíváme se na pokročilejší techniky v C# pro zpracování dat.

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