KWALIFIKACJA INF3 - CZERWIEC 2022

PYTANIE NR 7.
Po wykonaniu przedstawionego kodu JavaScript działającego na wcześniej zainicjalizowanej tablicy liczby w zmiennej wynik jest przechowywana suma
Ilustracja przedstawia fragment kodu JavaScript, który jest częścią pytania egzaminacyjnego z kwalifikacji zawodowej dla
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
W kodzie do zmiennej wynik dodawane są tylko te elementy tablicy, które spełniają warunek parzystości (typowo sprawdzany przez resztę z dzielenia, np. x % 2 === 0).
Dlatego po wykonaniu skryptu w wynik znajduje się suma parzystych wartości, a nie wszystkich, dodatnich ani nieparzystych.

Pełne wyjaśnienie:

W tego typu zadaniach kluczowe jest ustalenie, które elementy tablicy są dodawane do zmiennej akumulatora (tu: wynik). Sam fakt iterowania po tablicy nie oznacza jeszcze, że sumowane są wszystkie wartości — decyduje o tym warunek w instrukcji if (albo warunek w pętli/iteracji).

Jeżeli kod zawiera sprawdzenie parzystości elementu (najczęściej w postaci użycia operatora reszty z dzielenia %, np. element % 2 === 0), to dodawanie do zmiennej wynik zachodzi wyłącznie dla liczb parzystych. W efekcie końcowa wartość wynik jest sumą parzystych elementów tablicy.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • Suma wszystkich elementów byłaby prawdziwa tylko wtedy, gdyby kod dodawał każdy element bez warunku (lub warunek był zawsze spełniony). W obecności selekcji (filtra) nie sumuje się całej tablicy.
  • Suma dodatnich elementów wymagałaby warunku typu element > 0. Parzystość i dodatniość to różne kryteria — liczba może być parzysta i ujemna albo nieparzysta i dodatnia.
  • Suma nieparzystych elementów odpowiadałaby warunkowi odwrotnemu, np. element % 2 !== 0. Skoro w kodzie wybrano parzyste, nieparzyste nie są akumulowane.

Wskazówka egzaminacyjna: zawsze wypisz w myślach schemat: iteracja → warunek selekcji → operacja na wyniku. To pozwala odróżnić sumę "wszystkiego" od sumy tylko wybranego podzbioru.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Najczęściej używa się operatora reszty z dzielenia: x % 2 === 0. Jeśli reszta z dzielenia przez 2 wynosi 0, liczba jest parzysta. Dla nieparzystych warunek ma postać x % 2 !== 0.
Parzystość oznacza podzielność przez 2 bez reszty. Operator % zwraca resztę z dzielenia, więc pozwala szybko sprawdzić podzielność: gdy element % 2 daje 0, element spełnia kryterium parzystości i może być uwzględniony w sumie.
Akumulator to zmienna, do której kolejno dodaje się wartości w trakcie iteracji, np. wynik = wynik + element. Zwykle startuje od 0. To podstawowy wzorzec do obliczania sum, zliczania elementów lub budowania innego wyniku na podstawie tablicy.
Sprawdź, czy w kodzie jest warunek (if) lub filtr. Jeśli dodawanie do wynik jest wewnątrz warunku, to sumowany jest tylko podzbiór (np. parzyste). Jeśli dodawanie jest wykonywane dla każdego elementu bez warunku, wtedy powstaje suma wszystkich elementów.
To zależy od kodu. Gdy warunek sprawdza element % 2, dotyczy wartości. Gdy sprawdza i % 2 (gdzie i to indeks), dotyczy pozycji w tablicy. Na egzaminie trzeba uważnie zobaczyć, czy w warunku występuje indeks czy element.
Typowy wzorzec to redukcja z warunkiem: w funkcji redukującej dodajesz element tylko, gdy jest parzysty. Przykładowo: acc + (x % 2 === 0 ? x : 0). To skraca kod względem pętli, ale logika pozostaje ta sama: selekcja + akumulacja.
Bo to inny, równie "prosty" filtr. Uczniowie czasem wybierają go mechanicznie, myląc kryteria. Dodatniość wymaga sprawdzenia x > 0, a parzystość wymaga sprawdzenia x % 2. Te warunki nie wynikają z siebie i mogą dawać zupełnie różne zbiory elementów.
Najczęstsze błędy to: przeoczenie warunku w if, pomylenie % z dzieleniem, mylenie wartości z indeksem oraz założenie, że skoro jest pętla, to zawsze sumuje "wszystko". Pomaga wypisanie: "kiedy wykonywane jest wynik += ...?".
Tylko w szczególnych przypadkach, np. gdy wszystkie elementy tablicy są parzyste albo gdy nieparzyste mają wartość 0 (co w praktyce oznacza brak wpływu). W typowym zadaniu egzaminacyjnym zakłada się jednak, że tablica ma wartości różne i filtr realnie zmienia wynik.
Przećwicz 3 schematy: pętla + if, filter + reduce oraz forEach z akumulatorem. Rób zadania, gdzie filtr dotyczy wartości (parzyste/dodatnie) i indeksów (co drugi element). Zawsze sprawdzaj, co jest dodawane do akumulatora.
info

Około 40% zdających odpowiada poprawnie na to pytanie. trudne

Źródła:

  • MDN Web Docs: Remainder operator (%) — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Remainder (dostęp: 2026-02-18)
  • MDN Web Docs: Array — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array (dostęp: 2026-02-18)
  • MDN Web Docs: if...else — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else (dostęp: 2026-02-18)

Materiały:

  • Dokumentacja MDN: JavaScript Arrays (metody iteracji)
  • Dokumentacja MDN: Operator % (remainder) i przykłady użycia
  • Ćwiczenia: filtrowanie tablicy i redukcja (filter/reduce) na prostych danych liczbowych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego