KWALIFIKACJA INF3 - STYCZEŃ 2017

PYTANIE NR 35.
W języku JavaScript zapisano funkcję.

Ma ona za zadanie

Ilustracja przedstawia fragment kodu napisanego w języku JavaScript, który jest częścią pytania egzaminacyjnego dotyczącego
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawne jest "zwrócić wartość bezwzględną z f", bo opis wskazuje na funkcję, której wynikiem ma być moduł liczby (|f|) przekazany na zewnątrz, a nie tylko wyświetlony. "Odwrotna do f" oznacza 1/f (inne działanie), a "wypisać" dotyczy wyjścia (np. konsoli), nie zwracania wartości.

Pełne wyjaśnienie:

W JavaScript funkcja może zwracać wynik (czyli oddawać go do miejsca wywołania), albo może jedynie wykonywać działania z efektem ubocznym, np. wypisywać tekst w konsoli. W pytaniu rozróżnienie jest kluczowe: słowo "zwrócić" oznacza, że rezultat ma być dostępny jako wartość wyrażenia po wywołaniu funkcji (np. można go przypisać do zmiennej).

"Wartość bezwzględna" to w matematyce moduł liczby, czyli liczba nieujemna opisująca jej odległość od zera na osi liczbowej: dla dodatnich pozostaje taka sama, dla ujemnych zmienia znak na dodatni. Dlatego opis "zwrócić wartość bezwzględną z f" odpowiada funkcji, która oblicza |f| i oddaje ten wynik.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "zwrócić wartość odwrotną do f" dotyczy innej operacji: odwrotność to 1/f. To nie jest to samo co wartość bezwzględna i dodatkowo ma ograniczenie dla f=0 (odwrotność nie jest wtedy określona).
  • "wypisać wartość bezwzględną z f" miesza dwa różne cele: obliczenie modułu jest zgodne, ale "wypisać" sugeruje logowanie/wyświetlanie (np. console.log) zamiast zwrócenia wyniku z funkcji. Taka funkcja może być mniej użyteczna w programie, bo nie daje wyniku do dalszych obliczeń.
  • "wypisać wartość odwrotną do f" jest podwójnie niezgodne: dotyczy innej operacji (1/f) i dodatkowo dotyczy wypisywania, a nie zwracania wyniku.

Na egzaminie warto zawsze czytać czasownik w treści odpowiedzi: zwrócić (wynik funkcji) vs wypisać (prezentacja/diagnostyka). To często decyduje o wyborze nawet wtedy, gdy fragment matematyczny wygląda podobnie.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
To znaczy, że po wykonaniu funkcji otrzymujesz jej wynik jako wartość wyrażenia (np. możesz przypisać go do zmiennej). Zwracanie realizuje się instrukcją return; bez niej funkcja zwykle zwraca undefined.
Zwracanie daje wynik do dalszych obliczeń w kodzie (np. przypisanie, porównanie). Wypisywanie (np. do konsoli) służy prezentacji lub debugowaniu i nie przekazuje wyniku do miejsca wywołania w użyteczny sposób.
Wartość bezwzględna (moduł) to liczba nieujemna równa odległości liczby od zera. Dla f dodatniego jest to f, a dla f ujemnego jest to -f. W JavaScript często kojarzy się to z funkcją obliczającą |f|.
Wartość odwrotna do f to 1/f. Nie jest określona dla f równego 0, bo nie wolno dzielić przez zero. Na testach łatwo ją pomylić z wartością bezwzględną, bo oba pojęcia są krótkie, ale znaczą co innego.
Bo wskazuje, że funkcja ma dostarczyć wynik do dalszej części programu, a nie tylko coś pokazać. W wielu zadaniach dwie odpowiedzi różnią się wyłącznie "zwrócić" vs "wypisać", a to zmienia sens: wynik funkcji kontra efekt uboczny (np. logowanie).
Wypisywanie zwykle używa wywołań typu console.log(...) albo modyfikuje stronę (np. DOM). Zwracanie rozpoznasz po instrukcji return. Jeśli jest tylko logowanie, a brak return, to wynik nie jest przekazywany na zewnątrz.
Tak. Może najpierw wypisać wynik do konsoli (debugowanie), a potem go zwrócić instrukcją return. Na egzaminie jednak pytanie zwykle wymaga wskazania głównego zadania funkcji: czy wynikiem ma być wartość zwrócona, czy tylko informacja wyświetlona.
Najczęstsze to: mylenie |f| z 1/f, ignorowanie różnicy "zwrócić"/"wypisać", oraz pomijanie przypadku f=0 przy odwrotności. Warto też uważać na to, czy wynik ma być użyty dalej w obliczeniach (wtedy potrzebny jest zwrot).
Ćwicz krótkie funkcje: jedne mają zwracać wynik, inne tylko logować. Sprawdzaj, co trafia do zmiennej po wywołaniu funkcji. Rób mini-testy: "co zwróci funkcja?" oraz "co zostanie wypisane w konsoli?" — to rozróżnienie często pojawia się na egzaminie.
Gdy debugujesz i chcesz szybko zobaczyć wartości pośrednie, bez zmiany logiki programu. Konsola jest narzędziem diagnostycznym. W kodzie produkcyjnym i w zadaniach obliczeniowych lepiej zwracać wynik, aby inne fragmenty programu mogły go wykorzystać.
info

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

Według specjalistów z branży: "Poprawne jest "zwrócić wartość bezwzględną z f", bo opis wskazuje na funkcję, której wynikiem ma być moduł liczby (|f|) przekazany na zewnątrz, a nie tylko wyświetlony."

Źródła:

  • MDN Web Docs: "Math.abs()" — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs (dostęp: 2026-03-05)
  • MDN Web Docs: "return" statement — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/return (dostęp: 2026-03-05)
  • MDN Web Docs: "console.log()" — https://developer.mozilla.org/en-US/docs/Web/API/console/log_static (dostęp: 2026-03-05)

Materiały:

  • Dokumentacja MDN: instrukcja return w JavaScript
  • Dokumentacja MDN: Math.abs()
  • Dokumentacja MDN: console.log() i podstawy debugowania

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego