Funkcja rekurencyjna
Funkcja rekurencyjna to funkcja, która wywołuje samą siebie podczas wykonywania. Dzięki temu funkcja może się kilkakrotnie powtórzyć, wyświetlając wynik i koniec każdej iteracji. Poniżej znajduje się przykład funkcji rekurencyjnej.
funkcja Count (liczba całkowita N)
jeśli (N <= 0) return "Musi być dodatnią liczbą całkowitą";
if (N> 9) return "Liczenie zakończone";
else zwraca Count (N + 1);
funkcja końca
Funkcja Count () powyżej używa rekurencja aby policzyć od dowolnej liczby od 1 do 9 do liczby 10. Na przykład funkcja Count (1) zwróci 2,3,4,5,6,7,8,9,10. Count (7) zwróci 8,9,10. Wynik można wykorzystać jako okrężny sposób odejmowania liczby od 10.
Funkcje rekurencyjne są powszechne w informatyce, ponieważ umożliwiają programistom pisanie wydajnych programów przy użyciu minimalnej ilości kodu. Wadą jest to, że mogą powodować nieskończone pętle i inne nieoczekiwane wyniki, jeśli nie zostaną poprawnie napisane. Na przykład w powyższym przykładzie funkcja jest przerywana, jeśli liczba jest równa 0 lub mniejsza lub większa niż 9. Jeśli funkcja zatrzymania wykonywania nie zawiera odpowiednich przypadków, rekurencja będzie się powtarzała w nieskończoność, powodując awarię programu, lub jeszcze gorzej, zawiesić cały system komputerowy.