KWALIFIKACJA INF3 - STYCZEŃ 2015

PYTANIE NR 35.
Kod zamieszczony w ramce spowoduje wypisanie liczb
Ilustracja przedstawia fragment kodu PHP umieszczony w ramce, który jest związany z kwalifikacją zawodową TECHNIK
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Pętla wykonuje się dla wartości od 1 do 10. Warunek sprawdza resztę z dzielenia przez 2: dla liczb nieparzystych jest różna od zera, więc bieżąca iteracja jest pomijana i nic się nie wypisuje. Wypisanie następuje tylko dla parzystych, dlatego na wyjściu pojawią się: 2 4 6 8 10.

Pełne wyjaśnienie:

Pętla for w PHP ma trzy elementy: inicjalizację, warunek zakończenia i krok zmiany licznika. W pokazanym kodzie licznik przyjmuje kolejno wartości od 1 do 10 (włącznie), ponieważ startuje od 1, jest zwiększany o 1, a pętla działa, dopóki spełnione jest $x <= 10.

W każdej iteracji wykonywany jest warunek z operatorem reszty z dzielenia: $x % 2. Ten operator zwraca resztę po podzieleniu liczby przez 2. Dla liczb parzystych reszta wynosi 0, a dla nieparzystych 1. Zapis $x % 2 != 0 oznacza więc: "liczba jest nieparzysta".

Jeśli liczba jest nieparzysta, wykonywana jest instrukcja continue. Jej sens jest bardzo konkretny: przerywa tylko bieżącą iterację i natychmiast przechodzi do kolejnej wartości licznika. To powoduje, że linia wypisująca wynik nie uruchamia się dla 1, 3, 5, 7 i 9.

Dla wartości parzystych (2, 4, 6, 8, 10) warunek "reszta różna od zera" nie jest spełniony, więc pętla nie jest przerywana w tej iteracji. Wtedy wykonuje się instrukcja wypisania i na ekran trafiają liczby parzyste, rozdzielone spacją.

Dlaczego pozostałe propozycje są błędne?

  • Wynik z liczbami nieparzystymi powstałby po odwróceniu warunku (np. sprawdzaniu równości do zera) albo po pominięciu instrukcji pomijającej iterację.
  • Wynik bez "10" sugeruje błąd w warunku pętli (np. użycie $x < 10), którego tutaj nie ma.
  • Wynik zawierający wszystkie liczby 1–10 odpowiada sytuacji, gdy warunek pomijania nie działa lub gdy pomyli się "pomijanie iteracji" z innym mechanizmem.

W praktyce taki wzorzec wykorzystuje się do filtrowania danych w pętli: łatwiej pominąć elementy niepasujące do kryterium, niż budować rozbudowane zagnieżdżenia warunków.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Operator % zwraca resztę z dzielenia całkowitego. Przykładowo 5 % 2 daje 1, a 6 % 2 daje 0. Dzięki temu łatwo sprawdzić parzystość: wynik 0 oznacza liczbę parzystą, a wynik różny od 0 oznacza nieparzystą.
Pętla for wykonuje: (1) inicjalizację licznika, (2) sprawdzenie warunku, (3) wykonanie bloku, (4) zmianę licznika i powrót do sprawdzenia warunku. Gdy warunek przestaje być spełniony, pętla kończy działanie.
Oznacza, że reszta z dzielenia $x przez 2 jest różna od zera, czyli że $x jest nieparzyste. Dla liczb 1, 3, 5, 7, 9 warunek będzie prawdziwy, a dla 2, 4, 6, 8, 10 będzie fałszywy.
Nie. Instrukcja pomijająca iterację działa tylko dla bieżącego przebiegu pętli i przechodzi do następnego kroku (zwykle zwiększenia licznika). Zakończenie całej pętli uzyskuje się inną instrukcją, która przerywa wykonywanie pętli w całości.
Ponieważ dla liczb nieparzystych spełnia się warunek "reszta z dzielenia przez 2 jest różna od zera", a wtedy iteracja jest pomijana i wypisanie nie następuje. Dla liczb parzystych warunek nie jest spełniony, więc wykonywana jest linia wypisująca wynik.
Gdy chcesz szybko pominąć elementy niespełniające kryterium, np. błędne rekordy, puste wartości lub elementy o złym formacie. To upraszcza kod, bo zamiast rozbudowanego zagnieżdżenia warunków od razu przechodzisz do następnego elementu.
Sprawdź, czy w kodzie pojawia się test parzystości: dzielenie przez 2 z resztą (operator %). Potem zobacz, czy warunek prowadzi do pominięcia wypisania. Najpewniejsza metoda to krótki "dry-run": policz wynik dla 1, 2, 3 i uogólnij.
Najczęstsze pomyłki to: mylenie znaczenia wyniku (0 vs 1), odwracanie warunku (!= zamiast ==), a także myślenie, że operator % zwraca iloraz zamiast reszty. Pomaga wykonanie 2–3 przykładów na kartce przed wyborem odpowiedzi.
W wielu zadaniach tak, bo określa format wyjścia. Jeśli kod dopisuje po każdej liczbie spację, wynik zwykle jest rozumiany jako liczby oddzielone spacjami. Na egzaminie zwracaj uwagę, czy odpowiedzi różnią się separatorami lub końcowym znakiem.
Ćwicz śledzenie wykonania: wypisz w tabeli kolejne wartości licznika, wynik warunku oraz informację, czy następuje wypisanie. Zacznij od krótkich zakresów (np. 1–5), potem rozszerz. To buduje nawyk analizy bez zgadywania.
info

Statystycznie 55% uczniów zna prawidłową odpowiedź. średnie

Specjaliści zwracają uwagę: "Pętla wykonuje się dla wartości od 1 do 10."

Źródła:

  • PHP Manual: for - https://www.php.net/manual/en/control-structures.for.php (dostęp: 2026-03-04)
  • PHP Manual: continue - https://www.php.net/manual/en/control-structures.continue.php (dostęp: 2026-03-04)
  • PHP Manual: Arithmetic Operators (modulo %) - https://www.php.net/manual/en/language.operators.arithmetic.php (dostęp: 2026-03-04)

Materiały:

  • Dokumentacja PHP: instrukcje sterujące (pętle, warunki)
  • Ćwiczenia ze śledzenia wykonania kodu (dry-run) dla pętli i warunków
  • Zadania z operatorem reszty z dzielenia i testami parzystości

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego