
Opakování, cykly
Nadřazené: Algoritmické myšlení
Předcházející: Posloupnost příkazů
Navazující: Cyklus for v Pythonu, Ladění, hledání chyb, Proměnné, Funkce
Kdybychom všechny algoritmy vyjadřovali jako prostou posloupnost akcí, byly by často velmi dlouhé a nepřehledné. Proto se snažíme v problémech hledat pravidelnosti a vzory a ty následně vyjádřit v algoritmu pomocí opakovaného provádění stejných instrukcí.
Jak opakování vyjádříme? Musíme říct, co se má opakovat a kolikrát se to má opakovat. Takto například dáme želvě pokyn, aby vykreslila čtverec (který se skládá ze 4 stejných stran):

Při zápisu opakování musíme dávat dobrý pozor na to, co je součástí cyklu a co je mimo něj. Příklad:

První příklad opakuje pouze vykreslování jablek, kreslení jahody je mimo cyklus. Ve druhém příkladě se opakuje vykreslování jablek i jahod. Ve třetím příkladě nejdříve nakreslíme tři jablka, potom tři jahody.
V programovacích jazycích se pro zápis cyklů využívají příkazy for a while.
Vysvětlení mi pomohlo Vysvětlení mi nepomohlo

Rozhodovačka
Rychlé procvičování výběrem ze dvou možností.

Opakování, cykly (lehké)
41 Zadání
Typicky zabere: 5 min
Ukázka




Opakování, cykly (střední)
38 Zadání
Typicky zabere: 6 min
Ukázka
Zjednodušte kód:



Opakování, cykly (těžké)
38 Zadání
Typicky zabere: 8 min
Ukázka
Zjednodušte kód:


Opakovací kouzla (lehké)
43 Zadání
Typicky zabere: 8 min
Ukázka
Doplňte část kouzla pod kaňkou.



Opakovací kouzla (střední)
40 Zadání
Typicky zabere: 8 min
Ukázka




Cykly s proměnnými (střední)
44 Zadání
Typicky zabere: 14 min
Ukázka




Cykly s proměnnými (těžké)
40 Zadání
Ukázka




Pexeso
Hledání dvojic, které k sobě patří.

Želví obrázky (s opakováním) (střední)
8 Zadání
Typicky zabere: 10 min
Ukázka



Přesouvání
Přesouvání kartiček na správné místo. Jednoduché ovládání, zajímavé a neotřelé úlohy.

Sběr vlajek (lehké)
15 Zadání
Typicky zabere: 5 min

Sběr vlajek (střední)
15 Zadání
Typicky zabere: 5 min

Včelí smyčky (lehké)
13 Zadání
Typicky zabere: 6 min

Včelí smyčky (střední)
15 Zadání
Typicky zabere: 9 min

Želví grafika
Naprogramujte želvu, aby kreslila pěkné obrázky. Želva rozumí pokynům jako je „jdi dopředu“ či „zatoč doprava“. Programy tvoříte pomocí přetahování grafických bloků. Začněte s jednoduchými obrázky a pokračujte až k fraktálům.
Jednoduché kreslení
Přidáme želvě možnost opakovat příkazy, díky čemuž zvládne vykreslit už trochu zajímavější obrázky.
Kreslení
Aby to kreslení nebylo tak fádní, naučíme želvu malovat barevně a zvedat štětec.
Vzory s opakováním
Když správně použijete vnořené opakování, želva dokáže vykreslit zajímavé obrazce.
Kreslení II
A teď si zkusíme nakreslit pár obrázků z (želvího) života. Kreslení těchto obrázků není sice úplně jednoduché, ale nevyžaduje žádný složitý nápad.
Vzory s opakováním II
Pár dalších vzorů s pravidelným opakováním. Některé vypadají komplikovaně, ale jdou všechny vykreslit snadno. Jen je potřeba se na ně správně podívat.
Želva s limitem
V této sadě máte za úkol psát pro želvu krátké programy – každá úloha má limit na počet příkazů. Dokážete najít ten správný, stručný zápis programu?

ProgMalování
ProgMalování je zábavná kombinace programování a malování. Úkolem je nakreslit zajímavé obrázky pomocí programů, které tvoříte přetahováním připravených bloků.
Vzory s opakováním
Zde máme navíc příkaz pro opakování, což umožňuje vykreslovat pěkné vzory.