Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

For

Cyklus for je v podstatě zkrácený zápis while s počítadlem. Proměnná se nemusí vytvářet nad ním, naopak je přímo jeho součástí. Stejně tak je součástí i zvyšování její hodnoty. Zápis začíná slůvkem for a následnými závorkami. Ty se dělí na tři části:

  • vytvoření proměnné pro počítání,
  • logický výraz porovnávající tuto proměnnou s jiným číslem a
  • operace, která se má s proměnnou provést na konci každého průchodu.

Tyto části jsou odděleny pomocí středníků. Příklad:

for (int i = 0; i < 3; i++)
{
    Console.WriteLine("Hello, world!");
}

V cyklu bude použita celočíselná proměnná i – to je konvenční a nejběžnejší název pro proměnnou ve foru. Zpočátku je nastavena na 0 – ne 1, jak by se mohlo zdát rozumnější. Důvod počítání od nuly poznáme v dalším měsíci Pardubického hackera. Cyklus se bude vykonávat, dokud bude i menší než 3. Po každém průchodu se zvýší o 1. Tento kód tedy vypíše zprávu třikrát.

Proměnná for cyklu se zachovává mezi průchody – nenastavuje se pokaždé na 0. Jakmile skončí opakování, je smazána a pod cyklem se k ní nedá přistoupit. Pro proměnnou je možné zvolit jiný datový typ, název, podmínku i způsob navyšování (nebo snižování). Velmi často se hodí hodnotu použít nejen jako počítadlo, ale také přistoupit k její hodnotě. Příklad:

for (int i = 1; i <= 5; i++)
{
    Console.WriteLine(i * 3);
}

Cyklus běží s i od 1 do 5. V každém průchodu vypíše hodnotu i vynásobenou 3, ve výsledku tedy prvních pět násobků trojky:

3
6
9
12
15

Další častou praktikou je také cykly do sebe zanořovat. Hodnoty jejich proměnných je pak možné různě kombinovat. Protože nelze využít stejný název uvnitř těla podruhé, proměnná zanořeného cyklu je většinou pojmenována j. Příklad:

for (int i = 0; i < 3; i++)
{
    for (int j = 0; j < 3; j++)
    {
        Console.Write("i: ");
        Console.Write(i);
        Console.Write(", ");
        Console.Write("j: ");
        Console.WriteLine(j);
    }
}

V každém opakování for cyklu s i se zároveň provedou všechny tři průchody zanořeného for cyklu s j. Výstup:

i: 0, j: 0
i: 0, j: 1
i: 0, j: 2
i: 1, j: 0
i: 1, j: 1
i: 1, j: 2
i: 2, j: 0
i: 2, j: 1
i: 2, j: 2

Tento program není příliš zajímavý. Použití různých matematických operací mezi i a j, případně zapojení dalších podmínek však skýtá skutečně širokou škálu využití.

Pozn.: Zápis for v Pythonu je poměrně odlišný a kombinuje se s range. Přesnou syntaxi necháme na vašem dohledání.