Kromě základních cyklů s pevně daným počtem opakování využíváme často v algoritmech i cyklus typu opakuj dokud. Tento cyklus se opakuje tak dlouho, dokud je splněna zadaná podmínka. V programovacích jazycích se pro zápis tohoto typu cyklu využívá příkaz while.
Pozor na rozdíl oproti podobně znějícímu podmíněnému příkazu pokud. Tělo příkazu pokud se provede nejvýše jednou, zatímco tělo příkazu dokud se může provádět opakovaně.
Všimněte si, že po provedení cyklu podmínka neplatí (vláček není na žlutém políčku). Podmínka se vyhodnocuje ještě před prvním vykonáním těla cyklu. Pokud není splněna, tak se tělo cyklu neprovede ani jednou:
Jako u všech řídicích bloků musíme dávat dobrý pozor na to, co je součástí cyklu a co je mimo něj:
Podmínka se kontroluje vždy před provedením celého bloku, nikoliv po každém příkazu:
Při vyjadřování podmínek často využíváme logické spojky (a zároveň, nebo, negace):
Rozhodovačka
Rychlé procvičování výběrem ze dvou možností.
Opakuj dokud (lehké)
zadání: 30
Typicky zabere: 8 min
Opakuj dokud (střední)
zadání: 48
Typicky zabere: 8 min
Opakuj dokud (těžké)
zadání: 49
Typicky zabere: 8 min
Vláček: opakuj dokud (střední)
zadání: 40
Typicky zabere: 8 min
Deaktivace bomby: opakuj dokud (střední)
zadání: 41
Typicky zabere: 12 min
Přesouvání
Přesouvání kartiček na správné místo. Jednoduché ovládání, zajímavé a neotřelé úlohy.
Vláček: opakuj dokud (střední)
zadání: 21
Typicky zabere: 10 min
Krok po kroku
Doplňování jednotlivých kroků v rozsáhlejším postupu.
Opakuj dokud (střední)
zadání: 11
Typicky zabere: 7 min
Stavitel
Pomocí blokového programování vytvořte program pro stavitele Standu.
Opakuj dokud
Tentokrát vyzkoušíme formu příkazu opakuj
s využitím podmínek.
Opakuj dokud: těžší
Mírně náročnější úkoly využívající cyklus opakuj dokud
.
Kód kostky
Navigujte kostku po plánu podle zadaného programu. Procvičení schopnosti číst programy.
Opakuj dokud
Doposud jsme měli cykly se zadaným počtem opakování. Nyní využijeme opakování podle podmínky.