ccpp:cykluswhile

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
ccpp:cykluswhile [2019/10/10 16:04] – vytvořeno durdilovaccpp: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 apokud platí, provede se tělo cyklu. Pak se znovu vyhodnotí podmínka a opět se provede tělo cyklu. Cyklus skončí, až podmínka nebude platit+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í: 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 - vlastní příkaz, nebo blok kódu, který se bude vykonávat. Musí zde být příkaz, který má vliv na podmínku, aby nedošlo k zacyklení.+  * Příkaz/blok příkazů které se budou vykonávat
  
-===== Syntaxe cyklu for =====+===== Syntaxe cyklu while =====
 <code c> <code c>
-// S jedním příkazem v těle +// S jedním příkazem 
-for (inicializace; podminka; aktualizace)+while (podminka)
   prikaz;   prikaz;
  
-// S blokem příkazů v těle +// S blokem příkazů 
-for (inicializace; podminka; aktualizace)+while (podminka)
 { {
   prikaz1;   prikaz1;
   prikaz2;   prikaz2;
-  //...+  // ... 
 +  prikazN;
 } }
 </code> </code>
  
 ==== Poznámky ==== ==== Poznámky ====
-  * Při zachování středníků se dá libovolná část hlavičky vynechat - //vyzkoušejte efekt// 
   * 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.
-  * Při použití operátoru //čárka//lze libovolné části hlacičky vykonávat více operací- //dobrovolné samostudium//+  * Pokud bude podmínka vždy pravdivá (tautologie)dojede k zacyklení programu místě cyklu.
  
-===== Průběh cyklu for ===== +===== Průběh cyklu while =====
-  - **inicializační část**+
   - **ověření podmínky**   - **ověření podmínky**
       - podmínka platí       - podmínka platí
         - **vykonání těla cyklu**         - **vykonání těla cyklu**
-        - **aktualizační část** +        - **jdi zpět na ověření podmínky**
-        - opakuj krok 2.+
       - podmínka neplatí       - podmínka neplatí
         - **konec cyklu**         - **konec cyklu**
  
 ===== Ukázky ===== ===== Ukázky =====
-==== Výpis čísel od 1 do 10 pomocí cyklu for ====+==== Výpis čísel od 1 do 10 pomocí cyklu while ====
 <code c> <code c>
-for (int cislo = 1; cislo <= 10; cislo++) +int cislo = 1; // Inicializujeme řídící proměnnou
-  printf("%d\n", cislo); +
-</code> +
-==== Ekvivalentní výpis čísel od 1 do 10 pomocí cyklu while ==== +
-<code c> +
-int cislo = 1; // Inicializační část+
 while (cislo <= 10) // Podmínka cyklu while (cislo <= 10) // Podmínka cyklu
 { {
-  printf("%d\n", cislo); // Příkaz cyklu +  printf("%d\n", cislo);  // Příkaz cyklu 
-  cislo++; // Aktualizační část+  cislo++; // Zvětšení hodnoty o jedničku
 } }
 </code> </code>
-==== Vypsání prvků pole o kapacitě 42 ====+==== Ekvivalentní výpis čísel od 1 do 10 pomocí cyklu for ====
 <code c> <code c>
-double pole[42] = {}; +for (int cislo 1cislo <= 10cislo++// Inicializační část; Podmínka cyklu; Aktualizační část
-// inicializace prvků pole +
-for (int 042i++)+
 { {
-  printf("%f", pole[i]); +  printf("%d\n", cislo); // Příkaz cyklu
-  if (i != 41) +
-    printf(", ");+
 } }
-putchar('\n'); 
 </code> </code>
 +
 +===== 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>, (A, B>, nebo (A, B)
  • ccpp/cykluswhile.1570716258.txt.gz
  • Poslední úprava: 2019/10/10 16:04
  • autor: durdilova