Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Následující verze | Předchozí verze | ||
| ccpp:cyklusdowhile [2019/10/10 16:19] – vytvořeno durdilova | ccpp:cyklusdowhile [2024/01/17 10:50] (aktuální) – bures | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| - | ====== Cyklus while ====== | + | ====== Cyklus |
| - | Cyklus while je cyklem s podmínkou na začátku. Nejprve se vyhodnotí podmínka apokud platí, | + | Cyklus |
| - | Cyklus while se skládá ze dvou částí: | + | Cyklus |
| - | | + | * klíčové slovo **do** |
| - | | + | * tělo cyklu - vlastní příkaz, nebo blok kódu, který se bude vykonávat |
| - | * podmínka cyklu | + | * klíčové slovo **while** a podmínka cyklu v kulatých závorkách |
| - | * tělo cyklu | + | |
| - | | + | |
| - | + | ===== Syntaxe cyklu do-while ===== | |
| - | ===== Syntaxe cyklu while ===== | + | |
| <code c> | <code c> | ||
| - | // S jedním příkazem v těle | + | do |
| - | while (podminka) | + | |
| - | prikaz; | + | |
| - | + | ||
| - | // S blokem příkazů v těle | + | |
| - | while (podminka) | + | |
| { | { | ||
| prikaz1; | prikaz1; | ||
| prikaz2; | prikaz2; | ||
| //... | //... | ||
| - | } | + | } while (podminka); |
| </ | </ | ||
| ==== Poznámky ==== | ==== Poznámky ==== | ||
| - | * Podmínka cyklu nemusí být platná už před první iterací. | + | * Cyklus |
| - | * Cykly while a for se dají mezi sebou navzájem transformovat. | + | * Všechny cykly 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. | * V těle cyklu musí být příkaz, který má vliv na podmínku. Jinak dojede k zacyklení programu. | ||
| - | ===== Průběh cyklu while ===== | + | ===== Průběh cyklu do-while ===== |
| + | - **vykonání těla cyklu** | ||
| - **ověření podmínky** | - **ověření podmínky** | ||
| - podmínka platí | - podmínka platí | ||
| - | | + | - **jdi zpět na vykonání těla cyklu** |
| - | | + | |
| - podmínka neplatí | - podmínka neplatí | ||
| - **konec cyklu** | - **konec cyklu** | ||
| ===== Ukázky ===== | ===== Ukázky ===== | ||
| - | ==== Výpis čísel od 1 do 10 pomocí cyklu while ==== | + | ==== Výpis čísel od 1 do 10 pomocí cyklu do-while ==== |
| <code c> | <code c> | ||
| - | int cislo = 1; // Inicializační část; | + | int cislo = 1; |
| - | while (cislo <= 10) //Podmínka cyklu | + | do |
| { | { | ||
| - | printf(" | + | printf(" |
| - | cislo++; | + | cislo++; |
| - | } | + | } while (cislo <= 10); |
| </ | </ | ||
| + | |||
| ==== Ekvivalentní výpis čísel od 1 do 10 pomocí cyklu for ==== | ==== Ekvivalentní výpis čísel od 1 do 10 pomocí cyklu for ==== | ||
| <code c> | <code c> | ||
| - | for (int cislo = 1; cislo <= 10; cislo++; ) // Inicializační část; Podmínka cyklu; Aktualizační část | + | for (int cislo = 1; cislo <= 10; cislo++; ) |
| { | { | ||
| - | printf(" | + | printf(" |
| } | } | ||
| </ | </ | ||
| - | ==== Největší společní dělitel | + | |
| + | ==== Ekvivalentní výpis | ||
| <code c> | <code c> | ||
| - | while(X != Y) | + | int cislo = 1; |
| - | if (X > Y) X = X - Y | + | while (cislo <= 10) |
| - | else Y = Y - X | + | { |
| - | printf(" | + | printf(" |
| + | cislo++; | ||
| + | } | ||
| </ | </ | ||
| + | |||