KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2011

PYTANIE NR 10.
W przedstawionym fragmencie programu znajduje się
Ilustracja przedstawia fragment kodu w języku C, który jest związany z egzaminem zawodowym dla technika programisty.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Pętla z warunkiem sprawdzanym przed wejściem do bloku wykona się tylko wtedy, gdy warunek jest spełniony już na początku.
Gdy warunek startowo jest fałszywy, ciało pętli nie uruchomi się ani razu. To odróżnia ją od pętli z warunkiem na końcu, która zawsze wykona co najmniej jeden przebieg.

Pełne wyjaśnienie:

Poprawna jest odpowiedź: "pętla warunkowa, która może nie wykonać się ani razu, jeżeli jej warunek będzie od początku nieprawdziwy."

Taki opis dotyczy konstrukcji, w której sprawdzenie warunku następuje przed wykonaniem treści pętli (tzw. warunek "na wejściu"). Mechanizm jest prosty: najpierw ocenia się warunek logiczny, a dopiero gdy jest prawdziwy, wykonywany jest blok instrukcji i następuje kolejna iteracja. Jeśli więc już na starcie warunek jest fałszywy, program pomija całe ciało pętli, co daje liczbę wykonań równą zero.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "pętla licznikowa." – pętla licznikowa (najczęściej utożsamiana z konstrukcją typu for) jest rozpoznawana po typowym schemacie: inicjalizacja licznika, warunek końca i modyfikacja licznika. Sam fakt istnienia warunku nie przesądza, że to pętla licznikowa.
  • "pętla warunkowa, która wykona zawsze co najmniej jeden przebieg." – to opis pętli z warunkiem sprawdzanym po wykonaniu bloku (warunek "na wyjściu"). W takiej konstrukcji blok wykona się przynajmniej raz, bo dopiero potem sprawdzany jest warunek kontynuacji.
  • "instrukcja warunkowa." – instrukcja warunkowa (np. konstrukcja typu if) wybiera jednorazowo ścieżkę wykonania zależnie od warunku i nie tworzy wielokrotnych iteracji. Pętla natomiast z definicji służy do powtarzania bloku.

Wskazówka egzaminacyjna: aby szybko rozróżnić typ, odpowiedz sobie na pytanie: czy warunek jest sprawdzany przed pierwszym wykonaniem bloku? Jeśli tak, pętla może wykonać się zero razy.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
To pętla, w której warunek jest sprawdzany przed wykonaniem bloku instrukcji. Jeśli warunek jest fałszywy już na starcie, ciało pętli nie wykona się ani razu. W praktyce odpowiada to typowemu schematowi "sprawdź warunek → wykonaj blok → wróć do warunku".
Bo w pętli z warunkiem na wejściu najpierw następuje ocena warunku logicznego. Gdy od razu jest fałszywy (np. brak danych, pusta lista, niespełnione kryterium), program pomija blok pętli i przechodzi dalej. To zachowanie jest celowe i często pożądane.
Oznacza to, że blok pętli wykona się minimum raz niezależnie od wartości warunku początkowego. Dzieje się tak w pętlach, gdzie warunek sprawdza się dopiero po wykonaniu bloku. To przydatne np. gdy chcesz wykonać akcję i dopiero potem zdecydować, czy ją powtarzać.
Instrukcja warunkowa (np. rozgałęzienie) wybiera jedną z dróg wykonania kodu na podstawie warunku i zwykle wykonuje się jednorazowo. Pętla służy do powtarzania bloku instrukcji wiele razy, dopóki spełniony jest warunek lub dopóki nie zostanie spełnione kryterium zakończenia.
Szukaj konstrukcji, gdzie warunek stoi przed blokiem wykonywanym wielokrotnie: najpierw jest sprawdzenie logiczne, dopiero potem wykonanie instrukcji. Jeśli warunek jest fałszywy na początku, blok jest pomijany. Na egzaminie zwracaj uwagę na kolejność: warunek przed blokiem = możliwe 0 wykonań.
Zwykle tak się ją projektuje (inicjalizacja licznika, warunek końca, modyfikacja licznika), ale liczba wykonań nadal zależy od poprawności warunku i wartości startowych. Jeśli warunek zakończenia jest niespełniony na starcie, pętla może nie wykonać się ani razu. Ważne jest, co faktycznie robi kod, a nie sama nazwa.
Bo wiele przykładów pętli warunkowych zawiera zmienną zwiększaną lub zmniejszaną, co "wygląda" jak licznik. To błąd oparty na wyglądzie, a nie na definicji. Pętla licznikowa jest rozpoznawana po pełnym schemacie sterowania licznikiem w nagłówku/definicji, a nie po samej inkrementacji.
Gdy iterujesz po danych, które mogą być puste lub gdy chcesz wykonać operacje tylko wtedy, gdy spełnione są warunki wstępne, np. przetwarzanie listy wyników z API, dopóki jest co przetwarzać. To bezpieczne, bo zapobiega wykonaniu logiki na niepoprawnych danych.
Najczęstsze błędy to: ignorowanie, czy warunek sprawdzany jest przed czy po bloku; mylenie pętli z instrukcją warunkową; zakładanie, że pętla "musi" wykonać się przynajmniej raz; oraz ocenianie typu pętli wyłącznie po obecności zmiennej i inkrementacji zamiast po strukturze sterowania.
Ćwicz na wielu krótkich snippetach: rozpoznawaj, kiedy możliwe jest 0 wykonań, a kiedy zawsze jest 1+. Rysuj prosty schemat: "warunek przed blokiem" vs "warunek po bloku". Dodatkowo trenuj odróżnianie pętli od rozgałęzień i analizuj przypadki brzegowe (np. pusta tablica).
info

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

Eksperci podkreślają: "Pętla z warunkiem sprawdzanym przed wejściem do bloku wykona się tylko wtedy, gdy warunek jest spełniony już na początku.Gdy warunek startowo jest fałszywy, ciało pętli nie uruchomi się ani razu."

Źródła:

  • MDN Web Docs: "while" statement (JavaScript) – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/while (dostęp: 2026-03-02)
  • MDN Web Docs: "do...while" statement (JavaScript) – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/do...while (dostęp: 2026-03-02)
  • MDN Web Docs: "for" statement (JavaScript) – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for (dostęp: 2026-03-02)

Materiały:

  • Dokumentacja języka używanego na zajęciach (sekcja o pętlach while/for/do-while)
  • MDN Web Docs – artykuły o instrukcjach sterujących w JavaScript
  • Zadania treningowe: rozpoznawanie konstrukcji sterujących w krótkich fragmentach kodu

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego