Przeanalizuj działanie zmiennej statycznej w poniższej funkcji rekurencyjnej. Jaka wartość zostanie wyświetlona?
Przeanalizuj działanie zmiennej statycznej w poniższej funkcji rekurencyjnej. Jaka wartość zostanie wyświetlona?
<?php
function oblicz($n) {
static $c = 0;
if ($n > 0) {
$c += $n;
oblicz($n - 1);
}
return $c;
}
echo oblicz(3);
?>Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: C (6)
Zmienna statyczna static $c = 0; wewnątrz funkcji zachowuje swoją wartość pomiędzy kolejnymi wywołaniami rekurencyjnymi:
oblicz(3):$c += 3(c = 3), wywołanieoblicz(2),oblicz(2):$c += 2(c = 5), wywołanieoblicz(1),oblicz(1):$c += 1(c = 6), wywołanieoblicz(0),oblicz(0): warunek fałszywy, zwrot wartości$c = 6. Wypisana wartość to 6.
Dlaczego pozostałe opcje są nieprawidłowe?
- A: Wartość 0 to stan początkowy zmiennej
$c. - B: Wartość 3 to stan po pierwszej operacji dodawania.
- D: Wartość 9 to błędny wynik obliczeń.
Chcesz poćwiczyć całą kwalifikację INF.03?
Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.
Pojęcia z tego pytania
- Rekurencja w programowaniuTechnika programistyczna, w której funkcja wywołuje samą siebie w celu rozwiązania mniejszego podproblemu aż do osiągnięcia warunku bazowego (stopu).
- Obiekt Math w JavaScript (floor, ceil, round, random)Wbudowany obiekt statyczny zawierający właściwości matematyczne oraz metody do zaokrągleń, losowania i operacji arytmetycznych.
- Metody tablicowe w JS (push, pop, map, filter, forEach, splice)Funkcje wbudowane w prototyp tablic służące do mutowania zawartości, transformacji, filtrowania i iteracji po elementach.
Podobne pytania z działu „Php skladnia i struktury”
Ten sam obszar materiału z kwalifikacji INF.03. W całej bazie znajdziesz 165 pytań z tego działu.
- #39
Fragment kodu prezentuje składnię języka
- #42
Który język skryptowy ogólnego przeznaczenia należy wykorzystać do tworzenia aplikacji WWW, zagnieżdżanych w języku HTML i uruchamianych po stronie serwera?
- #69
Która z wymienionych funkcji sortowania wykorzystywana w języku PHP sortuje tablicę asocjacyjną według indeksów
- #73
Instrukcja języka PHP tworząca obiekt pkt dla zdefiniowanej w ramce klasy ma postać
- #74
Wskaż wynik wykonania skryptu napisanego w języku PHP