Instrukcja switch w języku C służy do wielowariantowego wyboru: program oblicza wartość wyrażenia i na tej podstawie wykonuje jedną z wielu możliwych gałęzi (case). W języku Pascal tę samą rolę pełni instrukcja case ... of (zakończona zwykle słowem end).
Dlaczego "case ... of ..." jest poprawne?
W Pascalu zapis case wyrazenie of pozwala przypisać konkretne wartości (lub zakresy, zależnie od dialektu) do odpowiednich bloków instrukcji. To bezpośredni odpowiednik idei "wybierz jedną z wielu opcji na podstawie wartości", czyli tego, co robi switch w C.
Dlaczego pozostałe odpowiedzi są błędne?
- when ... do ... – taka konstrukcja nie jest typową składnią Pascala dla wyboru wielowariantowego; kojarzy się raczej z innymi językami (np. konstrukcjami dopasowania wzorca lub wyrażeń warunkowych w innych rodzinach języków).
- select... case – to charakterystyczne dla innych środowisk/języków (np. Visual Basic), ale nie dla standardowego Pascala. Może kusić osoby, które znają inne języki, lecz nie jest poprawnym odpowiednikiem w Pascalu.
- if... else ... – jest instrukcją warunkową, zwykle używaną do wyboru dwuwariantowego (prawda/fałsz). Da się nią zasymulować wielowariantowy wybór przez zagnieżdżanie wielu warunków, ale nie jest to odpowiednik konstrukcji switch/case w sensie składniowej instrukcji wyboru wielowariantowego.
Wskazówka egzaminacyjna: gdy pytanie dotyczy odpowiednika switch, szukaj odpowiedzi związanej z case i wieloma wariantami. Jeśli widzisz "select case", potraktuj to jako pułapkę z innego języka.