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.