Úvod do úlohy

V závěrečné fázi práce s cykly je důležité nejen umět napsat jednotlivé konstrukce (for, while, do…while), ale také zvolit ten správný typ cyklu pro konkrétní úlohu. V praxi totiž nejde o to použít „jakýkoli cyklus, který funguje“, ale napsat kód tak, aby byl čistý, čitelný a efektivní. Správná volba cyklu usnadňuje orientaci v kódu, zabraňuje chybám a zajišťuje, že program dělá přesně to, co má.

Teorie a principy

  • for cyklus

    • Nejvhodnější, když dopředu víme počet opakování (např. průchod přes pole, 10 opakování výpočtu, vykreslení 5 řádků tabulky).

    • Jasně ukazuje inicializaci, podmínku a krok na jednom místě.

  • while cyklus

    • Používá se, když neznáme počet opakování předem a potřebujeme opakovat, dokud platí určitá podmínka.

    • Může proběhnout i 0×, pokud podmínka není splněna hned od začátku.

  • do…while cyklus

    • Vždy proběhne alespoň jednou, protože podmínka se testuje až po prvním průchodu.

    • Ideální pro úlohy, kde se akce musí provést minimálně jednou (např. vyžádání vstupu od uživatele).

  • Refaktoring cyklů:

    • while → for: Pokud je počet průchodů známý předem, je kód s for přehlednější.

    • for → while: Pokud průchody závisejí na podmínce, kterou nelze předem odhadnout, je lepší while.

    • while → do…while: Pokud potřebujeme, aby se blok provedl aspoň jednou, i kdyby podmínka hned neseděla.

Praktické příklady kódu

1. While nahrazený forem (počet opakování je známý)


2. For nahrazený while (neznáme počet opakování)


3. While nahrazený do…while (potřebujeme aspoň jeden průchod)


4. Kombinace s vnořeným cyklem (refaktor na čitelnější zápis)

Typické chyby / záludnosti

  • Použití nevhodného cyklu – např. while pro pevně známý počet opakování → kód je zbytečně dlouhý a hůře se čte.

  • Zapomenutá změna podmínky v while a do…while → vznikne nekonečný cyklus.

  • For s nelogickými částmi – studenti někdy nechají inicializaci nebo krok prázdný a píšou vše do těla smyčky → horší čitelnost.

  • Nevyužití síly do…while – studenti často používají while, i když je potřeba minimálně jeden průchod.

Shrnutí

  • For: když víme počet opakování předem.

  • While: když opakování závisí na podmínce a není jasné, kolikrát proběhne.

  • Do…while: když potřebujeme aspoň jeden průchod, podmínka se testuje až na konci.

  • Refaktoring: vyberte cyklus podle povahy problému, tím zvýšíte čitelnost a udržovatelnost kódu.

  • Správná volba cyklu je znakem dobré praxe – kód je kratší, srozumitelnější a méně náchylný k chybám.