Cyklus je základní řídicí struktura, která umožňuje efektivně opakovat vybrané části algoritmu. Přispívá k přehlednosti a snižuje duplicitu algoritmu.

Základní struktura

Každý cyklus se skládá z několika základních částí. Konkrétně zahrnuje podmínku, která určuje, jak se cyklus bude opakovat a kdy skončí, a samotné tělo cyklu, tj. sadu bloků, jež se mají v každé iteraci vykonat.

V algoritmizaci rozlišujeme dva základní typy cyklů: cyklus s podmínkou na začátku a cyklus s podmínkou na konci. Obecně platí, že většinu úloh lze s drobnou úpravou zapsat oběma způsoby.

Cyklus s podmínkou na začátku

Cyklus s podmínkou na začátku nejprve ověří platnost podmínky. Pokud je splněna, provede se tělo cyklu.

Cyklus s podmínkou na začátku v jazyku vývojových diagramů

Cyklus s podmínkou na začátku v jazyku vývojových diagramů

<aside> <img src="/icons/light-bulb_yellow.svg" alt="/icons/light-bulb_yellow.svg" width="40px" />

Tento typ cyklu se v programovacích jazycích obvykle označuje jako cyklus while.

</aside>

Cyklus s podmínkou na konci

V tomto případě je jediným rozdílem to, kde se podmínka vyhodnocuje. Na rozdíl od předchozího typu je zde zaručeno, že tělo cyklu se vykoná alespoň jednou.

Cyklus s podmínkou na konci v jazyku vývojových diagramů

Cyklus s podmínkou na konci v jazyku vývojových diagramů

<aside> <img src="/icons/light-bulb_yellow.svg" alt="/icons/light-bulb_yellow.svg" width="40px" />

Tento typ cyklu se v programovacích jazycích obvykle označuje jako cyklus do-while.

</aside>

Příklady

Níže jsou uvedeny některé příklady práce s cykly. Nejde o jediné správné řešení.

Vypisování čísel do hodnoty max

Zadejte číslo – maximum. Sestavte algoritmus, který vypíše všechna celá čísla až po zadané maximum (maximum samotné se nevypíše).

Vypisování čísel do hodnoty max v jazyku vývojových diagramů

Vypisování čísel do hodnoty max v jazyku vývojových diagramů

Kontrola vstupu

Zadejte číselnou hodnotu. Algoritmus zajistí, že hodnota bude kladná; pokud ne, bude program opakovaně načítat nové číslo. Následně hodnotu vypište.

Kontrola vstupu v jazyku vývojových diagramů

Kontrola vstupu v jazyku vývojových diagramů