Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
| ccpp:cykluswhile [2021/12/06 11:54] – bures | ccpp:cykluswhile [2021/12/22 14:03] (aktuální) – bures | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| ====== Cyklus while ====== | ====== Cyklus while ====== | ||
| - | Cyklus while je cyklem s podmínkou na začátku. Nejprve se vyhodnotí podmínka | + | Cyklus while je cyklem s podmínkou na začátku. Nejprve se vyhodnotí podmínka |
| Cyklus while se skládá ze dvou částí: | Cyklus while se skládá ze dvou částí: | ||
| - | * hlavička | + | * Podmínka |
| * klíčové slovo **while** | * klíčové slovo **while** | ||
| * podmínka cyklu | * podmínka cyklu | ||
| - | * tělo cyklu | + | * Příkaz/blok příkazů které |
| - | * vlastní příkaz, nebo blok kódu, který | + | |
| ===== Syntaxe cyklu while ===== | ===== Syntaxe cyklu while ===== | ||
| <code c> | <code c> | ||
| - | // S jedním příkazem | + | // S jedním příkazem |
| while (podminka) | while (podminka) | ||
| prikaz; | prikaz; | ||
| - | // S blokem příkazů | + | // S blokem příkazů |
| while (podminka) | while (podminka) | ||
| { | { | ||
| prikaz1; | prikaz1; | ||
| prikaz2; | prikaz2; | ||
| - | //... | + | // ... |
| + | prikazN; | ||
| } | } | ||
| </ | </ | ||
| Řádek 28: | Řádek 27: | ||
| * Podmínka cyklu nemusí být platná už před první iterací. Cyklus pak nevykoná ani jednu iteraci. | * 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. | * Cykly while a for se dají mezi sebou navzájem transformovat. | ||
| - | * V těle cyklu musí být příkaz, který má vliv na podmínku. Jinak dojede k zacyklení programu. | + | * Pokud bude podmínka vždy pravdivá (tautologie), dojede k zacyklení programu |
| ===== Průběh cyklu while ===== | ===== Průběh cyklu while ===== | ||
| Řádek 41: | Řádek 40: | ||
| ==== Výpis čísel od 1 do 10 pomocí cyklu while ==== | ==== Výpis čísel od 1 do 10 pomocí cyklu while ==== | ||
| <code c> | <code c> | ||
| - | int cislo = 1; // Inicializační část; | + | int cislo = 1; // Inicializujeme řídící proměnnou |
| - | while (cislo <= 10) //Podmínka cyklu | + | while (cislo <= 10) // Podmínka cyklu |
| { | { | ||
| printf(" | printf(" | ||
| - | cislo++; //Aktualizační část | + | cislo++; // Zvětšení hodnoty o jedničku |
| } | } | ||
| </ | </ | ||
| Řádek 55: | Řádek 54: | ||
| } | } | ||
| </ | </ | ||
| - | ==== Největší společní dělitel čísel X a Y ==== | + | |
| - | <code c> | + | ===== Příklady k procvičení ===== |
| - | while(X != Y) | + | * Výpis čísel od 10 do 1 |
| - | if (X > Y) X = X - Y | + | * Vypsat N-krát znak * (N je celé číslo ze vstupu) |
| - | else Y = Y - X | + | * Výpis násobků zadaného čísla N (1 * N, 2 * N, ... 10 * N) |
| - | printf(" | + | * Výpis celých čísel v zadaném intervalu |
| - | </code> | + | |