KWALIFIKACJA INF3 - CZERWIEC 2022 (test 2)

PYTANIE NR 33.
W języku JavaScript stworzono funkcję o nazwie licz_pitagoras, która oblicza długość przeciwprostokątnej trójkąta prostokątnego, zgodnie z twierdzeniem Pitagorasa. Funkcja pobiera dwa parametry wejściowe i zwraca wartość. Prawidłowe wywołanie takiej funkcji, wraz z pobraniem zwróconego wyniku, będzie miało postać
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawne jest: c = licz_pitagoras(a, b);
Funkcja zwraca wartość (np. przez return), więc aby "pobrać wynik", trzeba przypisać rezultat wywołania do zmiennej. Pozostałe propozycje albo nie zapisują wyniku, albo mają złą liczbę argumentów, albo błędną składnię przypisania.

Pełne wyjaśnienie:

W JavaScript funkcja, która zwraca wartość, oddaje wynik do miejsca, w którym została wywołana (typowo poprzez instrukcję return). Jeżeli chcemy ten wynik zachować i użyć dalej w programie, musimy przypisać go do zmiennej.

Dlatego poprawny zapis ma postać:

c = licz_pitagoras(a, b);

  • licz_pitagoras(a, b) – to wywołanie funkcji z dwoma argumentami (odpowiada dwóm parametrom wejściowym).
  • c = ... – operator przypisania zapisuje wartość zwróconą przez funkcję do zmiennej c.

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

  • licz_pitagoras(a, b, c); – przekazuje trzy argumenty, mimo że w treści wskazano dwa parametry wejściowe. To typowy błąd mylenia "zmiennej na wynik" z dodatkowym parametrem funkcji.
  • licz_pitagoras(a, b); – samo wywołanie jest składniowo poprawne, ale nie spełnia wymogu pobrania wyniku, bo wartość zwrócona nie jest nigdzie zapisana (zostaje pominięta).
  • licz_pitagoras(a, b) = c; – niepoprawne, bo nie przypisuje się wartości do wywołania funkcji. Po lewej stronie operatora = musi znajdować się przypisywalna referencja (np. zmienna), a nie wynik działania.

W praktyce w nowoczesnym kodzie często dodatkowo deklaruje się zmienną (np. let lub const), ale kluczową kompetencją w tym pytaniu jest rozpoznanie, że wynik funkcji należy przechwycić przez przypisanie.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Aby zapisać wynik, użyj przypisania do zmiennej: wynik = funkcja(arg1, arg2);. Funkcja oddaje wartość przez return, a operator = zapisuje ją do zmiennej, którą potem możesz wykorzystać w dalszym kodzie.
To znaczy, że po wykonaniu obliczeń oddaje wynik do miejsca wywołania (najczęściej przez return). Dzięki temu możesz np. przypisać wynik do zmiennej, użyć go w warunku if albo wstawić do innego wyrażenia.
Gdy napiszesz tylko funkcja(a, b);, wynik (jeśli jest zwracany) nie jest nigdzie przechowywany, więc program go "gubi". To ma sens tylko wtedy, gdy funkcja ma skutki uboczne (np. wypisuje coś), a nie gdy chcesz wykorzystać wartość.
W JavaScript standardowo pobiera się wynik przez wartość zwracaną, a nie przez "parametr wyjściowy". Jeśli funkcja ma dwa parametry wejściowe, to wywołanie z trzema argumentami jest niezgodne z założeniem zadania i zwykle oznacza błąd rozumienia.
Po lewej stronie operatora = musi być coś, do czego da się przypisać (np. zmienna). Wywołanie funkcji licz_pitagoras(a, b) jest obliczeniem, a nie "pojemnikiem" na dane, więc taki zapis jest składniowo i logicznie niepoprawny.
Parametry są w definicji funkcji (np. function f(x, y)), a argumenty w jej wywołaniu (np. f(2, 3)). W zadaniu dwa parametry wejściowe oznaczają, że w wywołaniu podajesz dokładnie dwa argumenty.
Najprościej zajrzeć do definicji funkcji i sprawdzić, czy używa return. Możesz też wykonać console.log(funkcja(a,b)) i zobaczyć, co pojawia się w konsoli. Jeśli jest undefined, funkcja nie zwróciła wartości.
Najpierw pobierz wartości (np. z pól formularza), a potem wywołaj funkcję i zapisz wynik: c = licz_pitagoras(a, b);. Następnie możesz wyświetlić c w HTML (np. w elemencie) albo użyć w dalszych obliczeniach w skrypcie.
W nowoczesnym kodzie jest to zalecane: użyj let lub const, np. const c = licz_pitagoras(a, b);. Samo przypisanie bez deklaracji może prowadzić do problemów (np. w trybie ścisłym) i jest uznawane za złą praktykę.
Typowe błędy to: podanie złej liczby argumentów, brak przypisania wartości zwracanej do zmiennej, mylenie argumentów z parametrami oraz próba "przypisania do funkcji" (np. funkcja() = x). Na egzaminie czytaj uważnie, czy trzeba wynik zachować.
info

To pytanie poprawnie rozwiązuje 81% zdających egzamin. średnio łatwe

Według specjalistów z branży: "Poprawne jest: c = licz_pitagoras(a, b);Funkcja zwraca wartość (np. przez return), więc aby "pobrać wynik", trzeba przypisać rezultat wywołania do zmiennej."

Źródła:

  • MDN Web Docs: "Functions" (JavaScript Guide) – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions (dostęp: 2026-02-18)
  • MDN Web Docs: "return" (JavaScript) – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/return (dostęp: 2026-02-18)
  • MDN Web Docs: "Expressions and operators" (Assignment operators) – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_operators#assignment_operators (dostęp: 2026-02-18)

Materiały:

  • Dokumentacja MDN: Functions (JavaScript)
  • Dokumentacja MDN: return (JavaScript)
  • Ćwiczenia: definiowanie funkcji, przekazywanie argumentów i przypisywanie wyniku do zmiennych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego