KWALIFIKACJA INF3 - CZERWIEC 2021 (test 2)

PYTANIE NR 2.
Przedstawiona funkcja zapisana w języku JavaScript ma za zadanie
Ilustracja przedstawia fragment kodu napisanego w języku JavaScript.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź dotyczy zwrócenia (return) wyniku działania funkcji, a nie jego wypisania. Funkcja oblicza wartość bezwzględną zmiennej f, czyli wartość nieujemną. Odpowiedzi o "odwrotności" dotyczą innej operacji (1/f), a warianty "wypisać" sugerują użycie np. console.log.

Pełne wyjaśnienie:

W JavaScript trzeba rozróżniać dwie często mylone czynności: zwracanie wartości przez funkcję oraz wypisywanie wartości (np. do konsoli lub na stronę).

  • Zwrócić wartość oznacza, że funkcja kończy działanie instrukcją return i przekazuje wynik do miejsca wywołania. Taki wynik można przypisać do zmiennej, użyć w dalszych obliczeniach lub przekazać do innej funkcji.
  • Wypisać wartość oznacza wyświetlenie/zalogowanie wyniku, np. przez console.log(...) lub modyfikację DOM. To nie jest to samo co return: samo wypisanie nie daje automatycznie wyniku "na zewnątrz" funkcji do dalszego użycia.

W tym zadaniu prawidłowa odpowiedź wskazuje, że przedstawiona funkcja ma za zadanie zwrócić wartość bezwzględną z f. Wartość bezwzględna (moduł) to wartość liczby bez znaku: dla dodatnich pozostaje taka sama, a dla ujemnych zmienia znak na dodatni. W JavaScript typowo odpowiada temu operacja w stylu Math.abs(f) (choć konkretna implementacja może być zapisana inaczej).

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

  • "zwrócić wartość odwrotną do f" – odwrotność to zupełnie inna operacja matematyczna: 1 / f. Nie jest równoważna modułowi i ma inne własności (np. dla f bliskiego zera rośnie do bardzo dużych wartości).
  • "wypisać wartość bezwzględną z f" – opisuje czynność prezentacji wyniku, a nie zwracania. Nawet jeśli w kodzie pojawiłoby się logowanie, nie jest to to samo co funkcja zwracająca wynik do dalszego wykorzystania.
  • "wypisać wartość odwrotną do f" – łączy dwa błędy naraz: błędną operację (odwrotność zamiast modułu) oraz błędny efekt (wypisywanie zamiast zwracania).

Wskazówka egzaminacyjna: zawsze szukaj w funkcji, czy pojawia się return (zwracanie), czy wywołania w rodzaju console.log (wypisywanie). Dodatkowo rozpoznawaj operację: moduł/abs dotyczy znaku, a odwrotność dotyczy dzielenia 1 przez f.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
"Zwraca" znaczy, że używa return i przekazuje wynik do miejsca wywołania. Tę wartość można przypisać do zmiennej lub użyć w obliczeniach. To inne działanie niż wyświetlenie w konsoli.
return oddaje wynik funkcji na zewnątrz (do dalszego użycia), a console.log tylko wypisuje informację (np. do debugowania). Funkcja może logować, ale bez return nie musi "zwracać" obliczonej wartości.
Wartość bezwzględna (moduł) to liczba bez znaku: dla 5 to 5, dla -5 to 5. Używa się jej, gdy liczy się rozmiar/odchylenie, a nie kierunek, np. różnica między dwiema wartościami.
Najczęściej stosuje się Math.abs(x), które zwraca nieujemny wynik. Warto pamiętać, że argument powinien być liczbą (lub dającą się na liczbę przekonwertować), inaczej mogą pojawić się wartości typu NaN.
Wartość odwrotna to 1/f. To nie jest to samo co wartość bezwzględna. Odwrotność zmienia skalę (np. 1/2 = 0,5), a dla f=0 jest nieokreślona, więc w kodzie trzeba uważać na dzielenie przez zero.
Bo sprawdzają inne umiejętności: "zwrócić" dotyczy poprawnego zaprojektowania funkcji i jej wyniku, a "wypisać" dotyczy prezentacji/debugowania. Na egzaminie jedno słowo potrafi zmienić sens całego zadania.
Najprościej sprawdzić, czy w ciele funkcji występuje return z wyrażeniem. Jeśli jest tylko np. console.log albo modyfikacja DOM, to funkcja może nic nie zwracać (zwraca wtedy undefined).
Math.abs(f) nie zmienia automatycznie zmiennej f — zwraca nową wartość. Jeśli chcesz nadpisać zmienną, musisz jawnie przypisać: f = Math.abs(f). To częsty błąd w zadaniach.
Częste błędy to: mylenie return z logowaniem, nieuwaga na nazwę operacji (moduł vs odwrotność), brak obsługi wartości 0 przy dzieleniu oraz założenie, że funkcja "coś pokaże", choć tylko zwraca wynik.
Najczęściej tak, ale zależy od miejsca w HTML i ewentualnych błędów w JS. Jeśli skrypt ma manipulować DOM, często trzeba go uruchomić po załadowaniu dokumentu. Sam fakt istnienia kodu nie oznacza jeszcze, że wynik zostanie "wypisany".
info

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

W praktyce zawodowej kluczowe jest to, że poprawna odpowiedź dotyczy zwrócenia (return) wyniku działania funkcji, a nie jego wypisania.

Źródła:

  • MDN Web Docs: Math.abs() - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs - accessed 2026-02-18
  • MDN Web Docs: return statement - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/return - accessed 2026-02-18
  • MDN Web Docs: console.log() - https://developer.mozilla.org/en-US/docs/Web/API/console/log_static - accessed 2026-02-18

Materiały:

  • Dokumentacja MDN: funkcje i instrukcja return w JavaScript
  • Dokumentacja MDN: Math.abs() oraz operacje na liczbach
  • Ćwiczenia: krótkie funkcje zwracające wynik vs. funkcje logujące wynik

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego