Funkcja rekurencyjna
Funkcja rekurencyjna to funkcja, która wywołuje samą siebie podczas wykonywania. Proces ten może powtarzać się kilka razy, zwracając wynik i zakończenie każdej iteracji.
Poniższa funkcja Count() używa rekurencji, aby odliczać od dowolnej liczby z zakresu od 1 do 9 do liczby 10. Na przykład Count(1) zwróci 2,3,4,5,6,7,8,9,10. Count(7) zwróci 8,9,10. Wyniku można użyć jako okrężnego sposobu odejmowania danej liczby 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
Funkcje rekurencyjne pozwalają programistom pisać wydajne programy 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ą napisane poprawnie. Na przykład w powyższym przykładzie funkcja zostaje zakończona, jeśli liczba jest równa 0 lub mniejsza albo większa niż 9. Jeśli w funkcji rekurencyjnej nie uwzględniono odpowiednich warunków zatrzymujących wykonywanie, będzie ona powtarzać się bez końca, powodując awarię programu lub jego brak reakcji.
Sprawdź swoją wiedzę