KWALIFIKACJA INF3 - WRZESIEŃ 2015

PYTANIE NR 30.
Funkcja zapisana w języku PHP ma postać jak poniżej. Jej zadaniem jest
Ilustracja przedstawia fragment kodu napisanego w języku PHP, który jest częścią pytania egzaminacyjnego z kwalifikacji
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź dotyczy funkcji sprawdzającej parzystość.
W typowym rozwiązaniu w PHP wykorzystuje się operator modulo: jeśli liczba % 2 == 0, to liczba jest parzysta i funkcja zwraca 1 (return). Odpowiedzi o "wypisaniu" mylą return z echo/print.

Pełne wyjaśnienie:

W PHP funkcja może albo zwracać wartość (instrukcja return), albo coś wypisywać na wyjście (np. echo lub print). W tym typie zadań kluczowe jest odróżnienie tych dwóch zachowań: zwrócona wartość trafia do miejsca wywołania funkcji i może być dalej używana w obliczeniach lub warunkach.

Sprawdzenie, czy liczba jest parzysta, najczęściej realizuje się przez operator modulo %. Wyrażenie n % 2 zwraca resztę z dzielenia przez 2. Jeśli reszta wynosi 0, liczba jest parzysta, więc poprawny opis działania to: zwrócenie wartości 1, gdy liczba jest parzysta (czyli np. w gałęzi warunku dla n % 2 == 0 jest return 1;).

Dlaczego pozostałe odpowiedzi są nieprawidłowe?

  • "wypisanie liczby nieparzystej" – dotyczyłoby użycia echo/print oraz logiki wybierającej liczby nieparzyste; to inna funkcjonalność niż zwracanie 0/1.
  • "wypisanie liczby parzystej" – podobnie: wypisywanie to efekt uboczny, a nie zwracanie wartości; ponadto musiałoby zwracać samą liczbę, nie 1.
  • "zwrócenie wartości 0, gdy liczba jest parzysta" – to odwrócenie mapowania wyniku. W typowym schemacie to właśnie parzystość daje wynik 1, a nie 0 (zgodnie z treścią poprawnej odpowiedzi).

Wskazówka egzaminacyjna: najpierw sprawdź, czy w kodzie jest return czy echo, a dopiero potem interpretuj warunek z modulo.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Zwrócenie wartości oznacza użycie return, które kończy działanie funkcji i przekazuje wynik do miejsca wywołania. Tę wartość można przypisać do zmiennej, porównać w if albo użyć w obliczeniach. To coś innego niż wypisywanie tekstu na ekran.
return przekazuje wynik funkcji do kodu wywołującego, a echo wypisuje dane do odpowiedzi HTTP/HTML. Funkcja może zwracać 0/1 do dalszej logiki, ale nic nie wypisywać. Na egzaminie to częsta pułapka w odpowiedziach.
Operator % zwraca resztę z dzielenia. Dla parzystych liczb całkowitych n % 2 daje 0, a dla nieparzystych 1 (lub -1 dla niektórych liczb ujemnych, zależnie od języka). Dlatego warunek n % 2 == 0 wykrywa parzystość.
Najprościej użyć warunku z modulo: if ($n % 2 == 0). W funkcji pomocniczej często zwraca się wtedy 1 (albo true), a w przeciwnym przypadku 0 (albo false). Ważne, by konsekwentnie używać tego samego mapowania wyniku.
Ponieważ pytanie dotyczy zwykle tego, co funkcja zwraca, a nie co wyświetla. "Wypisanie" sugeruje echo/print oraz zwracanie samej liczby, a nie wartości 0/1. Na egzaminie zawsze szukaj w kodzie słowa return.
W prostych zadaniach egzaminacyjnych i starszych przykładach spotyka się zwracanie 1/0 jako "prawda/fałsz". W praktyce często wygodniejsze jest true/false, ale 1/0 bywa używane np. przy zapisie do bazy danych lub prostych obliczeniach. Kluczowe jest, co określa treść zadania.
Najczęstsze błędy to: mylenie return z echo, odwrócenie warunku (np. uznanie, że %2==1 oznacza parzystość), oraz nieuwzględnienie, że zadanie pyta o wartość 0/1, a nie o samą liczbę. Pomaga czytanie kodu linia po linii.
Nie musi, ale to najczęstsza metoda. Można użyć np. operacji bitowej (sprawdzenie najmłodszego bitu), jednak na poziomie egzaminu zwykle oczekuje się rozwiązania z %, bo jest czytelne. Jeśli w kodzie widać % 2, to silna wskazówka, że chodzi o parzystość.
To umowne kodowanie: 1 oznacza spełnienie warunku ("liczba parzysta"), a 0 brak spełnienia. Taki wynik łatwo wykorzystać w if (bo 1 jest traktowane jako prawda), ale na egzaminie trzeba trzymać się dokładnie opisu z treści pytania.
Ćwicz czytanie krótkich fragmentów kodu: definicja funkcji, parametr, warunek, return. Zrób serię zadań: parzystość, zakresy, porównania, operacje na napisach. Zawsze rozróżniaj: co jest zwracane (wynik), a co jest wypisywane (prezentacja).
info

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

Według specjalistów z branży: "Poprawna odpowiedź dotyczy funkcji sprawdzającej parzystość.W typowym rozwiązaniu w PHP wykorzystuje się operator modulo: jeśli liczba % 2 == 0, to liczba jest parzysta i funkcja zwraca 1 (return)."

Źródła:

  • PHP Manual: Operators - Arithmetic Operators (modulo %), https://www.php.net/manual/en/language.operators.arithmetic.php - accessed 2026-02-18
  • PHP Manual: return, https://www.php.net/manual/en/function.return.php - accessed 2026-02-18
  • PHP Manual: echo, https://www.php.net/manual/en/function.echo.php - accessed 2026-02-18

Materiały:

  • Dokumentacja PHP: operatory (w tym %), instrukcje sterujące if/else, funkcje i return
  • Zadania treningowe z funkcji: zwracanie 0/1, true/false, oraz porównanie return vs echo
  • Krótkie przykłady kodu testujące parzystość dla różnych danych wejściowych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego