§. № Значение логических выражений
Даны значения целочисленных переменных: a = 10, b = 20. Чему будет равно значение логической переменной rez после выполнения операции присваивания?
а) rez := (a = 10) or (b > 10)
б) rez := (a > 5) and (b > 5) and (a < 20) and (b < 30)
в) rez := (not(a < 15)) or (b > 20)
Решение
Сначала вычисляем сравнения в скобках, затем отрицание not, затем логические операции and и or.
а) При a = сравнение a = истинно, а при b = сравнение b > тоже истинно. Получаем true or true = true, потому что для «или» достаточно хотя бы одного истинного высказывания.
б) По отдельности > — true, > — true, < — true, < — true. Соединение всех четырёх высказываний операцией and даёт true, потому что каждое из них истинно.
в) Сравнение < истинно, значит not(a < ) = false. Сравнение > ложно, потому что числа равны. Поэтому false or false = false.
Ответ
а) true; б) true; в) false.