KWALIFIKACJA INF2 + INF3 - CZERWIEC 2008

PYTANIE NR 44.
Zapis warunku (x > 0) lub (x < 100), przedstawionego w skrzynce decyzyjne, będzie miał w języku Pascal postać
Ilustracja przedstawia schemat blokowy, który jest używany w kontekście egzaminu zawodowego dla technika programisty.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Operator logiczny OR w Pascalu oznacza alternatywę: warunek jest prawdziwy, gdy spełniony jest co najmniej jeden z warunków składowych. Dlatego zapis odpowiada konstrukcji if (x > 0) OR (x < 100) then. AND wymaga obu warunków, NOT i MOD nie są tu właściwe.

Pełne wyjaśnienie:

Wyrażenie (x > 0) lub (x < 100) opisuje alternatywę logiczną. W logice zdań alternatywa (OR) jest spełniona wtedy, gdy spełniony jest co najmniej jeden z jej składników. W praktyce programowania oznacza to: jeśli x jest większe od 0 albo mniejsze od 100, to cały warunek uznajemy za prawdziwy i można wykonać instrukcję po then.

W Pascalu alternatywę zapisuje się operatorem OR w warunku instrukcji if ... then, więc poprawna postać to: if (x > 0) OR (x < 100) then. Wielkość liter w słowach kluczowych (if/then/or) zwykle nie ma znaczenia, ale na egzaminie oczekuje się poprawnego operatora i sensu logicznego.

Dlaczego pozostałe propozycje nie pasują?

  • AND oznacza koniunkcję, czyli warunek byłby prawdziwy tylko wtedy, gdy jednocześnie zachodzi (x > 0) i (x < 100). To inna relacja: zawęża zbiór wartości x do wspólnej części obu warunków.
  • NOT to negacja logiczna. Samo wstawienie NOT pomiędzy dwa porównania nie tworzy poprawnej i jednoznacznej alternatywy; negacja powinna dotyczyć konkretnego wyrażenia logicznego (np. NOT (x < 100)).
  • MOD jest operatorem arytmetycznym (reszta z dzielenia) i nie służy do łączenia warunków logicznych. Próba użycia MOD między porównaniami miesza typy danych i znaczenia operatorów.

Wskazówka egzaminacyjna: najpierw rozpoznaj, czy opis w zadaniu mówi o "co najmniej jednym warunku" (OR), czy o "obu naraz" (AND), a dopiero potem wybierz zapis w danym języku.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
OR to alternatywa logiczna: całe wyrażenie jest prawdziwe, gdy co najmniej jeden z warunków składowych jest prawdziwy. Przykładowo: (x > 0) OR (x < 100) zadziała, gdy spełniony jest którykolwiek z tych warunków.
OR oznacza "wystarczy jeden warunek", a AND oznacza "muszą być spełnione oba jednocześnie". W praktyce AND zawęża zakres dopuszczalnych wartości, a OR go rozszerza. To jedna z najczęstszych pułapek w zadaniach z logiki.
Tak, używa operatora alternatywy OR i typowej składni instrukcji warunkowej if ... then. W wielu implementacjach Pascala wielkość liter nie jest istotna, ale ważne jest, aby operator logiczny był właściwy (OR), a wyrażenia w nawiasach były porównaniami.
MOD to operator arytmetyczny zwracający resztę z dzielenia liczb całkowitych, np. 7 MOD 3 = 1. Nie służy do łączenia warunków logicznych, takich jak (x > 0) oraz (x < 100). Użycie MOD w takim miejscu miesza typy i znaczenia operatorów.
NOT to negacja logiczna, która powinna dotyczyć konkretnego wyrażenia typu Boolean, np. NOT (x < 100). Częsty błąd to traktowanie NOT jak "łącznika" między dwoma warunkami. W praktyce NOT stosuje się do odwrócenia wyniku jednego warunku lub całego złożonego wyrażenia w nawiasach.
OR stosuje się, gdy dopuszczasz kilka niezależnych sytuacji prowadzących do tego samego działania, np. "zaloguj, jeśli użytkownik jest administratorem lub ma ważne uprawnienie". To typowe w walidacji danych, filtrach, obsłudze wyjątków i regułach biznesowych.
Czyta się: "x jest większe od zera lub x jest mniejsze od stu". Kluczowe jest "lub" w sensie logicznym (alternatywa), czyli wystarczy spełnienie jednego z członów. To pomaga szybko rozpoznać, że w kodzie powinien pojawić się operator OR.
Nawiasy często nie są bezwzględnie konieczne, ale są bardzo zalecane, bo poprawiają czytelność i eliminują wątpliwości co do kolejności wykonywania operatorów. W zadaniach egzaminacyjnych nawiasy pomagają jasno pokazać, które porównania są łączone operatorem OR lub AND.
Najczęściej myli się OR z AND, bo intuicyjnie "brzmi podobnie" do języka potocznego. Drugim błędem jest niepoprawne użycie NOT (brak nawiasów lub negowanie nie tego fragmentu). Trzeci błąd to wybór operatora arytmetycznego (np. MOD) zamiast logicznego.
Podstaw w myślach przykładową wartość x i oceń, czy wynik ma być prawdziwy. Jeśli ma wystarczyć jeden spełniony warunek, wybierasz OR; jeśli oba naraz, wybierasz AND. Ta szybka "kontrola przypadkiem" często pozwala uniknąć pomyłki na egzaminie.
info

Około 55% zdających odpowiada poprawnie na to pytanie. średnie

Według specjalistów z branży: "Operator logiczny OR w Pascalu oznacza alternatywę: warunek jest prawdziwy, gdy spełniony jest co najmniej jeden z warunków składowych."

Źródła:

  • Free Pascal Reference Guide: Operators (Boolean operators AND/OR/NOT), https://www.freepascal.org/docs-html/ref/refse27.html (dostęp: 2026-02-27)
  • Embarcadero Delphi documentation: Expressions and Operators (logical operators), https://docwiki.embarcadero.com/RADStudio/en/Expressions_(Delphi) (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja języka Pascal/Free Pascal: operatory logiczne i składnia instrukcji if
  • Podstawy logiki matematycznej dla informatyków (alternatywa, koniunkcja, negacja)
  • Zbiór zadań z algorytmiki: ćwiczenia z warunkami złożonymi (OR/AND/NOT)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego