KWALIFIKACJA INF3 - CZERWIEC 2015

PYTANIE NR 31.
Która ze zdefiniowanych funkcji w języku PHP jako wynik zwraca połowę kwadratu wartości przekazanej?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna jest funkcja, która zwraca wynik przez return oraz liczy "połowę kwadratu": najpierw a*a, potem dzielenie przez 2. Warianty z echo jedynie wypisują wartość, a opcje z a/2 obliczają połowę liczby, nie połowę jej kwadratu.

Pełne wyjaśnienie:

Pytanie dotyczy dwóch kluczowych elementów programowania w PHP: (1) co znaczy, że funkcja "zwraca wynik", oraz (2) jak zapisać wyrażenie odpowiadające "połowie kwadratu wartości".

Dlaczego poprawne jest function licz($a) { return $a*$a/2; }:

  • "Połowa kwadratu" oznacza, że najpierw obliczamy kwadrat argumentu, czyli $a * $a, a dopiero potem bierzemy z tego połowę, czyli dzielimy przez 2. Zapis $a*$a/2 spełnia to wymaganie.
  • Sformułowanie "jako wynik zwraca" wymaga użycia return. Dzięki temu wynik może być użyty dalej, np. przypisany do zmiennej: $x = licz(10);

Dlaczego odpowiedzi z "echo" są błędne:

  • Wariant function licz($a) { echo $a*$a/2; } oblicza właściwą wartość, ale jej nie zwraca — tylko wypisuje na wyjście. Wywołanie takiej funkcji nie daje wartości do dalszych obliczeń (z punktu widzenia testu: nie spełnia warunku "zwraca jako wynik").
  • Wariant function licz($a) { echo $a/2; } dodatkowo liczy inną rzecz (połowę liczby), więc nie spełnia też warunku matematycznego.

Dlaczego odpowiedzi z "return $a/2" są błędne:

  • Wariant function licz($a) { return $a/2; } zwraca wartość, ale nie jest to połowa kwadratu, tylko połowa samego argumentu. Dla $a=4 zwróci 2, a "połowa kwadratu" powinna dać (16)/2 = 8.

Wskazówka egzaminacyjna: gdy w treści jest "zwraca", szukaj return. Gdy jest "wyświetla/wypisuje", wtedy pasuje echo. To częsta oś rozróżnienia w zadaniach z PHP.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Oznacza to, że funkcja używa return, aby przekazać obliczoną wartość do miejsca wywołania. Taki wynik można przypisać do zmiennej lub użyć w dalszych obliczeniach. Samo wypisanie przez echo nie daje wartości do użycia w kodzie.
return kończy działanie funkcji i przekazuje wartość jako rezultat wywołania. echo wysyła tekst/zmienną na wyjście (np. do przeglądarki), ale nie "zwraca" wartości funkcji do kodu. W zadaniach egzaminacyjnych to rozróżnienie jest kluczowe.
Najpierw liczysz kwadrat: a*a, a potem dzielisz przez 2: (a*a)/2. W PHP zapis $a*$a/2 jest równoważny, bo mnożenie i dzielenie mają ten sam priorytet i wykonują się od lewej do prawej.
Ponieważ echo wypisuje wartość, a nie przekazuje jej do miejsca wywołania. Gdy później chcesz użyć rezultatu w obliczeniach (np. $x = licz(5);), funkcja z echo nie dostarczy wartości w zmiennej $x w oczekiwany sposób.
Tak, w tym przypadku wynik jest taki sam. Mnożenie i dzielenie mają ten sam priorytet, więc działają kolejno od lewej do prawej. Dla czytelności w nauce i na egzaminie często poleca się nawiasy, ale nie są one konieczne do poprawności.
Najczęściej myli się echo z return, bo oba "dają wynik", ale w inny sposób. Drugi typ błędu to matematyka: wybór $a/2 zamiast połowy kwadratu. Pomaga sprawdzenie na prostej liczbie, np. 4.
Podstaw przykładową wartość, np. $a=4. "Połowa kwadratu" to (4*4)/2 = 8. Funkcja poprawna powinna zwrócić 8. Jeśli zwraca 2, to znaczy, że liczona jest połowa liczby, a nie połowa kwadratu.
Gdy budujesz logikę aplikacji: walidację danych, obliczenia cen, rabatów, podatków, przeliczenia jednostek itp. Funkcje zwracające wynik są też łatwiejsze do testowania i ponownego użycia niż funkcje, które od razu coś wypisują na ekran.
Może, ale zwykle nie jest to dobre w warstwie logiki. return służy do przekazania wyniku do kodu, a echo do prezentacji (wyjścia). W zadaniach egzaminacyjnych, gdy jest mowa o "zwracaniu wyniku", oczekuje się użycia return.
Ćwicz krótkie przykłady: definicja funkcji, argumenty, return, różnica między zwracaniem a wypisywaniem. Warto rozwiązać zadania, gdzie trzeba przewidzieć wynik wywołania funkcji i wykryć, czy rezultat jest zwracany, czy tylko wyświetlany.
info

Około 56% zdających odpowiada poprawnie na to pytanie. średnie

Według specjalistów z branży: "Poprawna jest funkcja, która zwraca wynik przez return oraz liczy "połowę kwadratu": najpierw a*a, potem dzielenie przez 2."

Źródła:

  • PHP Manual: Returning values (return) — https://www.php.net/manual/en/functions.returning-values.php (dostęp: 2026-02-27)
  • PHP Manual: echo — https://www.php.net/manual/en/function.echo.php (dostęp: 2026-02-27)
  • PHP Manual: Arithmetic Operators — https://www.php.net/manual/en/language.operators.arithmetic.php (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja PHP: funkcje i zwracanie wartości
  • Dokumentacja PHP: echo i wyjście
  • Ćwiczenia z pisania funkcji oraz testów prostych obliczeń

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego