Логические операции
Логические выражения в результате вычисления принимают логические значения True и False. Операндами это выражения могут быть логические константы, переменные, отношения. Идентификатор логического типа в Паскале: boolean.
В Паскале имеется 4 логические операции: отрицание -NOT, логическое умножение -AND, логическое сложение - OR, исключающее «или» -XOR . Использованы обозначения: T – true, F – false.
A | B | Not A | A and B | A or B | A xor B |
T | T | F | T | T | F |
T | F | F | F | T | T |
F | F | T | F | F | F |
F | T | T | F | T | T |
Приоритеты операций: not, and, or, xor. Операции отношения ( = , <> …) имеют более высокий приоритет, чем логические операции, поэтому их следует заключать в скобки при использовании по отношению к ним логических операций.
Пример. Составить программу, по которой будет выведено значение «истина», если точка с заданными координатами (x, y) лежит внутри некоторой области, и «ложь» – в противном случае. Область состоит из 2 частей: первая часть x ? 0; y ? -x-3 и y2 + x2 ? 9, вторая часть - x ? 0 и x2 + y2 ? 25.
Решение:
Данная область состоит из 2 частей.
1: x= - x-3.
2: x>=0; x2+y2
Точка с координатами (x,y) лежит в данной области, если она принадлежит 1 или 2 части.
Program point; Var x, y:real; L:boolean; Begin Writeln(‘Введите х и y’); Readln(x,y); L:= (x=-x-3) or (x>=0) and (sqr(x)+sqr(y)
Результатом выполнения программы будет:
Введите x и y
2 0 {с клавиатуры сами ввели через пробел 2 и 0}
Точка лежит в области?TRUE
Приоритет операций (в порядке убывания):
вычисление функции;
унарный минус, not;
умножение, деление, div, mod, and;
сложение, вычитание, or, xor;
операции отношения