KWALIFIKACJA INF3 - CZERWIEC 2017

PYTANIE NR 33.
Która z wymienionych funkcji zapisanych językiem PHP zwraca sumę połowy a i połowy b
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna funkcja zwraca wartość a/2 + b/2, czyli sumę połowy pierwszego argumentu i połowy drugiego. Pozostałe propozycje zmieniają sens obliczeń: dzielą 2 przez argumenty, dodają całe b albo dzielą przez 2 także po dodaniu, co nie daje wymaganej sumy połówek.

Pełne wyjaśnienie:

Treść zadania wymaga, aby funkcja zwróciła sumę połowy a i połowy b. Matematycznie oznacza to wyrażenie:

(a/2) + (b/2)

W PHP zapis $a/2 oznacza podzielenie wartości zmiennej $a przez 2, a operator + sumuje oba wyniki. Dlatego poprawna jest funkcja, która w instrukcji return zwraca dokładnie $a/2 + $b/2.

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

  • Wariant z 2/$a + 2/$b odwraca ułamek: to nie jest "połowa a", tylko "dwa podzielone przez a". Dla a=10 daje 0,2, a połowa a to 5.
  • Wariant $a/2 + $b dzieli przez 2 tylko pierwszy składnik, a drugi dodaje w całości. Dla a=10, b=6 daje 5+6=11, a oczekiwany wynik to 5+3=8.
  • Wariant ($a/2 + $b)/2 najpierw dodaje $a/2 i całe $b, a dopiero potem dzieli całość przez 2. To odpowiada innemu wzorowi: ($a/2 + b)/2, czyli w praktyce ćwiartka a plus połowa b.

Wskazówka egzaminacyjna: gdy masz wątpliwość, podstaw proste liczby (np. a=10, b=6) i porównaj wynik z oczekiwanym 10/2 + 6/2 = 8. Taki szybki test często natychmiast ujawnia błąd w nawiasach lub w kolejności działań.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
To wyrażenie oznacza (a/2) + (b/2). Najpierw liczysz połowę każdej wartości osobno, a dopiero potem je dodajesz. To nie jest to samo co dzielenie całej sumy przez 2 w przypadkach z innymi nawiasami.
Tworzysz funkcję z parametrami, a wynik zwracasz przez return, np.: function f($a,$b){ return $a+$b; }. Na egzaminie zwracaj uwagę, czy return zawiera dokładnie wymagane wyrażenie.
2/$a to "dwa podzielone przez a", czyli ułamek odwrotny do $a/2 (po przeskalowaniu). Dla a=10: 2/10=0,2, a połowa a to 10/2=5. To zupełnie inne działanie.
Podstaw proste liczby testowe, np. a=10 i b=6. Oczekiwany wynik to 10/2 + 6/2 = 8. Jeśli funkcja zwraca inną wartość, wyrażenie jest złe (często problemem są nawiasy lub pominięte dzielenie).
Tak, matematycznie są równoważne, bo (a+b)/2 = a/2 + b/2. Jednak w zadaniu trzeba wybrać konkretną funkcję z listy, więc oceniasz dokładnie to, co zwraca zapis w return w danej odpowiedzi.
Najczęściej myli się moment dzielenia przez 2, np. dzieli się przez 2 dopiero po dodaniu albo dzieli się tylko jeden składnik. Warto czytać wyrażenie krokami i pamiętać, że nawiasy zmieniają kolejność obliczeń.
Nawiasy są potrzebne, gdy chcesz wymusić konkretną kolejność działań, inną niż standardowa. Np. ($a+$b)/2 wymusza dodanie przed dzieleniem. Bez nawiasów PHP i tak stosuje priorytety operatorów, ale łatwo o pomyłkę.
Nie. Operator / w PHP zwraca wynik typu zmiennoprzecinkowego, jeśli to potrzebne (np. 5/2 = 2.5). Dlatego w zadaniach z "połową" wynik może mieć część ułamkową i to jest poprawne zachowanie.
return kończy wykonywanie funkcji i przekazuje wartość do miejsca wywołania. Jeśli zwracasz wyrażenie, to PHP najpierw je oblicza, a potem zwraca wynik. Brak return zwykle oznacza, że funkcja nie zwróci oczekiwanej wartości.
Często są to krótkie funkcje operujące na parametrach: proste obliczenia, przetwarzanie napisów, instrukcje warunkowe i zwracanie wyniku przez return. Kluczowe jest czytanie kodu i sprawdzanie, co dokładnie zwraca wyrażenie.
info

Około 78% zdających odpowiada poprawnie na to pytanie. średnio łatwe

Specjaliści zwracają uwagę: "Poprawna funkcja zwraca wartość a/2 + b/2, czyli sumę połowy pierwszego argumentu i połowy drugiego."

Źródła:

  • PHP Manual: User-defined functions – https://www.php.net/manual/en/functions.user-defined.php (dostęp: 2026-03-01)
  • PHP Manual: Arithmetic Operators – https://www.php.net/manual/en/language.operators.arithmetic.php (dostęp: 2026-03-01)
  • PHP Manual: return – https://www.php.net/manual/en/function.return.php (dostęp: 2026-03-01)

Materiały:

  • Dokumentacja PHP: funkcje użytkownika (user-defined functions)
  • Dokumentacja PHP: operatory arytmetyczne i kolejność wykonywania działań
  • Ćwiczenia: pisanie i testowanie krótkich funkcji zwracających wyrażenia matematyczne

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego