KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2015

PYTANIE NR 2.
Instrukcja case w języku Pascal jest instrukcją
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Instrukcja case w Pascalu służy do wyboru jednej z kilku gałęzi programu na podstawie wartości wyrażenia. Nie jest pętlą (iteracją), nie opisuje też rekurencji. Określenie "logiczna" jest zbyt ogólne — poprawna klasyfikacja to instrukcja wyboru (rozgałęzienia).

Pełne wyjaśnienie:

W Pascalu instrukcja case jest klasyczną instrukcją wyboru (rozgałęzienia wielowariantowego). Oznacza to, że program porównuje wartość pewnego wyrażenia (np. liczby lub znaku) i na tej podstawie wykonuje jedną z przygotowanych gałęzi.

Dlaczego poprawna jest odpowiedź "wyboru."? Ponieważ istotą case jest wybór wariantu działania spośród wielu możliwości. To odpowiednik idei znanej też z innych języków jako switch/case: jedna zmienna (lub wyrażenie) i wiele możliwych dopasowań.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "logiczną." – w praktyce instrukcje sterujące często opierają się na logice, ale to nie jest precyzyjna kategoria. Case klasyfikuje się jako wybór/rozgałęzienie, a nie osobny typ "logiczny".
  • "iteracyjną." – instrukcje iteracyjne to pętle (np. for, while, repeat). Case nie powtarza wielokrotnie bloku kodu; wybiera tylko jedną ścieżkę wykonania.
  • "rekurencyjną." – rekurencja dotyczy wywoływania funkcji/procedury przez samą siebie. Instrukcja case nie ma związku z mechanizmem rekurencji, choć może występować w kodzie rekurencyjnym jako element sterowania.

Wskazówka egzaminacyjna: jeśli w pytaniu pojawia się case, myśl o wielu możliwych gałęziach zależnych od wartości, a nie o powtarzaniu (iteracji) czy samowywołaniu (rekurencji).

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Instrukcja case to instrukcja wyboru (rozgałęzienia wielowariantowego). Na podstawie wartości wyrażenia wybiera jedną z wielu gałęzi kodu do wykonania. Stosuje się ją, gdy masz kilka możliwych wariantów zależnych od tej samej zmiennej.
Case nie powtarza kodu w kółko, tylko jednorazowo wybiera jedną ścieżkę na podstawie wartości. Pętla (for/while/repeat) ma warunek i mechanizm powtarzania. Gdy widzisz listę "wartość → akcja", zwykle chodzi o wybór.
Instrukcja iteracyjna oznacza wielokrotne wykonywanie tego samego fragmentu (pętla). Case nie wykonuje powtórzeń, tylko wybiera jedną z gałęzi. Może wystąpić wewnątrz pętli, ale sama pętlą nie jest.
Tak, na poziomie idei to odpowiednik konstrukcji switch/case znanej z wielu języków: wybór jednej gałęzi na podstawie wartości. Różnice dotyczą składni i szczegółów (np. jakie typy są dozwolone), ale klasyfikacja pozostaje ta sama: instrukcja wyboru.
Instrukcja wyboru to konstrukcja sterująca, która pozwala programowi podjąć decyzję, którą część kodu wykonać. Może być dwuwariantowa (np. if-else) albo wielowariantowa (np. case). Kluczowe jest rozgałęzienie przepływu wykonania.
W potocznym sensie używa logiki (podejmowanie decyzji), ale w klasyfikacji instrukcji programowania mówi się precyzyjniej: case to instrukcja wyboru. Określenie "logiczna" bywa zbyt ogólne i nie odróżnia wyboru od pętli czy innych konstrukcji sterujących.
Case jest wygodne, gdy porównujesz jedną zmienną (lub wyrażenie) z wieloma możliwymi wartościami. Zamiast długiego łańcucha if-else kod bywa czytelniejszy i łatwiejszy do utrzymania. Do złożonych warunków logicznych częściej pasuje if.
Rekurencja dotyczy wywoływania funkcji/procedury przez samą siebie. To cecha sposobu rozwiązania problemu, a nie typ instrukcji wyboru. Instrukcja case nie tworzy rekurencji; może co najwyżej pojawić się w kodzie, który jest rekurencyjny.
Częste pomyłki to: mylenie wyboru z iteracją (bo obie "sterują przepływem"), uznawanie "logiczna" za poprawną kategorię oraz przenoszenie skojarzeń z innych pojęć (np. rekurencja = "złożona instrukcja"). Warto znać jasne definicje.
Najlepiej opanować podział na: wybór (if, case), iterację (for, while, repeat) i inne mechanizmy (np. wywołania funkcji, w tym rekurencję). Pomaga rozwiązywanie krótkich zadań, gdzie trzeba nazwać konstrukcję i opisać jej działanie.
info

Około 77% zdających odpowiada poprawnie na to pytanie. średnio łatwe

W praktyce zawodowej kluczowe jest to, że instrukcja case w Pascalu służy do wyboru jednej z kilku gałęzi programu na podstawie wartości wyrażenia.

Źródła:

  • Free Pascal Reference Guide: "Case statement" (Control structures), https://www.freepascal.org/docs-html/ref/refse41.html (dostęp: 2026-02-28)
  • Embarcadero DocWiki (Delphi): "case statement", https://docwiki.embarcadero.com/RADStudio/en/Case_Statement (dostęp: 2026-02-28)
  • Wikipedia (PL): "Pascal (język programowania)" – sekcje dot. składni/struktur sterujących, https://pl.wikipedia.org/wiki/Pascal_(j%C4%99zyk_programowania) (dostęp: 2026-02-28)

Materiały:

  • Dokumentacja Free Pascal: rozdziały o instrukcjach sterujących (case statement)
  • Podręczniki do podstaw programowania strukturalnego (instrukcje wyboru i pętle)
  • Zadania treningowe: przepisywanie wielu if-else na case/switch w różnych językach

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego