Rekurencja w praktyce
Założenie: Napiszemy funkcję rekurencyjną w PHP, która obliczy silnię liczby.
Krok po kroku:
- Definicja funkcji silnia: Funkcja `silnia` przyjmuje jeden argument – liczbę całkowitą. Jeżeli liczba jest mniejsza lub równa 1, zwraca 1 (przypadki bazowe). W przeciwnym wypadku zwraca liczbę pomnożoną przez wynik rekurencyjnego wywołania funkcji `silnia` dla liczby pomniejszonej o 1.
- Wywołanie funkcji i wyświetlenie wyniku: Wywołujemy funkcję `silnia` z wybraną liczbą i wyświetlamy wynik za pomocą `echo`.
- Ograniczenia stosu: Rekurencja może prowadzić do przepełnienia stosu, jeśli funkcja wywoła się rekurencyjnie zbyt wiele razy. Dla bardzo dużych liczb, ten kod może zakończyć się błędem.
function silnia(int $n): int {
if ($n <= 1) {
return 1;
} else {
return $n * silnia($n - 1);
}
}
$liczba = 5;
$wynik = silnia($liczba);
echo "Silnia liczby " . $liczba . " wynosi: " . $wynik; // Wyświetli: Silnia liczby 5 wynosi: 120
Ten przykład pokazuje podstawy rekurencji w PHP. Zachęcamy do eksperymentowania z różnymi liczbami i zgłębiania tematu rekurencji, aby lepiej zrozumieć jej możliwości i ograniczenia.