KWALIFIKACJA INF3 - CZERWIEC 2018

PYTANIE NR 36.
W języku JavaScript stworzono funkcję o nazwie liczba_max porównującą trzy liczby naturalne pobrane z parametrów funkcji i zwracającą maksymalną z nich. Prawidłowe wywołanie takiej funkcji wraz z pobraniem jej wyniku będzie miało postać
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Aby "pobrać wynik" funkcji w JavaScript, trzeba przypisać wartość zwróconą przez return do zmiennej, np. przez deklarację i operator =: var wynik = liczba_max(a, b, c);
Pozostałe zapisy albo nie przechwytują wyniku, albo są błędne składniowo.

Pełne wyjaśnienie:

W JavaScript funkcja może zwrócić wartość (np. największą z trzech liczb) za pomocą instrukcji return. Samo wywołanie funkcji oblicza wynik, ale jeżeli program ma go potem użyć (wyświetlić, porównać dalej, przekazać do innej funkcji), trzeba tę wartość przechwycić poprzez przypisanie do zmiennej.

Poprawny wzorzec zapisu ma cztery elementy: deklarację zmiennej (var/let/const), operator przypisania =, wywołanie funkcji z właściwą liczbą argumentów w nawiasach oraz zwyczajowy średnik na końcu instrukcji. Dlatego zapis "var wynik = liczba_max(a, b, c);" spełnia warunek zadania: wywołuje funkcję i jednocześnie zapisuje jej wynik w zmiennej.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "liczba_max(a, b, c, wynik);" sugeruje podejście z języków, w których przekazuje się parametr wyjściowy. W JavaScript standardowo wynik zwraca się przez return, a dodatkowy argument zmienia sygnaturę wywołania (4 argumenty zamiast 3) i nie gwarantuje przechwycenia wartości.
  • "liczba_max(a, b, c) = wynik;" jest błędem składniowym: nie można przypisywać wartości do wywołania funkcji. Po lewej stronie przypisania musi być zmienna lub właściwość, a nie wynik wykonania.
  • "liczba_max(a, b, c);" jest poprawnym wywołaniem, ale nie spełnia wymogu "wraz z pobraniem wyniku" — zwrócona wartość nie zostaje zapisana, więc zwykle jest tracona.

W praktyce na egzaminie warto pamiętać prostą zasadę: jeśli funkcja coś zwraca, to najczęściej zapisujesz to jako "zmienna = funkcja(...)".

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Przechwycisz ją przez przypisanie wyniku wywołania do zmiennej: zmienna = funkcja(...). Funkcja musi użyć return, aby zwrócić wartość. Bez przypisania wynik zwykle "przepada", bo nie jest nigdzie zapisany.
return kończy działanie funkcji i oddaje (zwraca) wskazaną wartość do miejsca, w którym funkcja została wywołana. Dzięki temu można wynik zapisać do zmiennej, użyć w wyrażeniu albo przekazać dalej jako argument innej funkcji.
Po lewej stronie operatora = musi być coś, do czego da się przypisać wartość (np. zmienna lub właściwość obiektu). Wywołanie funkcji funkcja(a) nie jest "miejscem w pamięci", tylko obliczeniem. Taki zapis jest więc błędem składniowym.
Nie w sensie praktycznym. Funkcja może zwrócić wartość, ale jeśli napiszesz tylko liczba_max(a, b, c);, to nie zapisujesz jej do zmiennej ani nigdzie nie używasz. Wynik zostaje obliczony, ale zwykle jest natychmiast tracony.
Wszystkie mogą przechwycić wynik: var/let/const wynik = funkcja(). Różnią się zasięgiem i możliwością zmiany wartości: const nie pozwala ponownie przypisać, let ma zasięg blokowy, a var jest starsze i ma zasięg funkcji.
Można przekazać dodatkowy argument, ale to nie jest standardowy "parametr wyjściowy" znany z innych języków. Jeśli chcesz uzyskać rezultat obliczeń, najprościej zwrócić go przez return i przypisać do zmiennej. Dodatkowe argumenty zmieniają sposób wywołania.
Najprościej wykonać kilka testów: np. (1,2,3) powinno dać 3, (5,1,4) powinno dać 5, a (7,7,3) powinno dać 7. Na egzaminie zwracaj uwagę, czy w kodzie jest return oraz czy wynik wywołania jest gdzieś użyty.
Najpierw przechwyć wynik do zmiennej, np. let wynik = liczba_max(a,b,c);, a potem użyj go w wyświetlaniu (np. w konsoli lub w DOM). Kluczowe jest przypisanie, bo bez niego nie masz stabilnej wartości do wstawienia w interfejs.
Typowe pomyłki to: (1) wywołanie bez przypisania, (2) próba przypisania do wywołania funkcji, (3) dopisywanie "parametru wyjściowego" zamiast użycia return, (4) zła liczba argumentów. W zadaniach testowych to właśnie takie pułapki pojawiają się najczęściej.
Szukaj sformułowań typu: "pobranie wyniku", "zapisanie wyniku", "przechwycenie wartości zwracanej". To oznacza, że samo wywołanie nie wystarczy — musi pojawić się operator = i zmienna po lewej stronie, np. wynik = funkcja(...).
info

Statystycznie 76% uczniów zna prawidłową odpowiedź. średnio łatwe

Źródła:

  • MDN Web Docs: return — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/return (dostęp: 2026-03-01)
  • MDN Web Docs: Functions — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions (dostęp: 2026-03-01)
  • MDN Web Docs: var — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var (dostęp: 2026-03-01)

Materiały:

  • MDN Web Docs: sekcja o funkcjach (Functions) i wywołaniach funkcji
  • MDN Web Docs: opis instrukcji return
  • MDN Web Docs: deklaracje zmiennych var/let/const i zasięg

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego