W tej funkcji kluczowe są dwa mechanizmy: ustalenie poprawnego początku oraz iteracja co 2.
- Krok 1: sprawdzenie parzystości a
Wyrażenie a % 2 oblicza resztę z dzielenia a przez 2. Jeśli a % 2 != 0, to a jest nieparzyste, więc instrukcja a++ podnosi je o 1. W efekcie start pętli jest zawsze liczbą parzystą (albo a było parzyste od razu, albo zostało "dociągnięte" do najbliższej parzystej). - Krok 2: pętla for od a do b
Pętla ustawia licznik: n = a, następnie działa dopóki n <= b, a po każdej iteracji wykonuje n += 2. Skoro zaczynamy od liczby parzystej i zawsze dodajemy 2, to każda kolejna wartość też jest parzysta. - Krok 3: "wypisywanie", a nie "zwracanie"
Instrukcja document.write(n) wypisuje wartość do dokumentu HTML (efekt uboczny). Funkcja nie ma instrukcji return, więc nie "zwraca" listy liczb jako wyniku wywołania.
Dlatego poprawna interpretacja to: wypisanie liczb parzystych z przedziału od a do b (z uwzględnieniem, że gdy a jest nieparzyste, startem staje się a+1).
Dlaczego pozostałe odpowiedzi są błędne?
- "Zwrócenie wartości…" – myli wypisywanie z wartością zwracaną; brak return.
- "Wypisanie wszystkich liczb…" – pętla zwiększa n o 2, więc pomija co drugi element i nie wypisuje liczb nieparzystych.
- "Sprawdzenie, czy a jest nieparzysta; jeśli tak, wypisanie jej." – jeśli a jest nieparzyste, to zostaje zwiększone i nieparzyste a nie jest wypisywane; dodatkowo pętla wypisuje wiele liczb, nie jedną.
Wskazówka egzaminacyjna: przy takich zadaniach zrób krótki "trace" dla przykładu, np. a=3, b=9: a staje się 4, a potem wypisze 4, 6, 8. To szybko ujawnia sens kroku n+=2.