Pytanie wymaga rozpoznania, jakiej konstrukcji sterującej odpowiada schemat blokowy. Kluczowa jest obserwacja, kiedy sprawdzany jest warunek oraz czy blok działa w powtórzeniu.
Odpowiedź "while..." jest poprawna, gdy schemat przedstawia pętlę przedtestową, czyli taką, w której:
- najpierw następuje sprawdzenie warunku (romb z pytaniem/warunkiem),
- dopiero potem wykonywany jest blok instrukcji,
- po wykonaniu bloku następuje powrót do sprawdzenia warunku,
- gdy warunek jest fałszywy, algorytm wychodzi z pętli.
Dlaczego pozostałe odpowiedzi nie pasują do typowego schematu pętli while?
- "for..." to pętla używana zwykle, gdy schemat (lub opis) zawiera wyraźnie trzy elementy: inicjalizację, warunek kontynuacji i krok zmiany (np. inkrementację) w jednym cyklu sterowania. Na schematach blokowych często widać wtedy osobne bloki inicjalizacji i zmiany licznika; sama obecność powrotu nie wystarcza, by uznać to za for.
- "if..." jest instrukcją warunkową bez wbudowanego mechanizmu powtarzania. Jeśli schemat nie ma strzałki powrotu i wykonuje blok co najwyżej raz (z ewentualnym rozgałęzieniem), wtedy pasuje if, ale nie pętla.
- "do...while..." to pętla potestowa: najpierw wykonuje się blok, a dopiero potem sprawdza warunek (romb jest "na końcu" obiegu). Taka pętla gwarantuje co najmniej jedno wykonanie bloku, co zwykle widać po umieszczeniu decyzji po wykonaniu instrukcji.
Wskazówka egzaminacyjna: na schemacie blokowym najpierw sprawdź, czy jest powrót do wcześniejszego miejsca (to odróżnia pętlę od if), a następnie zobacz, czy romb warunku jest przed czy po bloku powtarzanym. To najszybciej rozróżnia while i do...while.