Przejdź do treści głównej
INF.03Pytanie #1077 z 1558js-skladnia-i-zmienne

Którą wartość zwróci funkcja zlicz napisana w języku JavaScript, jeżeli zostanie wywołana w następujący sposób: zlicz(1, 5, 3, 10);?

Opcje odpowiedzi:
A
1
B
5
C
3
Prawidłowa
D
10
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: C (3)

3.

Przeanalizujmy działanie funkcji zlicz(a, b, c, wynik) krok po kroku z podanymi argumentami: zlicz(1, 5, 3, 10). Oznacza to, że:

  • a = 1
  • b = 5
  • c = 3
  • początkowa wartość wynik = 10

Funkcja zawiera pętlę for, która wykona się c razy. W naszym przypadku c = 3, więc pętla wykona się dla i = 0, i = 1 oraz i = 2.

Przebieg pętli:

  1. Iteracja 1 (i = 0):

    • Warunek pętli i < c (czyli 0 < 3) jest spełniony.
    • Obliczenie wewnątrz pętli: wynik = wynik % b + a;
    • Podstawiamy wartości: wynik = 10 % 5 + 1;
    • Najpierw operator modulo (%): 10 % 5 daje resztę z dzielenia 10 przez 5, co wynosi 0.
    • Następnie dodawanie: wynik = 0 + 1;
    • Nowa wartość wynik = 1.
  2. Iteracja 2 (i = 1):

    • Warunek pętli i < c (czyli 1 < 3) jest spełniony.
    • Obliczenie wewnątrz pętli: wynik = wynik % b + a;
    • Podstawiamy wartości (pamiętając, że wynik ma teraz wartość 1): wynik = 1 % 5 + 1;
    • Operator modulo: 1 % 5 daje resztę z dzielenia 1 przez 5, co wynosi 1.
    • Następnie dodawanie: wynik = 1 + 1;
    • Nowa wartość wynik = 2.
  3. Iteracja 3 (i = 2):

    • Warunek pętli i < c (czyli 2 < 3) jest spełniony.
    • Obliczenie wewnątrz pętli: wynik = wynik % b + a;
    • Podstawiamy wartości (pamiętając, że wynik ma teraz wartość 2): wynik = 2 % 5 + 1;
    • Operator modulo: 2 % 5 daje resztę z dzielenia 2 przez 5, co wynosi 2.
    • Następnie dodawanie: wynik = 2 + 1;
    • Nowa wartość wynik = 3.

Po zakończeniu trzeciej iteracji, zmienna i zostanie zinkrementowana do 3. Warunek pętli i < c (czyli 3 < 3) nie jest już spełniony, więc pętla for kończy swoje działanie.

Funkcja zwraca ostateczną wartość zmiennej wynik, która wynosi 3.

Pozostałe opcje są niepoprawne, ponieważ:

Dlaczego pozostałe opcje są nieprawidłowe?

  • A: 1 to wartość wynik po pierwszej iteracji.
  • B: 5 to wartość argumentu b i nie jest wynikiem działania funkcji z podanymi danymi.
  • D: 10 to początkowa wartość argumentu wynik przed wykonaniem pętli.

Chcesz poćwiczyć całą kwalifikację INF.03?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF03
Reklama

Podobne pytania z działu „Js skladnia i zmienne”

Ten sam obszar materiału z kwalifikacji INF.03. W całej bazie znajdziesz 101 pytań z tego działu.