KWALIFIKACJA INF3 - STYCZEŃ 2018

PYTANIE NR 37.
W kodzie JavaScript pętla zostanie wykonana
Ilustracja przedstawia fragment kodu w języku JavaScript, który jest częścią pytania egzaminacyjnego z zakresu kwalifikacji
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Liczbę wykonań pętli w JavaScript ustala się, analizując trzy elementy: wartość początkową zmiennej sterującej, warunek kontynuacji oraz krok (np. i++, i+=2). W pokazanym fragmencie kodu warunek jest spełniony dokładnie dla trzech kolejnych wartości zmiennej, więc ciało pętli wykona się 3 razy. Pozostałe liczby wynikają z błędów granicznych.

Pełne wyjaśnienie:

Aby policzyć, ile razy wykona się pętla w JavaScript, trzeba prześledzić jej logikę krok po kroku. Niezależnie od tego, czy jest to for czy while, kluczowe są zawsze te same elementy:

  • inicjalizacja (od jakiej wartości startuje licznik/zmienna sterująca),
  • warunek (kiedy pętla ma się wykonać, a kiedy zakończyć),
  • krok (jak zmienia się zmienna po każdej iteracji).

W pętli typu for typowa kolejność jest następująca: najpierw następuje inicjalizacja, potem sprawdzany jest warunek. Jeżeli warunek jest prawdziwy, wykonywane jest ciało pętli, a następnie wykonywany jest krok (np. inkrementacja). Po kroku pętla wraca do sprawdzenia warunku. To sprawia, że o liczbie iteracji decyduje liczba wartości zmiennej sterującej, dla których warunek jest prawdziwy.

Odpowiedź "3 razy." jest poprawna, ponieważ w przedstawionym kodzie (z kontekstu zadania) warunek pętli pozostaje spełniony dokładnie w trzech iteracjach. W praktyce najczęściej oznacza to, że zmienna sterująca przyjmuje trzy kolejne wartości spełniające warunek, po czym kolejna zmiana zmiennej powoduje jego niespełnienie i wyjście z pętli.

Dlaczego pozostałe propozycje są błędne?

  • "2 razy." to typowy skutek pominięcia jednej iteracji, np. przez błędne założenie, że warunek jest sprawdzany po wykonaniu ciała, albo przez nieprawidłowe potraktowanie operatora porównania (np. odczytanie <= jako <).
  • "26 razy." i "27 razy." często pojawiają się, gdy uczeń mechanicznie liczy różnicę między wartościami granicznymi bez uwzględnienia wartości startowej, kroku lub tego, czy granica jest włączona (błąd off-by-one). Takie odpowiedzi bywają też wybierane, gdy ktoś interpretuje zakres jako "od 0 do 26/27", mimo że warunek/krok w kodzie temu nie odpowiada.

Wskazówka egzaminacyjna: przy liczeniu iteracji zawsze wypisz 3–5 pierwszych wartości zmiennej sterującej i sprawdź dla nich warunek. Zatrzymaj się w momencie, gdy warunek po kroku staje się fałszywy. Ta metoda minimalizuje pomyłki graniczne i jest szybsza niż zgadywanie na podstawie samych liczb.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Policz iteracje, analizując: wartość startową, warunek kontynuacji i krok (np. i++, i+=2). Najpewniej jest wypisać kolejne wartości licznika, dla których warunek jest prawdziwy, i policzyć, ile razy wykona się ciało pętli.
Operator < wyklucza wartość graniczną, a <= ją uwzględnia. To często zmienia liczbę wykonań pętli o dokładnie 1 (błąd off-by-one). Na egzaminie zawsze sprawdzaj, czy granica jest włączona.
To pomyłka polegająca na wykonaniu pętli o jedną iterację za dużo lub za mało. Najczęściej wynika z nieuważnego doboru warunku (np. < vs <=) albo błędnego założenia, kiedy dokładnie sprawdzany jest warunek.
W typowej pętli for warunek jest sprawdzany przed wykonaniem ciała każdej iteracji. Jeśli warunek jest fałszywy już na początku, ciało nie wykona się ani razu. Po wykonaniu ciała wykonywany jest krok, a potem znów sprawdzany warunek.
Jeśli licznik zwiększa się o 2, pętla "przeskakuje" co drugą wartość. To zmniejsza liczbę iteracji w porównaniu do i++. Przy liczeniu iteracji nie wolno zakładać kroku 1 — trzeba uwzględnić rzeczywisty zapis kroku.
Tak. W do...while ciało pętli wykonuje się najpierw, a warunek jest sprawdzany dopiero na końcu. To oznacza, że pętla wykona się co najmniej raz, nawet gdy warunek na starcie byłby fałszywy.
Najczęściej myli się: granice (< vs <=), wartość początkową, oraz krok. Częsty błąd to policzenie samej różnicy liczb bez sprawdzenia, czy licznik startuje od 0/1 i jak zmienia się po każdej iteracji.
Najprościej dodać licznik lub logowanie, np. console.log(i), i zobaczyć, jakie wartości przyjmuje zmienna sterująca. W narzędziach deweloperskich można też użyć breakpointów i obserwować zmianę licznika w kolejnych krokach.
To typowe "odpowiedzi-pułapki" związane z liczeniem zakresu bez analizy operatora i kroku. Uczeń widzi liczbę graniczną i automatycznie dodaje lub odejmuje 1 (albo włącza granicę), zamiast policzyć rzeczywiste wartości spełniające warunek.
Ćwicz krótkie zadania: wypisz wartości licznika, zaznacz moment sprawdzania warunku i krok. Rób przykłady z różnymi operatorami (<, <=) i krokami (i++, i+=2). To buduje nawyk unikania błędów granicznych.
info

Statystycznie 57% uczniów zna prawidłową odpowiedź. średnie

Specjaliści zwracają uwagę: "Liczbę wykonań pętli w JavaScript ustala się, analizując trzy elementy: wartość początkową zmiennej sterującej, warunek kontynuacji oraz krok (np. i++, i+=2)."

Źródła:

  • MDN Web Docs: "for" statement (JavaScript) — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for (dostęp 2026-03-02)
  • MDN Web Docs: "while" statement (JavaScript) — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/while (dostęp 2026-03-02)
  • ECMAScript® Language Specification (ECMA-262): rozdział dot. Iteration Statements (ForStatement/WhileStatement/DoWhileStatement) — https://tc39.es/ecma262/ (dostęp 2026-03-02)

Materiały:

  • Dokumentacja MDN: pętle w JavaScript (for, while, do...while)
  • ECMAScript Language Specification (opis instrukcji iteracyjnych)
  • Kurs podstaw JavaScript: kontrola przepływu (if/else, pętle) + ćwiczenia z liczenia iteracji

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego