KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2008

PYTANIE NR 9.
Przedstawiony fragment programu w języku Pascal zawiera



  var k : boolean; 

  begin 
           k:=true; 
           if k then writeln('wynik egzaminu pozytywny') 
                else writeln('wynik egzaminu negatywny'); 
				



A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
W kodzie występuje konstrukcja if ... then ... else, która wykonuje jeden z dwóch bloków w zależności od wartości warunku. Ponieważ zmienna k ma wartość true, zostanie wypisany tekst o wyniku pozytywnym. Taki mechanizm to właśnie instrukcja warunkowa.

Pełne wyjaśnienie:

Fragment programu deklaruje zmienną k typu logicznego (boolean), a następnie przypisuje jej wartość true. Kluczowy element to zapis if k then ... else .... Taka konstrukcja sprawdza warunek (tu: wartość zmiennej k) i na tej podstawie wybiera jedną z dwóch ścieżek wykonania.

Jeżeli warunek jest spełniony (ma wartość true), wykonywana jest instrukcja po słowie then, czyli wypisanie komunikatu "wynik egzaminu pozytywny". Gdyby warunek był niespełniony (wartość false), wykonana zostałaby instrukcja po słowie else, czyli wypisanie komunikatu "wynik egzaminu negatywny". To klasyczne rozgałęzienie, czyli instrukcja warunkowa.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "instrukcję wyboru" – w wielu materiałach "wybór" odnosi się do wielowariantowego rozgałęzienia (np. case), a tutaj występuje dokładnie warunek z dwiema gałęziami (then/else).
  • "pętlę warunkową" – pętla oznacza wielokrotne powtarzanie instrukcji (np. while, repeat). W pokazanym fragmencie nie ma żadnego powtarzania, jest tylko jednorazowe sprawdzenie warunku i wybór jednej ścieżki.
  • "instrukcję porównania" – porównanie to zwykle operator/wyrażenie (np. równość, nierówność), a nie konstrukcja sterująca. Tutaj warunek jest prosty (sama zmienna k), a główną rolę pełni instrukcja if sterująca przepływem programu.

Wskazówka egzaminacyjna: jeśli widzisz słowo if oraz części then i opcjonalnie else, klasyfikuj to jako instrukcję warunkową (rozgałęzienie), a nie pętlę.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Instrukcja warunkowa to konstrukcja, która wybiera ścieżkę wykonania programu na podstawie warunku logicznego (prawda/fałsz). Najczęściej spotkasz ją jako if, gdzie część po then wykona się dla prawdy, a po else dla fałszu.
Rozpoznasz ją po słowach kluczowych if oraz then (i często także else). Zawsze występuje warunek logiczny, a po nim dwie możliwe akcje: dla spełnienia warunku i dla jego niespełnienia.
Pętla warunkowa oznacza powtarzanie instrukcji wiele razy, dopóki warunek jest spełniony (np. while) albo do momentu spełnienia (np. repeat). If nie powtarza działań: sprawdza warunek raz i wybiera jedną z gałęzi wykonania.
Typ boolean w Pascalu (typ logiczny) przechowuje jedną z dwóch wartości: true albo false. Takie zmienne są używane głównie do warunków w instrukcjach sterujących, np. w if lub w pętlach.
Jeżeli w warunku występuje sama zmienna logiczna, to jej wartość jest traktowana bezpośrednio jako wynik warunku. Gdy k=true, wykona się gałąź po then. Gdy k=false, wykona się gałąź po else (jeśli istnieje).
Instrukcja wyboru zwykle oznacza rozgałęzienie wielowariantowe (np. case), gdzie wybiera się jedną z wielu opcji na podstawie wartości wyrażenia. If najczęściej daje rozgałęzienie dwuwariantowe: prawda (then) lub fałsz (else).
Częsty błąd to mylenie rozgałęzienia z pętlą: uczniowie widzą "warunek" i automatycznie wybierają "pętlę warunkową". Inny błąd to kierowanie się nazwami odpowiedzi zamiast składnią (obecność if/then/else) i faktem, czy występuje powtarzanie.
Instrukcje warunkowe są używane cały czas: do sprawdzania poprawności danych z formularzy, rozróżniania ról użytkownika (admin/klient), obsługi błędów (np. brak zasobu), czy wyboru treści do wyświetlenia. To fundament logiki backendu i frontendu.
Koncepcja jest identyczna: warunek logiczny wybiera jedną z dwóch ścieżek. W JavaScript i PHP zapiszesz to jako if (warunek) { ... } else { ... }. Różni się składnia, ale sens pozostaje: decyzja na podstawie prawda/fałsz.
Najpierw znajdź słowa kluczowe sterujące przepływem: if/then/else → rozgałęzienie, while/repeat/for → pętla, case → wybór wielowariantowy. Potem sprawdź, czy w kodzie jest powtarzanie; jeśli nie, to nie jest pętla.
info

To pytanie poprawnie rozwiązuje 81% zdających egzamin. średnio łatwe

Eksperci podkreślają: "W kodzie występuje konstrukcja if ..."

Źródła:

  • Free Pascal Reference Guide: "If statement" (instrukcja if/then/else), https://www.freepascal.org/docs-html/ref/refsu56.html (dostęp: 2026-03-01)
  • Free Pascal Reference Guide: "Boolean types" (typ logiczny, true/false), https://www.freepascal.org/docs-html/ref/refsu7.html (dostęp: 2026-03-01)
  • Pascal (programming language) – opis składni instrukcji warunkowej, https://en.wikipedia.org/wiki/Pascal_(programming_language) (dostęp: 2026-03-01)

Materiały:

  • Dokumentacja Free Pascal: rozdział o instrukcji if oraz typach logicznych
  • Podręcznik do podstaw programowania strukturalnego (instrukcje sterujące)
  • Kurs wprowadzający do algorytmiki (warunki i rozgałęzienia)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego