KWALIFIKACJA INF2 + INF3 - CZERWIEC 2011

PYTANIE NR 32.
Dla u:=SQRT(4)-1 w notacji języka Pascal wyrażenie (u<1) and (u>=0) przyjmie wartość
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Oblicz u: SQRT(4) = 2, więc u = 2 − 1 = 1.
Następnie: (u < 1) daje fałsz, bo 1 nie jest mniejsze od 1, a (u >= 0) daje prawdę. Dla operatora and wynik jest prawdziwy tylko, gdy oba warunki są prawdziwe, więc całe wyrażenie ma wartość FALSE.

Pełne wyjaśnienie:

Najpierw wyznaczamy wartość zmiennej u:

SQRT(4) oznacza pierwiastek kwadratowy z 4, czyli 2. Zatem u = 2 − 1 = 1.

Następnie oceniamy dwa warunki porównania:

  • (u < 1): po podstawieniu u = 1 dostajemy (1 < 1), co jest fałszem, bo liczba nie jest mniejsza od samej siebie.
  • (u >= 0): po podstawieniu u = 1 dostajemy (1 >= 0), co jest prawdą, bo 1 jest liczbą nieujemną.

Całość ma postać fałsz and prawda. Operator and (koniunkcja) zwraca wartość prawda tylko wtedy, gdy oba składniki są prawdziwe. Jeżeli choć jeden składnik jest fałszywy, wynik całego wyrażenia jest fałszywy.

Dlatego poprawny wynik to FALSE.

Dlaczego pozostałe odpowiedzi nie pasują?

  • TRUE byłoby poprawne tylko wtedy, gdyby jednocześnie zachodziło u < 1 oraz u >= 0 (czyli u należało do przedziału [0,1)). Ponieważ u = 1, pierwszy warunek nie jest spełniony.
  • 2 nie jest poprawną wartością, ponieważ całe wyrażenie jest logiczne (typ Boolean) i może przyjąć wyłącznie TRUE albo FALSE, a nie liczbę.

Wskazówka egzaminacyjna: w zadaniach o przedziałach zawsze sprawdzaj przypadki brzegowe (tu: równość 1) i pamiętaj, że znak < wyklucza równość.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
SQRT(4) to funkcja zwracająca pierwiastek kwadratowy z liczby 4. Wynik wynosi 2. W zadaniach egzaminacyjnych zwykle chodzi o policzenie wartości i podstawienie jej do dalszych porównań.
Najpierw liczysz SQRT(4)=2, a potem odejmujesz 1: u=2-1=1. Dopiero z tak wyliczonym u oceniasz warunki w nawiasach (porównania) i na końcu operator logiczny and.
Tak. To klasyczny test, czy u należy do przedziału [0,1): u jest nieujemne oraz jednocześnie mniejsze od 1. Jeśli którykolwiek warunek jest niespełniony, całe wyrażenie z and zwróci FALSE.
Znak < oznacza "ściśle mniejsze". Dla u=1 mamy porównanie 1<1, które jest fałszywe, bo równość nie spełnia nierówności ostrej. Gdyby było <=, wtedy byłoby prawdziwe.
and to koniunkcja logiczna. Wynik to TRUE tylko wtedy, gdy oba argumenty są TRUE. Jeśli choć jeden jest FALSE, wynik jest FALSE. To typowy operator do łączenia warunków w instrukcji if.
Nie. Porównania typu u<1 i u>=0 zwracają wartość logiczną (Boolean), a and łączy wartości logiczne. Całe wyrażenie ma więc wynik TRUE albo FALSE, a nie liczbę.
Najczęściej myli się znaki < z <= (przypadki brzegowe), zakłada się "na oko", że liczba mieści się w przedziale, albo myli się działanie and z or. Pomaga podstawienie konkretnej wartości i ocena warunków osobno.
Gdy walidujesz dane, np. procent w postaci ułamka (0.0–0.999...), współczynnik przezroczystości, wartość znormalizowaną lub wynik skali. Taki warunek chroni program przed wartościami spoza założonego zakresu.
Stosuj schemat: (1) oblicz wartości liczbowe, (2) oceń każde porównanie jako TRUE/FALSE, (3) zastosuj tablicę prawdy dla operatora. Dla and: TRUE tylko przy TRUE i TRUE. To szybka metoda na egzaminie.
W typowych interpretacjach u jest liczbą (np. rzeczywistą), ale tu i tak wychodzi wartość całkowita 1. Kluczowe jest to, że porównania zwracają Boolean. Na egzaminie zwracaj uwagę na typy, gdy pojawiają się ułamki lub dzielenie.
info

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

Eksperci podkreślają: "Oblicz u: SQRT(4) = 2, więc u = 2 − 1 = 1.Następnie: (u &lt; 1) daje fałsz, bo 1 nie jest mniejsze od 1, a (u &gt;= 0) daje prawdę."

Źródła:

  • Free Pascal Reference Guide (dokumentacja): rozdział o funkcjach matematycznych (Sqrt) oraz typie Boolean i operatorach logicznych - https://www.freepascal.org/docs.html (dostęp: 2026-02-27)
  • Embarcadero Delphi / Object Pascal documentation: Boolean operators (and) oraz relational operators - https://docwiki.embarcadero.com (dostęp: 2026-02-27)

Materiały:

  • Podręcznik do Pascala obejmujący typ Boolean oraz operatory relacyjne i logiczne
  • Materiały o algebrze Boole’a (tablice prawdy dla and/or/not)
  • Ćwiczenia z walidacji danych i warunków przedziałowych w programowaniu

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego