KWALIFIKACJA INF2 + INF3 - CZERWIEC 2008

PYTANIE NR 39.
Zamieszczony algorytm przedstawia strukturę sterującą instrukcji pętli
Ilustracja przedstawia schemat blokowy algorytmu, który jest używany w kontekście egzaminu zawodowego dla technika
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Pętla While - Do ma warunek sprawdzany na początku: najpierw następuje decyzja "Warunek", a dopiero przy wartości True wykonywany jest "Zestaw instrukcji" i następuje powrót do sprawdzenia warunku. Gdy warunek jest False, następuje wyjście z pętli, więc blok może nie wykonać się ani razu.

Pełne wyjaśnienie:

Na schemacie blokowym widać typową pętlę z warunkiem na początku (pre-test loop). Kluczowym wyróżnikiem jest to, że blok decyzyjny "Warunek" znajduje się przed blokiem "Zestaw instrukcji".

Przepływ sterowania jest następujący:

  • Ustalana jest "Wartość początkowa".
  • Następuje sprawdzenie "Warunek".
  • Gdy wynik jest True, wykonywany jest "Zestaw instrukcji", po czym strzałka wraca do sprawdzenia warunku.
  • Gdy wynik jest False, następuje wyjście z pętli (zakończenie tej struktury).

Taki układ dokładnie odpowiada składni i znaczeniu While - Do: warunek jest testowany przed każdym przebiegiem, więc jeśli od początku jest fałszywy, ciało pętli nie wykona się ani razu.

Odpowiedź "Repeat - Until" jest niepoprawna, ponieważ w tej konstrukcji najpierw wykonuje się blok instrukcji, a dopiero później sprawdza warunek zakończenia (test na końcu). W efekcie pętla typu repeat-until gwarantuje co najmniej jedno wykonanie bloku, czego ten schemat nie pokazuje (tu gałąź False omija instrukcje).

Odpowiedzi "For - Do - To" oraz "For - Downto - Do" są niepoprawne, bo dotyczą pętli licznikowych z ustalonym przebiegiem i automatyczną zmianą licznika (w górę lub w dół). Na schemacie nie ma ani licznika, ani kroku, ani warunku w postaci "od–do"; jest jedynie ogólny test logiczny "Warunek", typowy dla while.

Wskazówka egzaminacyjna: jeśli romb z warunkiem jest na górze (przed instrukcjami) i gałąź True prowadzi do instrukcji oraz wraca do rombu, to rozpoznajesz while. Jeśli romb jest na dole (po instrukcjach), to typowo repeat-until.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Pętla While-Do to pętla z warunkiem na początku. Najpierw sprawdza się warunek logiczny, a gdy jest prawdziwy, wykonywany jest blok instrukcji i następuje powrót do ponownego sprawdzenia warunku. Gdy warunek jest fałszywy, pętla kończy działanie.
Bo w pętli while test warunku jest wykonywany przed wejściem do bloku instrukcji. Jeśli warunek jest od razu fałszywy, sterowanie przechodzi ścieżką wyjścia i ciało pętli nie zostaje wykonane ani razu. To odróżnia ją od repeat-until.
Pre-test loop oznacza pętlę, w której warunek jest sprawdzany na wejściu, czyli przed każdym wykonaniem bloku. W praktyce odpowiada to konstrukcji while. Zaletą jest możliwość zakończenia bez wykonania ciała, gdy warunek nie jest spełniony.
Szukaj rombu (warunku) umieszczonego przed blokiem instrukcji. Gałąź opisana jako True prowadzi do instrukcji i wraca do rombu, a gałąź False wychodzi z pętli. Taki układ odpowiada działaniu while.
W pętli repeat-until najpierw jest blok instrukcji, a dopiero na końcu znajduje się romb z warunkiem. Powtórzenie następuje, gdy warunek końcowy jest fałszywy, więc blok wykona się co najmniej raz. To odwrócony układ względem while.
Różnica dotyczy miejsca testu warunku. While-Do: warunek sprawdzany przed blokiem, więc możliwe jest 0 wykonań. Repeat-Until: warunek sprawdzany po bloku, więc jest minimum 1 wykonanie. Na schemacie widać to po położeniu rombu.
Pętla for jest pętlą licznikową: ma licznik, zakres (od–do) i zwykle z góry znaną liczbę iteracji. Na pokazanym typie schematu nie ma licznika ani kontroli zakresu, tylko ogólny warunek logiczny. To wskazuje na while, nie na for.
Pętla while jest używana, gdy nie znasz liczby powtórzeń i chcesz wykonywać blok "dopóki" warunek jest spełniony. Przykłady: walidacja danych, ponawianie próby po błędzie, oczekiwanie na zdarzenie lub przetwarzanie do osiągnięcia kryterium zakończenia.
Najczęściej myli się while z repeat-until, bo obie pętle zawierają warunek i powrót strzałki. Kluczowe jest jednak położenie rombu: na górze (przed instrukcjami) oznacza while, a na dole (po instrukcjach) oznacza repeat-until.
Tak, bo pokazują logikę wejścia i wyjścia z pętli. Jeśli ścieżka True prowadzi do wykonywania instrukcji, a False wychodzi z pętli, to pętla działa "dopóki warunek jest prawdziwy", czyli jak while. Odwrócone etykiety zmieniłyby interpretację.
info

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

Eksperci podkreślają: "Pętla While - Do ma warunek sprawdzany na początku: najpierw następuje decyzja "Warunek", a dopiero przy wartości True wykonywany jest "Zestaw instrukcji" i następuje powrót do sprawdzenia warunku."

Źródła:

  • Wikipedia (PL), "Pętla (informatyka)" – sekcja o pętlach z warunkiem na początku/końcu, https://pl.wikipedia.org/wiki/P%C4%99tla_(informatyka) (dostęp: 2026-02-27)
  • Free Pascal Reference Guide, rozdział "Statements" – opis instrukcji while, repeat, for, https://www.freepascal.org/docs-html/ref/refsu14.html (dostęp: 2026-02-27)
  • Wikipedia (EN), "While loop" – definicja pętli pre-test oraz schemat działania, https://en.wikipedia.org/wiki/While_loop (dostęp: 2026-02-27)

Materiały:

  • Podstawy algorytmiki: schematy blokowe i struktury sterujące
  • Materiały do INF.3: podstawy programowania strukturalnego i logika warunków
  • Dokumentacja języków programowania (np. Pascal/FreePascal): instrukcje while, repeat, for

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego