Логічний вираз- це засіб запису умов для пошуку потрібних даних. Логічний вираз може приймати значення true(істинність), або false(хибність). Логічні вирази бувають прості та складені. Простий - це два арифметичні вирази, з’єднані символом відношення, а складений - це прості логічні вирази, з’єднані назвами логічних операцій: and (і), not (ні)і or (або).
And (і) -якщо кожна умова, що входить до складної, істинна, тоді вся складна умова типу «і» теж істинна. Якщо хоча б одна умова, що входить до складної, хибна, тоді вся складна умова типу «і» теж хибна.
Or (або) -якщо хоча б одна умова, що входить до складної, істинна, тоді вся складна умова типу «або» істинна. Якщо жодна умова, що входить до складної, хибна, тоді вся складна умова типу «або» теж хибна.
Not (ні) -якщо кожна умова, що входить до складної, істинна, тоді складна умова типу «ні» хибна. Якщо кожна умова, що входить до складної, хибна, тоді вся складна умова типу «ні» істинна.
Розглянемо означення логічних операцій.
Вираз
| Значення
| Вираз
| Значення
|
nottrue
| false
| notfalse
| true
|
true andtrue
| true
| true ortrue
| true
|
true andfalse
| false
| true orfalse
| true
|
false andtrue
| false
| false ortrue
| true
|
false andfalse
| false
| false orfalse
| false
|
Приклад. Нехай = 3, у = - 9. Розглянемо деякі логічні вирази та їхні значення.
Прості вирази
| Значення
| Складені вирази
| Значення
|
= 3
| true
| not(y <= -50)
| true
|
> y
| true
| (1 < x) and(x < 5)
| true
|
7 mod3 = 1
| true
| (x > 4) or(y < -15)
| false
|
y div2 = 4
| false
| (x > 4) or(y > -15)
| true
|
Подвійну нерівність 1< <5 як складений логічний вираз записують так: (1<х) and(х<5). Сукупність нерівностей вигляду х<1; х>5 - так: (х<1) or( х>5). Прості логічні вирази, які входять у складені, завжди беруть у дужки.
1.3 Оператор розгалуження if (умовний оператор) - повна форма
Оператор розгалуження в мові програмування Pascal може записуватися в повній або скороченій формах.
Поєна форма оператора розгалуження має вигляд:
If<логічний вираз> then<оператор 1> else<оператор 2>; Службові слова, які використовуються в умовному операторі, мають зміст if-якщо, then -то, else -інакше.
Дія команди. Якщо логічний вираз істинний, то виконується оператор 1, а потім оператор, який знаходиться в програмі після всього оператору розгалуження; якщо логічний вираз хибний, то виконується оператор 2, а потім оператор, який знаходиться після оператору розгалуження. Оператори 1 та 2 можуть бути простими або складеними.
Блок-схема умовного оператору (повна форма) має вигляд:
Приклад. Нехай х= 9. У результаті виконання команд
if х> 7 then у: = х*х else у: = sin (х);
if х< 5 then z: = exp(x) else z: =sqrt (х);
отримаємо у = 81, z = 3.
Приклад програми порівняння двох чисел.
program Umova;
uses Crt;
var a,b: integer;
begin
clrscr;
write (‘a=’);
readln (a);
write (‘b=’);
readln (b);
if a > b thenwriteln(‘a більше b’) elsewriteln(‘b більше a’);
readln;
end.
В даному випадку, якщо а = 2, b = 5, то значення логічного виразу a>b хибне, отже на екрані з’явиться повідомлення - b більше a.
Задача 1. Обчислити і надрукувати значення складеної функції у у деякій заданій користувачем точці х, якщо

Блок-схема алгоритму задачі 1:

programMyfunction; usesCrt; var,y: real; begin
clrscr;
writeln (‘Введіть ’);
readln (x);
ifx < - 1 theny:=ln(abs(x)) else
if(x >= -1) and(x < 1) theny:=sin(x) elsey:=cos(x);
writeln(‘x=’, x:5:2,’ y=’, y:5:2);
readln
End.
Щоб перевірити роботу програми потрібно задати X не менш три рази.
Результати роботи програми для кожного діапазону значень X:
Введіть x Введіть x Введіть x
3 -2 0,5
x= 3.00 y=-0.99 х=-2.00 у=-0.69 х= 0.50 у= 0.48
Зауваження. У команді розгалуження перед службовим словом elseсимвол «;» не ставиться.
1.4 Оператор розгалуження (if) - скорочена форма
Коротка форма оператора розгалуження має вигляд:
If<логічний вираз> then<оператор 1>;
Дія команди. Якщо логічний вираз істинний, то виконується оператор 1, а потім оператор, який знаходиться в програмі після всього оператору розгалуження, якщо логічний вираз хибний, то виконується оператор, який знаходиться після оператору розгалуження.
Блок-схема умовного оператору (коротка форма) має вигляд:

Приклад. Нехай х= 25. Тоді у результаті виконання команд
ifx > 12 theny:=2*x; z:=10;
ifx < 5 thenz:=exp(x);
отримаємо у = 50, z = 10.