KWALIFIKACJA INF3 - CZERWIEC 2015

PYTANIE NR 33.
Warunek zapisany językiem PHP wypisze liczbę, gdy
Ilustracja przedstawia fragment kodu napisanego w języku PHP.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Warunek z operatorem % w PHP sprawdza resztę z dzielenia. Gdy wyrażenie $liczba % 2 == 0 jest prawdziwe, oznacza to, że liczba dzieli się przez 2 bez reszty, czyli jest parzysta. Dlatego instrukcja echo wypisze liczbę właśnie wtedy.

Pełne wyjaśnienie:

W widocznym fragmencie PHP użyto instrukcji if z warunkiem ($liczba % 2 == 0) oraz instrukcją echo $liczba;. Kluczowe jest znaczenie operatora % (modulo): zwraca on resztę z dzielenia, a nie iloraz.

Jeżeli reszta z dzielenia liczby przez 2 wynosi 0, to liczba jest podzielna przez 2 bez reszty, czyli jest parzysta. Przykłady pomagają zrozumieć mechanizm:

  • dla 4: 4 % 2 = 0, więc warunek jest spełniony i echo wypisze 4,
  • dla 5: 5 % 2 = 1, więc warunek jest fałszywy i echo się nie wykona,
  • dla 0: 0 % 2 = 0, więc 0 także spełnia warunek (zero jest parzyste).

Odpowiedź "jest ona parzysta." jest więc poprawna, bo dokładnie opisuje kryterium reszta z dzielenia przez 2 równa 0.

Pozostałe odpowiedzi są błędne, bo odnoszą się do innych własności liczby lub mylą znaczenie operatorów:

  • "jest ona liczbą pierwszą." — liczby pierwsze nie są definiowane przez warunek modulo 2. Co prawda 2 jest jednocześnie parzysta i pierwsza, ale warunek wypisze też 4, 6, 8 itd., które pierwsze nie są.
  • "wynik dzielenia liczby przez 2 jest równy 0." — to opisuje iloraz (dzielenie /), a nie resztę. Iloraz liczby/2 jest równy 0 tylko dla liczby 0, natomiast reszta równa 0 występuje dla wszystkich liczb parzystych.
  • "jest ona dodatnia." — parzystość nie zależy od znaku; liczby ujemne też mogą być parzyste (np. -4). Warunek sprawdza podzielność przez 2, a nie dodatniość.

Wskazówka egzaminacyjna: gdy widzisz wzorzec n % 2 == 0, niemal zawsze chodzi o sprawdzenie parzystości. Gdy widzisz n % k == 0, chodzi o sprawdzenie podzielności przez k.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Operator % w PHP zwraca resztę z dzielenia jednej liczby przez drugą. Przykład: 5 % 2 daje 1, bo po podzieleniu 5 przez 2 zostaje reszta 1. To nie jest iloraz jak przy operatorze /.
Najczęściej używa się warunku $n % 2 == 0. Jeśli reszta z dzielenia przez 2 wynosi 0, liczba jest parzysta. W praktyce: if ($n % 2 == 0) echo $n; wypisze tylko liczby parzyste.
Liczba parzysta to taka, która dzieli się przez 2 bez reszty. Wyrażenie $liczba % 2 zwraca resztę z dzielenia przez 2, więc porównanie do zera (== 0) dokładnie testuje "bez reszty".
Nie. Operator / zwraca iloraz (np. 5/2 = 2.5), a operator % zwraca resztę (5%2 = 1). To częsty błąd na egzaminach: mylenie tych dwóch operatorów.
Dla zera otrzymasz 0 % 2 = 0, więc warunek będzie prawdziwy i instrukcja echo może wypisać 0. Z matematycznego punktu widzenia 0 jest liczbą parzystą, bo jest podzielna przez 2 bez reszty.
Tak. Parzystość nie zależy od znaku liczby. Przykładowo -4 jest parzyste, bo dzieli się przez 2 bez reszty, więc -4 % 2 daje 0 i warunek % 2 == 0 będzie spełniony także dla liczb ujemnych.
Liczba parzysta jest podzielna przez 2 bez reszty. Liczba pierwsza ma dokładnie dwa dzielniki dodatnie: 1 i samą siebie. Jedyną liczbą, która jest i parzysta, i pierwsza, jest 2; inne parzyste (4, 6, 8) nie są pierwsze.
Najczęstsze pomyłki to: mylenie % z dzieleniem /, interpretowanie wyniku jako "wynik dzielenia" zamiast "reszta", oraz sprawdzanie ilorazu równego 0. W zadaniach o parzystość zawsze analizuj resztę.
Sprawdzanie $i % 2 jest używane m.in. do naprzemiennego stylowania elementów (np. wierszy tabeli "zebra"), dzielenia elementów listy na kolumny, oraz kontroli logiki "co drugi element". To proste, ale bardzo praktyczne zastosowanie.
Szukaj wzorca $n % k == 0. Oznacza on, że reszta z dzielenia przez k jest równa 0, czyli $n jest podzielne przez k. Dla k=2 jest to test parzystości, dla k=3 test wielokrotności 3 itd.
info

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

Specjaliści zwracają uwagę: "Warunek z operatorem % w PHP sprawdza resztę z dzielenia."

Źródła:

  • PHP Manual – Arithmetic Operators (operator %), https://www.php.net/manual/en/language.operators.arithmetic.php (dostęp: 2026-02-27)
  • PHP Manual – Control Structures: if, https://www.php.net/manual/en/control-structures.if.php (dostęp: 2026-02-27)
  • Wikipedia – Modulo operation, https://en.wikipedia.org/wiki/Modulo_operation (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja PHP: operatory arytmetyczne (w tym %)
  • Dokumentacja PHP: instrukcje sterujące (if/else)
  • Krótkie ćwiczenia: pętla for i warunek $i % 2 == 0

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego