KWALIFIKACJA INF3 - STYCZEŃ 2016

PYTANIE NR 33.
Przedstawiona funkcja zapisana kodem JavaScript ma za zadanie
Ilustracja przedstawia fragment kodu napisanego w języku JavaScript, który jest funkcją o nazwie 'oblicz'.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź wskazuje na obliczenie potęgi an, czyli uzyskanie wyniku przez wielokrotne mnożenie liczby a przez siebie n razy i zwrócenie tej wartości (return). Pozostałe opcje opisują wypisywanie liczb lub zwykłe mnożenie a·n, co jest inną operacją.

Pełne wyjaśnienie:

Pytanie dotyczy rozpoznania, jaki jest cel funkcji zapisanej w JavaScript. W praktyce w takich zadaniach trzeba odróżnić trzy rzeczy: (1) czy funkcja zwraca wartość (np. przez return), (2) czy wykonuje efekt uboczny w postaci wypisywania/wyświetlania, oraz (3) jaką operację matematyczną realizuje.

Odpowiedź "zwrócić wynik potęgowania an" jest zgodna z typowym algorytmem potęgowania całkowitego, w którym buduje się zmienną wynikową i w pętli wykonuje się powtarzane mnożenie przez a dokładnie n razy. Kluczowe jest tu słowo zwrócić – oznacza przekazanie obliczonego wyniku jako wartości funkcji.

Dlaczego pozostałe propozycje są niepoprawne?

  • "wypisać kolejne liczby od a do n" opisuje generowanie i prezentację ciągu liczb, a nie obliczenie jednej wartości będącej potęgą. To inny cel programu (iteracja po zakresie).
  • "wypisać wynik mnożenia a przez n" odpowiada operacji a·n (mnożenie dwóch liczb), a nie an (potęga). Te działania dają różne wyniki już dla małych wartości (np. a=2, n=3: 2·3=6, ale 23=8).
  • "zwrócić iloczyn kolejnych liczb od 1 do a" przypomina algorytm silni lub iloczyn pewnego zakresu. To również inna konstrukcja: mnoży się kolejne liczby 1,2,3… aż do a, zamiast powtarzać mnożenie przez stałą wartość a.

Wskazówka egzaminacyjna: najpierw znajdź, co jest akumulowane (zmienna typu wynik/suma/iloczyn), potem sprawdź, co dzieje się w pętli (czy mnożysz przez a, czy przez licznik pętli), a na końcu upewnij się, czy wynik jest zwracany czy tylko wypisywany.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Zwracanie wartości oznacza, że funkcja kończy działanie instrukcją return i przekazuje obliczony wynik do miejsca wywołania. To różni się od wypisywania w konsoli lub na stronie, bo wynik można dalej użyć w obliczeniach, warunkach, zapisie do bazy itp.
Mnożenie a·n to iloczyn dwóch liczb. Potęgowanie an oznacza mnożenie liczby a przez siebie n razy. Dla a=2 i n=3 otrzymasz 6 dla a·n, ale 8 dla an. Na egzaminie to częsta pułapka.
Najprościej tworzy się zmienną wynik ustawioną na 1, a następnie wykonuje się pętlę powtarzaną n razy, w której wynik jest mnożony przez a. Na końcu funkcja zwraca wynik. To podejście działa dla całkowitych, nieujemnych wykładników.
Bo zadanie zwykle pyta o cel funkcji i jej wynik logiczny, a nie o efekt uboczny na ekranie. Wypisywanie (np. w konsoli) to prezentacja danych, a nie zwracanie wartości. Jeśli w kodzie jest return, to najczęściej chodzi o wynik obliczeń.
Iloczyn kolejnych liczb 1·2·3·…·a to konstrukcja znana z matematyki (często kojarzona z silnią, gdy a jest liczbą całkowitą nieujemną). To inny algorytm niż potęgowanie, bo w pętli mnoży się przez zmieniający się licznik, a nie stale przez tę samą wartość a.
Szukaj zmiennej wynikowej inicjowanej na 1 oraz pętli wykonywanej n razy, w której wynik jest mnożony przez a. Alternatywnie potęgowanie może być zapisane operatorem **. Jeśli mnożysz przez licznik pętli, to częściej jest to iloczyn kolejnych liczb.
Tak, w JavaScript istnieje operator potęgowania **, np. 2 ** 3 daje 8. W zadaniach egzaminacyjnych potęgowanie bywa też realizowane pętlą (w celach dydaktycznych), aby sprawdzić rozumienie iteracji i akumulowania wyniku.
Math.pow(a, n) (lub **) jest czytelne i standardowe w kodzie produkcyjnym. Pętla jest przydatna w nauce i na egzaminie, gdy trzeba pokazać zrozumienie algorytmu, pętli i zmiennych. W praktyce pętla bywa używana też w specyficznych ograniczeniach.
Najczęstsze błędy to: pomylenie liczby iteracji (np. pętla do n vs do n-1), pomylenie tego, co jest mnożone (stała vs licznik), oraz ignorowanie miejsca, gdzie pojawia się return. Pomaga rozpisanie kilku kroków działania dla małych liczb.
Podstaw małe wartości, np. a=2 i n=3, i prześledź 2–3 iteracje "na kartce". Jeśli wynik rośnie jak 2, 4, 8, to jest potęgowanie. Jeśli rośnie jak 2, 4, 6 (dodawanie) lub daje 6 (2·3), to nie jest an. To dobra technika egzaminacyjna.
info

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

Eksperci podkreślają: "Poprawna odpowiedź wskazuje na obliczenie potęgi an, czyli uzyskanie wyniku przez wielokrotne mnożenie liczby a przez siebie n razy i zwrócenie tej wartości (return)."

Źródła:

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

Materiały:

  • MDN Web Docs: funkcje w JavaScript (Functions)
  • MDN Web Docs: instrukcja return
  • MDN Web Docs: operatory arytmetyczne i potęgowanie

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego