====== Cyklus while ====== Cyklus while je cyklem s podmínkou na začátku. Nejprve se vyhodnotí podmínka a pokud platí, provede se příkaz/blok cyklu. Pak se znovu vyhodnotí podmínka a opět se provede tělo cyklu. Cyklus skončí, až podmínka nebude platit. Cyklus while se skládá ze dvou částí: * Podmínka * klíčové slovo **while** * podmínka cyklu * Příkaz/blok příkazů které se budou vykonávat ===== Syntaxe cyklu while ===== // S jedním příkazem while (podminka) prikaz; // S blokem příkazů while (podminka) { prikaz1; prikaz2; // ... prikazN; } ==== Poznámky ==== * Podmínka cyklu nemusí být platná už před první iterací. Cyklus pak nevykoná ani jednu iteraci. * Cykly while a for se dají mezi sebou navzájem transformovat. * Pokud bude podmínka vždy pravdivá (tautologie), dojede k zacyklení programu v místě cyklu. ===== Průběh cyklu while ===== - **ověření podmínky** - podmínka platí - **vykonání těla cyklu** - **jdi zpět na ověření podmínky** - podmínka neplatí - **konec cyklu** ===== Ukázky ===== ==== Výpis čísel od 1 do 10 pomocí cyklu while ==== int cislo = 1; // Inicializujeme řídící proměnnou while (cislo <= 10) // Podmínka cyklu { printf("%d\n", cislo); // Příkaz cyklu cislo++; // Zvětšení hodnoty o jedničku } ==== Ekvivalentní výpis čísel od 1 do 10 pomocí cyklu for ==== for (int cislo = 1; cislo <= 10; cislo++; ) // Inicializační část; Podmínka cyklu; Aktualizační část { printf("%d\n", cislo); // Příkaz cyklu } ===== Příklady k procvičení ===== * Výpis čísel od 10 do 1 * Vypsat N-krát znak * (N je celé číslo ze vstupu) * Výpis násobků zadaného čísla N (1 * N, 2 * N, ... 10 * N) * Výpis celých čísel v zadaném intervalu , (A, B>, nebo (A, B)