Сложное условие - это условие состоящее из нескольких простых условий (отношений), связанных логическими операциями.
Логические операции применяют к операндам типа boolean и возвращают значение типа boolean.
В языке Паскаль существует 4 логические операции:
Not – логическое отрицание
And – логическое умножение (одновременное выполнение условий)
Or – логическое сложение (выполнение хотя бы одного условия)
Xor – исключающее или (выполнение только одного из двух условий, но не обоих).
Таблица истинности для логических операций:
a
b
a and b
a or b
a xor b
not a
0
1
Отношения между двумя операндами в Паскале записываются следующим образом:
< меньше
> больше
<= меньше или равно
>= больше или равно
= равно
<> не равно
В логическом выражении каждое простое условие заключается в круглые скобки.
Например,
1. Условие является ли заданное число x положительным, четным числом на языке Паскаль будет записано следующим образом:
if (x>0) and (x mod 2 = 0) then writeln('YES') else writeln ('NO");
2. Какую логическую операцию нужно добавить в программу вместо многоточия, чтобы значение переменной «a» после выполнения фрагмента программы стало равно 3?
a := 10;
b := 5;
if (a < 1) ... (a > b) then a := a - 7 else a := a + 7;
Решение:
Подставим вместо переменной а его значение для каждого простого отношения
Для a < 1 будет 10<1 (Нет)
Для a > b будет 10> 5 (Да)
Т.е. выполняетмся только одно условие, значит необходимо записать логическую операцию OR,
чтобы сложное условие было истинным и выполнился оператор a := a - 7 (10-7=3)
Чтобы перейти к следующему разделу дайте ответ на вопрос.
Какую логическую операцию нужно добавить в программу вместо многоточия, чтобы значение переменной «a» после выполнения фрагмента программы стало равно 17?
if (a > 1) ... (a < b) then a := a - 7 else a := a + 7;