Iterace

Pojem iterace má v informatice dva hlavní významy podle toho, zda se díváme na samotný kód, nebo na proces vývoje softwaru.

1. Iterace v programování (Cykly)

V programování je iterace jeden konkrétní krok (opakování) v rámci cyklu. Pokud cyklus proběhne desetkrát, říkáme, že proběhlo deset iterací.

Základní typy iteračních konstrukcí:

Cyklus for: Používá se, když předem známe přesný počet iterací.

Cyklus while: Opakuje se, dokud je splněna určitá podmínka.

Iterátor: Speciální objekt, který umožňuje procházet prvky v datové struktuře (např. v seznamu nebo poli), aniž by programátor musel řešit vnitřní logiku indexování.

2. Iterace ve vývoji (Iterativní vývoj)

V metodikách jako Agile nebo Scrum znamená iterace časový úsek (často 2–4 týdny, tzv. Sprint), během kterého se vyvine, otestuje a nasadí část softwaru.

Rozdíl mezi Vodopádem a Iterací:

Vodopád (Waterfall): Vše se naplánuje a pak se dlouho vyvíjí. Výsledek uvidí zákazník až na konci (riziko chyby).

Iterativní vývoj: Každá iterace přináší malý, ale funkční kus softwaru. Na základě zpětné vazby se v další iteraci produkt vylepší nebo opraví.

3. Rekurze vs. Iterace

Každý problém řešený iterací (cyklem) lze teoreticky vyřešit i rekurzí (funkce volá samu sebe).

Vlastnost	Iterace (Cyklus)	Rekurze (Volání sebe sama)
Výkon	Obvykle rychlejší a méně náročná na paměť.	Může být pomalejší kvůli režii volání funkcí.
Paměť	Používá konstantní prostor v paměti.	Může zaplnit zásobník (Stack Overflow).
Čitelnost	Přehledná pro jednoduché opakování.	Elegantnější pro procházení stromových struktur (DFS).

4. Praktický příklad (Pseudokód)

Představte si, že chceme sečíst čísla v poli:

suma = 0
PRO KAŽDÉ číslo V poli: // Start iterace
suma = suma + číslo // Tělo iterace
KONEC cyklu

Každý průchod tímto cyklem, kdy přičítáme jedno číslo k celkové sumě, je jedna iterace.

Zajímavost: Pojem „Iterativní metoda“ je klíčový i v matematice a numerických výpočtech, kde se k výsledku přibližujeme postupnými opravami odhadu (např. Newtonova metoda pro výpočet odmocniny).

Zpět na Algoritmy