KWALIFIKACJA INF3 - STYCZEŃ 2023 (test 2)

PYTANIE NR 7.
Które wywołanie funkcji PHP round() zwróci wartość 1?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
round(0.60) zwraca 1, bo funkcja zaokrągla do najbliższej liczby całkowitej (domyślnie do 0 miejsc). Dla 0.29 wynikiem jest 0. Liczby ujemne zaokrąglają się odpowiednio do −1 (dla −1.40) oraz do −5 (dla −4.60), więc nie dają wartości 1.

Pełne wyjaśnienie:

Funkcja round() w PHP służy do zaokrąglania liczby do zadanej precyzji. Gdy wywołujemy ją z jednym argumentem, domyślnie zaokrągla do 0 miejsc po przecinku, czyli do najbliższej liczby całkowitej.

Wartość 0.60 leży bliżej 1 niż 0, dlatego round(0.60) zwraca 1. Wartość 0.29 jest bliżej 0 niż 1, więc po zaokrągleniu otrzymamy 0.

W odpowiedziach z liczbami ujemnymi trzeba pamiętać, że zaokrąglanie odbywa się na osi liczbowej: −1.40 jest bliżej −1 niż −2, więc wynikiem będzie −1. Natomiast −4.60 jest bliżej −5 niż −4, więc wynikiem jest −5.

Typowa pułapka na egzaminie to mechaniczne traktowanie liczb ujemnych jak dodatnich (błąd znaku) albo pomijanie faktu, że round() ma też parametry opcjonalne (precyzja i tryb), które w innych zadaniach mogą zmienić rezultat w przypadkach granicznych. W tym zestawie wartości są na tyle "daleko" od połówek, że decyduje proste porównanie odległości do najbliższych całkowitych.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Funkcja round() zaokrągla liczbę zmiennoprzecinkową do wskazanej precyzji. Gdy podasz tylko jedną wartość, domyślnie zaokrągla do 0 miejsc po przecinku, czyli zwraca liczbę całkowitą (jako float lub int zależnie od kontekstu).
Wywołanie round($x) (bez drugiego parametru) oznacza zaokrąglenie do najbliższej liczby całkowitej. W praktyce porównujesz odległość od sąsiednich całkowitych: np. 0.60 jest bliżej 1, a 0.29 bliżej 0.
Bo 0.60 jest bliżej 1 niż 0. Funkcja round() wybiera najbliższą wartość całkowitą przy domyślnej precyzji. To klasyczne zaokrąglenie do najbliższej liczby, a nie obcięcie części ułamkowej.
Dla liczb ujemnych round() nadal wybiera najbliższą liczbę całkowitą na osi liczbowej. Przykładowo −1.40 jest bliżej −1 niż −2, więc wynikiem będzie −1. To częste źródło pomyłek, gdy ktoś "gubi" znak minus.
−4.60 jest bliżej −5 niż −4, więc zaokrąglenie do 0 miejsc po przecinku da −5. Warto myśleć o odległościach: do −5 jest 0.40, a do −4 jest 0.60.
round() zaokrągla do najbliższej wartości (zależnie od precyzji i trybu). floor() zawsze zaokrągla w dół (do mniejszej całkowitej), a ceil() w górę (do większej całkowitej). Różnice są szczególnie widoczne dla liczb ujemnych.
Drugi parametr (liczba miejsc) stosuje się, gdy chcesz wynik z określoną liczbą cyfr po przecinku, np. do prezentacji cen lub danych statystycznych. Przykład: round(3.14159, 2) da w przybliżeniu 3.14.
Tak, czasem wyniki mogą być zaskakujące, bo liczby typu float są zapisywane przybliżeniowo w pamięci. To może wpływać na wartości bardzo bliskie granicy zaokrąglenia. Na egzaminie zwykle podaje się liczby "bezpieczne", ale warto o tym pamiętać w praktyce.
Najpierw ustal, czy jest podany parametr precyzji (liczba miejsc). Jeśli nie ma, zaokrąglasz do całości. Potem porównaj odległości do sąsiednich całkowitych. Dla ujemnych liczby rób to samo, tylko na osi z minusem.
Najczęstsze błędy to: mylenie round() z obcięciem części ułamkowej, pomyłki dla liczb ujemnych oraz ignorowanie wpływu parametrów opcjonalnych (precyzja/tryb). Pomaga szybkie policzenie odległości do sąsiednich liczb całkowitych.
info

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

Specjaliści zwracają uwagę: "round(0.60) zwraca 1, bo funkcja zaokrągla do najbliższej liczby całkowitej (domyślnie do 0 miejsc)."

Źródła:

  • PHP Manual: round — Rounds a float, https://www.php.net/manual/en/function.round.php (dostęp: 2026-02-27)
  • PHP Manual: Floating point numbers (float) — opis precyzji i reprezentacji, https://www.php.net/manual/en/language.types.float.php (dostęp: 2026-02-27)
  • PHP Manual: Mathematical Functions (indeks funkcji matematycznych), https://www.php.net/manual/en/ref.math.php (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja PHP: opis funkcji round() i jej parametrów
  • Materiały o typie float w PHP i precyzji obliczeń
  • Zadania praktyczne: porównanie round(), floor(), ceil() na dodatnich i ujemnych liczbach

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego