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++; | ||
+ | } | ||
</ | </ | ||
+ |