Cyklus while
Představte si, že potřebujete vypsat čísla od 1 do 100. Mohli byste stokrát napsat printf, ale trvalo by to věčnost a jakákoli pozdější změna by byla ještě horší. Programy takovou opakovanou práci dělají pořád: projdou všechny žáky ve třídě, zkontrolují každé zboží v obchodě nebo 60krát za sekundu překreslí obrazovku hry. K tomu slouží cykly. Cyklus je část kódu, která se provádí znovu a znovu.
Nejjednodušší je cyklus while (dokud). Opakuje blok kódu, dokud platí jeho podmínka:
int cislo = 1;
while (cislo <= 5) {
printf("%d\n", cislo);
cislo++;
}Vypíše:
1
2
3
4
5Cyklus while vypadá podobně jako if: klíčové slovo, podmínka v kulatých závorkách a blok kódu ve složených závorkách. Rozdíl je v tom, že if provede svůj blok nejvýše jednou, kdežto while se k podmínce stále vrací. Krok za krokem:
- Program vytvoří proměnnou
cislos hodnotou1. - Zkontroluje podmínku
cislo <= 5. Platí, takže program provede blok: vypíše1acislo++zvýšícislona2. - Vrátí se k podmínce.
2 <= 5stále platí, takže vypíše2a zvýšícislona3. - A tak dále, dokud nebude
cislorovno6. Pak podmínka neplatí, cyklus skončí a program pokračuje kódem za uzavírací složenou závorkou}cyklu.
Jednomu provedení bloku se říká průchod cyklem (také iterace). Tento cyklus má pět průchodů. Kdybyste chtěli vypsat čísla až do 100, stačilo by změnit 5 na 100.
Blok cyklu odsazujte o 4 mezery, stejně jako blok if. Na první pohled pak uvidíte, co se opakuje. Kód za cyklem se provede jen jednou, až cyklus skončí:
int cislo = 1;
while (cislo <= 3) {
printf("%d\n", cislo);
cislo++;
}
printf("Hotovo\n");1
2
3
HotovoVšimněte si řádku cislo++. Něco v bloku musí měnit proměnnou z podmínky, aby podmínka jednou přestala platit. Bez toho by cyklus nikdy neskončil. Co se pak stane, uvidíte v dalším cvičení.
Jak psát:
Pokyny
Smažte tři řádky, které vypisují 1, 2 a 3. Místo nich vytvořte proměnnou cislo typu int s hodnotou 10. Cyklus s ní bude počítat.
Pod ni napište cyklus while, který poběží, dokud bude cislo menší nebo rovno 20. V cyklu vypište cislo na samostatný řádek a potom ho zvyšte o 1. Program vypíše čísla od 10 do 20, každé na samostatném řádku.
Za cyklem, pod jeho uzavírací složenou závorkou }, vypište Po cyklu: a hodnotu proměnné cislo. Poslední řádek výpisu bude Po cyklu: 21. Proměnná skončí na 21, a ne na 20, protože se cyklus zastaví, až když podmínka neplatí.
Začněte programovat zdarma
1/11