Algoritmus a vazba na program
Je důležité si uvědomit, že dosud počítače nejsou schopné zcela samostatného myšlení. Pro provádění výpočtů a obecně zpracování dat je třeba vytvořit jasné postupy - algoritmy zpracování.
1. Algoritmus a vazba na program
1.10. Cyklus
Pokud je nějaká činnost pravidelně opakována, je vhodné použít bloky zachycující cyklus. V zásadě jde o dva typy cyklů – podmíněný (cyklus s podmínkou na začátku a na konci) a nepodmíněný (cyklus s krokem).
Cyklus s podmínkou na konci
Prvním příkladem podmíněného cyklu je cyklus s testem podmínky na konci, který nalezneme v aplikaci Flowgorithm pod značkou Do – viz Obrázek 1.
![]()
Obrázek 1: Značka cyklu s podmínkou na konci - bez větví
Proces uvnitř tohoto
cyklu je ukončen potom, co není splněna podmínka, tzn. větev False. Pokud nastane situace, že nedojde ke
splnění podmínky, proces uvnitř cyklu již není nadále prováděn a dochází k
opuštění cyklu ve směru větve True. U typu cyklu s podmínkou na
konci musí proces proběhnout minimálně jednou - viz Obrázek 2.

Obrázek 2: Značka cyklu s podmínkou na konci - obě větve
Algoritmus KalkulackaPodprogramyZadejKodOperace
- Popis: Vývojový diagram funkce pro zadání číselného kódu operace pomocí cyklu s podmínkou na konci
- Zadání: Na základě předchozího algoritmu KalkulackaPodprogramy zkuste navrhnout funkci ZadejKodOperace, která řeší zadání platného číselného kódu podle vypsaného číselníku kódů aritmetických operací pomocí cyklu s podmínkou na konci. Zadání číselného kódu bude probíhat neustále, dokud nebude definován validní (správný) číselný kód aritmetické operace (1 … sčítání, 2 … odečítání, 3 … násobení, 4 … dělení)
Cyklus s podmínkou na začátku
Dalším typem opakování je cyklus s podmínkou na začátku, kterou nalezneme v aplikaci Flowgorithm pod značkou While – viz Obrázek 3.
![]()
Obrázek 3: Značka cyklu s podmínkou na začátku - bez větví
Proces uvnitř tohoto cyklu je prováděn do té doby, dokud je splněna podmínka, tzn. větev True za rozhodovacím blokem - viz Obrázek 4.

Obrázek 4: Značka cyklu s podmínkou na začátku - obě větve
Pokud nastane situace, že podmínka není splněna, smyčka cyklu již není nadále prováděna, tj. opuštění cyklu pomocí větve False. Je nutné podotknout, že proces uvnitř cyklu (uvnitř větve True) nemusí být proveden ani jednou, pokud nastane situace, že podmínka definovaná v cyklu, není při počátečním průchodu cyklem splněna.
Všimněte si, že princip opuštění tohoto cyklu je opačný než u předchozího
cyklus s testem podmínkou na konci.
Algoritmus KalkulackaPodprogramyVydelParametry
- Popis: Vývojový diagram funkce pro dělení zadaných čísel pomocí cyklu s podmínkou na začátku
- Zadání: Na základě předchozího algoritmu KalkulackaPodprogramy zkuste modifikovat funkci VydelParametry, která provádí aritmetickou operaci dělení dvou zadaných čísel, které jsou vstupními argumenty této funkce (formální parametry). Řešte tento problém pomocí cyklu s podmínkou na začátku. Uvnitř cyklu opakujte zadání hodnoty jmenovatele pomocí funkce ZadejCislo, dokud je jmenovatel nulový
Cyklus s krokem
Závěrečným typem tzv. nepodmíněného
cyklu je cyklus s krokem , kterou naleznete v aplikaci Flowgorithm pod značkou For – viz Obrázek 5.
![]()
Obrázek 5: Značka cyklu s krokem - bez větví
Z cyklu vycházejí dvě větve - Next a Done. Větev Next symbolizuje vnitřní smyčku cyklu, do níž budeme umísťovat jednotlivé značky, které budeme chtít opakovat. Větev Done symbolizuje ukončení cyklu - viz Obrázek 6.

Obrázek 6: Značka cyklu s krokem - obě větve
Tento cyklus použijeme zejména tehdy, pokud víme, kolik proběhne smyček uvnitř cyklu, tedy je znám počet iterací. V průběhu těchto iterací je měněna hodnota tzv. čítače označovaného také jako řídící proměnná. Označme tuto řídící proměnnou písmenem i. U cyklu určujeme následující vlastnosti - viz Obrázek 7:
- Řídící proměnnou (čítač) - označme např. i
- Počáteční hodnota - dolní mez intervalu hodnot, kterých může nabývat čítač - označme např. a
- Konečná hodnota - horní mez intervalu hodnot, kterých může nabývat čítač - označme např. b
- Krok tzv. inkrement - hodnota přírůstku, nebo úbytku čítače v další smyčce
- Směr - hodnota řídící proměnné v každé smyčce cyklu buď roste (vzestupně) nebo klesá (sestupně) o specifikovaný krok

Obrázek 7: Značka cyklu s krokem - specifikace vlastností
Pojďme si vysvětlit princip postupně. Hodnota čítače je před provedením cyklu nastavena na specifikovanou počáteční hodnotu a. Po každém provedení smyčky přičte ke své aktuální hodnotě specifikovanou hodnotu kroku (inkrementu). Nejčastěji je hodnota kroku rovna jedné. Po proběhnutí specifikovaného počtu iterací, tedy že čítač překročil definovanou konečnou hodnotu b, je tento cyklus opuštěn a proces uvnitř cyklu již není nadále vykonáván. Každý proces uvnitř smyčky proběhne (b – a) + 1 – krát, pokud ve smyčce nedojde k násilnému ukončení probíhajícího cyklu.
Algoritmus KalkulackaPodprogramyZadejKodOperaceGrafika
- Popis: Vývojový diagram modifikované funkce pro zadání číselného kódu operace pomocí cyklu s krokem
- Zadání: Na základě předchozího algoritmu KalkulackaPodprogramy zkuste modifikovat funkci ZadejKodOperace. Do výpisu informujícího uživatele o možnostech zadání číselného kódu aritmetické operace vložte před výpis a za výpis textu (uloženého v proměnné vyzva) grafický prvek. Tento grafický prvek (uložený v proměnné grafika) představuje znaky hvězdiček, tj. "*" umístěné v řádce za sebou. Jejich počet je roven délce počtu znaků textu výzvy (uložené v proměnné delkaVyzvy). Jednotlivé grafické prvky oddělte od výpisu výzvy novým řádkem (nová řádka, tj. ToChar(10) - znak v ASCII)
Řešení: