Úloha 1 – Cyklus for v praxi

Úvod do úlohy

Cyklus for patří mezi základní nástroje v programování: umožňuje opakovaně spustit stejný blok kódu přesně tolikrát, kolikrát potřebujete. V praxi s ním projíždíme položky pole, generujeme HTML prvky, počítáme součty nebo provádíme opakované kontroly. V této části se naučíte přesně rozumět třem částem hlavičky for – inicializaci, podmínce a iteraci – a bezpečně se vyhnout nekonečné smyčce i typickým „o jedno“ chybám.

Teorie a principy

  • Základní tvar cyklu

    • Inicializace – nejčastěji nastavíme počítadlo: let i = 0;

    • Podmínka – říká, kdy cyklus pokračuje. Běží se, pokud je podmínka pravdivá (true). Typicky i < n.

    • Iterace – změna počítadla po každém průchodu, obvykle i++ (zvýšení o 1).

  • Index od nuly: V JavaScriptu má většina kolekcí (např. pole) prvky od indexu 0. Pro n prvků tedy procházíme i = 0 až i < n.

  • Vyhnutí se nekonečné smyčce: Zajistěte, aby se podmínka jednou stala nepravdivou (false). Počítadlo se musí při každé iteraci měnit správným směrem.

  • Čitelnost: Pro jasný průchod „0 až n-1“ preferujte i = 0; i < n; i++. Složitější změny kroku dělejte vědomě (např. i += 2 pro sudé indexy).

Praktické příklady kódu

1) Pět průchodů: 0 až 4 (konzolový výstup)

2) Součet čísel 1..n (kontrolovaný počet opakování)

3) Generování HTML prvků (praktické použití na stránce)

4) Vyhnutí se nekonečné smyčce – špatně vs. správně

Typické chyby / záludnosti

  • Zapomenutá iterace (i++) → nekonečná smyčka.

  • Špatný směr změny (např. snižujete i--, ale podmínka je i < n) → cyklus se nikdy nezastaví nebo se nespustí.

  • „O jedno“ chyba: Zaměněné <= a < vede k o jeden průchod navíc nebo méně. U n prvků pole běžte i = 0; i < n; i++.

  • Přepis proměnných: Proměnná i by měla být lokální (let i = ...) jen pro daný cyklus, aby neovlivnila jiný kód.

  • Práce s délkou pole: Používejte i < pole.length (ne <=). V opačném případě sáhnete na neexistující prvek.

Shrnutí

  • Cyklus for má tři části: inicializaci, podmínku, iteraci.

  • Běžný idiom pro n opakování je for (let i = 0; i < n; i++) { ... }.

  • Dbejte na správný směr změny počítadla a na konec cyklu → vyhnete se nekonečné smyčce.

  • Pro průchod polem použijte indexování od 0 do length − 1.

  • Minimalizujte „o jedno“ chyby: vědomě volte < vs. <= podle potřeby.