Strona główna › Pytania INF.03 › Pytanie 2540
INF.03 · pytanie #2540
Wynikiem działania algorytmu dla c = 3 jest liczba

- A24
- B12
- C6
- D60
Poprawna odpowiedź: A. 24
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
Poprawna odpowiedź 24 wynika z dokładnego prześledzenia działania algorytmu krok po kroku. Algorytm najpierw wczytuje wartość c, potem ustawia zmienne: a = 1 oraz b = 2. Następnie sprawdza warunek b <= c + 1. Dla c = 3 mamy c + 1 = 4, więc pętla działa tak długo, jak b <= 4. Teraz iteracje: 1) b = 2, 2 <= 4 – warunek spełniony, więc wykonujemy a = a * b, czyli a = 1 * 2 = 2, potem zwiększamy b: b = 3. 2) b = 3, 3 <= 4 – znowu TAK, więc a = 2 * 3 = 6, b zwiększa się do 4. 3) b = 4, 4 <= 4 – nadal TAK, więc a = 6 * 4 = 24, b rośnie do 5. 4) b = 5, 5 <= 4 – warunek już fałszywy, wychodzimy z pętli i wypisujemy a, czyli 24. W praktyce ten algorytm oblicza iloczyn kolejnych liczb naturalnych od 2 do c+1, czyli w tym przypadku 2 * 3 * 4. To jest po prostu część silni: 4! = 1 * 2 * 3 * 4, tylko bez początkowego 1, więc wynik jest taki sam. Warto tu zauważyć dobry nawyk: inicjacja zmiennej a wartością 1 jest klasycznym wzorcem przy obliczaniu iloczynów (neutralny element mnożenia). Tego typu konstrukcje pętli z warunkiem porównującym do c+1 pojawiają się bardzo często w programowaniu – zarówno w algorytmach obliczających silnię, jak i przy różnego rodzaju iteracjach po zakresach, np. w JavaScript czy PHP. Z mojego doświadczenia dobrze jest zawsze rozpisać sobie kolejne kroki na kartce, szczególnie gdy warunek zawiera dodawanie lub odejmowanie, bo to właśnie tam najłatwiej o pomyłkę o jeden krok (tzw. błąd off-by-one).
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.