===== Iterace - cyklus ===== Často potřebujeme, aby program prováděl určitou činnost opakovaně - obecně tento postup můžeme nazvat **iterace**. **Cyklus** je jedna z nejjednoduších forem iterace, kdy definujeme specifickou **podmínku na začátku nebo konci** příkazu/bloku příkazů, které chceme opakovat, dokud je tato podmínka platná (''true''). Pokud je podmínka vyhodnocena jako neplatná (''false''), program pokračuje dalšími příkazy následujícími po cyklu. Pokud předem víme, kolikrát má cyklus proběhnout, nebo poutřebujeme partikulární proměnnou určijící jednotlivé iterace cyklu, můžeme použít tzv. **cyklus s řídící proměnnou**. V souhrnu tedy existují 3 druhy cyklů: * Cyklus s [[ccpp:cykluswhile|podmínkou na začátku]] - **while** * Cyklus s [[ccpp:cyklusdowhile|podmínkou na konci]] - **do-while** * Cyklus s [[ccpp:for-loop|řídící proměnnou]] - **for** Obecně jsou všechny druhy uvedených cyklu vzájemně zaměnitelné, volba nejvhodnějšího záleží na kontextu dané úlohy. Tělo cyklu **[[ccpp:cykluswhile|while]]** i cyklu **[[ccpp:for-loop|for]]** nemusí proběhnout ani jednou. Tělo cyklu **[[ccpp:cyklusdowhile|do while]]** vždy musí proběhnout minimálně jednou. ===== Příklad ===== Babička před vás postaví mísu buchet s tím, že * Cyklus **[[ccpp:for-loop|for]]** - si máte vzít 4 buchty. * Cyklus **[[ccpp:cykluswhile|while]]** - můžete jíst, dokud je co. (Pokud si budete hrát s mobilem, může se stát, že všechny buchty sní bratr). * Cyklus **[[ccpp:cyklusdowhile|do while]]** - máte jíst, dokud nebude mísa prázdná (bratr si hraje s mobilem a nejí).