Rekurzivní funkce
Rekurzivní funkce je funkce, která během svého provádění volá sama sebe. Tento proces se může několikrát opakovat a na konci každé iterace vypíše výsledek.
Níže uvedená funkce Count() používá rekurzi k počítání od libovolného čísla mezi 1 a 9 až k číslu 10. Například Count(1) vrátí 2,3,4,5,6,7,8,9,10. Count(7) vrátí 8,9,10. Výsledek by se dal použít jako nepřímý způsob odečtení čísla od 10.
function Count (integer N)
if (N <= 0) return "Must be a Positive Integer";
if (N > 9) return "Counting Completed";
else return Count (N+1);
end function
Rekurzivní funkce umožňují programátorům psát efektivní programy s použitím minimálního množství kódu. Nevýhodou je, že při nesprávném napsání mohou způsobit nekonečné smyčky a další neočekávané výsledky. Například ve výše uvedeném příkladu se funkce ukončí, pokud je číslo 0 nebo menší, případně větší než 9. Pokud rekurzivní funkce neobsahuje správné podmínky, které zastaví její provádění, bude se opakovat navždy, což způsobí pád programu nebo jeho přestane reagovat.
Otestujte své znalosti