KWALIFIKACJA INF3 - CZERWIEC 2022 (test 2)

PYTANIE NR 30.
Jeśli zmienna $x przechowuje dowolną liczbę naturalną dodatnią, przedstawiony kod źródłowy PHP ma za zadanie wyświetlić
Ilustracja przedstawia fragment kodu źródłowego napisanego w języku PHP.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "kolejne liczby od 0 do x-1" opisuje typowy wynik pętli, w której licznik startuje od 0 i wykonuje się, dopóki jest mniejszy od x.
Wariant "od x do 0" wymagałby dekrementacji, "losowe" – użycia generatora liczb, a "wczytywane z klawiatury" – operacji wejścia, nie samego wypisywania.

Pełne wyjaśnienie:

Wskazanie "kolejne liczby od 0 do x-1" odpowiada klasycznemu schematowi iteracji używanemu w PHP (i w wielu innych językach): licznik zaczyna się od zera i zwiększa o 1, a warunek zakończenia ma postać "dopóki licznik jest mniejszy od x". Taki zapis daje dokładnie x kroków i wypisuje wartości: 0, 1, 2, …, x-1.

Dlaczego pozostałe propozycje nie pasują do tego typu zadania?

  • "kolejne liczby od x do 0" sugeruje iterację w dół, czyli licznik musiałby startować od x (lub x-1) i być zmniejszany (dekrementowany). To inny kierunek przebiegu pętli oraz inny warunek zakończenia.
  • "losowe liczby z przedziału (0, x)" zakłada użycie mechanizmu losowania (funkcji generatora liczb pseudolosowych). Sama konstrukcja pętli i wypisywania wartości nie tworzy losowości; daje deterministyczną sekwencję wynikającą z licznika.
  • "liczby wczytywane z klawiatury, tak długo aż zostanie wczytana wartość x" dotyczy wejścia danych (np. odczytu z STDIN w trybie CLI). To zupełnie inna logika programu: pętla sterowana danymi od użytkownika, a nie licznikiem. W dodatku warunek zakończenia zależy wtedy od porównania wczytanej wartości z x, a nie od samego przebiegu licznika.

Wskazówka egzaminacyjna: zawsze rozróżniaj, czy pętla jest licznikowa (start, warunek, krok) czy zdarzeniowa/danych (kończy się po spełnieniu warunku na danych wejściowych). Najczęstszy błąd to pomylenie "<" z "<=", co przesuwa ostatnią wypisaną liczbę o 1.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Oznacza to, że pętla wypisuje wartości licznika zaczynając od 0 i kończąc na liczbie o 1 mniejszej niż x. Zwykle wynika to z warunku typu licznik < x, który daje dokładnie x iteracji.
Sprawdź operator w warunku zakończenia. Warunek < x zwykle daje x kroków (0..x-1), a <= x daje x+1 kroków (0..x). Różnica jednego znaku zmienia wynik całej sekwencji.
Bo indeksowanie tablic i list w wielu językach zaczyna się od zera. Dzięki temu łatwo iterować po elementach tablicy: pierwszy ma indeks 0, a ostatni ma indeks liczba_elementów-1, co pasuje do schematu 0..x-1.
Najczęściej używa się instrukcji wyjścia, np. echo lub print, wewnątrz pętli. Kluczowe jest, by wypisywać aktualną wartość licznika i dodać separator (spacja, przecinek lub <br>), aby wynik był czytelny.
Nie. Pętla sama w sobie wykonuje powtarzalne kroki według tego samego schematu, więc daje wynik deterministyczny. Losowość pojawia się dopiero, gdy w środku użyjesz generatora liczb pseudolosowych i wypiszesz wylosowaną wartość.
Głównie w trybie uruchamiania skryptu z linii poleceń (PHP CLI), np. w zadaniach algorytmicznych lub narzędziach administracyjnych. W aplikacjach WWW wejście zwykle pochodzi z formularzy, parametrów URL lub żądań HTTP, a nie z klawiatury.
Najczęściej myli się: (1) granicę warunku (< vs <=), (2) wartość startową (0 vs 1), (3) kierunek zmiany licznika (i++ vs i--). Warto zawsze "przepuścić" pętlę ręcznie dla małego x, np. x=3.
Bo żeby schodzić w dół, licznik musi maleć (dekrementacja). Gdy licznik rośnie, nie da się uzyskać kolejnych wartości x, x-1, …, 0. Dlatego przy iteracji w dół typowo spotyka się krok typu i--.
Weź małą wartość, np. x=1, x=2, x=3, i wypisz kolejne stany licznika zgodnie z: start → sprawdzenie warunku → wypisanie → krok. Taka symulacja na kartce szybko ujawnia, czy kończy się na x-1 czy na x.
Ćwicz krótkie fragmenty: wypisywanie zakresów, iterację po tablicach oraz warunki kończące pętlę. Zwracaj uwagę na znaki porównania i inicjalizację licznika. Dobrym nawykiem jest testowanie na przykładach z małym x.
info

To pytanie poprawnie rozwiązuje 63% zdających egzamin. średnie

Źródła:

  • PHP Manual – Control Structures: for, https://www.php.net/manual/en/control-structures.for.php - accessed 2026-02-27
  • PHP Manual – Control Structures: while, https://www.php.net/manual/en/control-structures.while.php - accessed 2026-02-27
  • PHP Manual – echo, https://www.php.net/manual/en/function.echo.php - accessed 2026-02-27

Materiały:

  • Dokumentacja PHP: instrukcje sterujące (pętle for/while)
  • Ćwiczenia: wypisywanie zakresów liczb dla różnych warunków (<, <=) i różnych wartości startowych
  • Zadania praktyczne: generowanie list HTML w PHP z użyciem licznika

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego