Основы программирования на C++, PASCAL
Кроме величин (констант и переменных) типа boolean логические значения false, true принимают результаты операций отношения.
Операции отношения (рис. 18) осуществляют сравнение двух операндов и определяют, истинно или ложно соответствующее отношение между ними.
Примеры записи отношений: х<у; a+b>=c/d; abs(m-n)<=l. Примеры вычисления значений отношений:
Логические операции выполняются над операндами булева типа. Имеются четыре логические операции: Not — отрицание; And — логическое умножение (конъюнкция); Or — логическое сложение (дизъюнкция). Кроме этих трех обязательных операций в Турбо Паскале имеется еще операция — исключающее ИЛИ. Ее знак — служебное слово Хоr. Это двухместная операция, которая в результате дает значение истина, если оба операнда имеют разные логические значения.
Операции перечислены в порядке убывания приоритетов. Результаты логических операций для различных значений операндов приведены в табл. 3.5.
Таблица 3.5
Операции отношения имеют самый низкий приоритет. Поэтому если операндами логической операции являются отношения, то их следует заключать в круглые скобки. Например, математическому неравенству 1 ≤ х ≤ 50 соответствует следующее логическое выражение:
(1<=X) And (X<=50)
Логическое выражение есть логическая формула, записанная на языке программирования. Логическое выражение состоит из логических операндов, связанных логическими операциями и круглыми скобками. Результатом вычисления логического выражения является булева величина (false или true). Логическими операндами могут быть логические константы, переменные, функции, операции отношения. Один отдельный логический операнд является простейшей формой логического выражения.
Примеры логических выражений (здесь d, b, с — логические переменные; х, у — вещественные переменные; k — целая переменная):
Если d=true; b=false; c=true; x=3.0; y=0.5; k=5, то результаты вычисления будут следующими:
В примере использована логическая функция odd(k). Это функция от целого аргумента k, которая принимает значение true, если значение k нечетное, и false, если k четное.
Логический оператор присваивания имеет структуру, представленную на рис. 19.
Примеры логических операторов присваивания:
1) d:=true;
2) b:=(x>y) and (k<>0);
3) c:=d or b and not (odd(k) and d).