Instrukcja case (odpowiednik switch w innych językach) jest strukturą sterującą do wielokrotnego wyboru: program porównuje wartość wyrażenia (tu: zmiennej t) z kolejnymi etykietami przypadków i wykonuje kod tylko dla dopasowanego przypadku. W pokazanym fragmencie, dla t równego 1, 2 lub 3 wypisywany jest odpowiednio napis "M", "MM" albo "MMM".
Taki mechanizm jest semantycznie równoważny zapisowi przy użyciu instrukcji warunkowych, bo w praktyce można napisać:
- oddzielne warunki: if t=1 then ...; if t=2 then ...; if t=3 then ...;
- albo łańcuch if ... else if ... else if, gdy przypadki wzajemnie się wykluczają.
Dlatego poprawna jest odpowiedź mówiąca o zastąpieniu trzema instrukcjami warunkowymi: każdy przypadek case można zamienić na osobny warunek sprawdzający tę samą zmienną.
Pozostałe propozycje są niepoprawne, bo pętle (for ... do, while ... do, repeat ... until) służą do wielokrotnego wykonywania fragmentu kodu aż do spełnienia warunku zakończenia lub przejścia po zakresie. W tym zadaniu nie ma potrzeby powtarzania instrukcji: wybór napisu następuje jednokrotnie na podstawie wartości t. Użycie pętli byłoby sztuczne i zmieniałoby naturalny sens konstrukcji (selekcja vs iteracja).
Wskazówka egzaminacyjna: gdy pytanie dotyczy zamiany case, szukaj odpowiedzi związanej z if-then-else. Gdy dotyczy for/while/repeat, zwykle chodzi o powtarzanie oraz warunek zakończenia, a nie o wybór jednej z wielu gałęzi.