Язык программирования TurboPascal
- Григоренко Г. Н.
- Просмотров: 7736
Turbo Pascal. Логические операции
Логические значения true и false, отношения :=, <>, >, >=, <, <= и логические переменные называются первичными логическими выражениями. Существуют специальные логические операции, с помощью которых из первичных выражений могут составляться более сложные конструкции. Наиболее употребительные три из них:
- Логическое And - И;
- Логическое Or - ИЛИ;
- Логическое отрицание Not – НЕ.
Значение логического выражения, которое состоит из двух первичных выражений А и В, связанных логической операцией, определяется таблицами истинности.
Таблица истинности операции NOT
A | Not A |
False | True |
True | False |
Таблица истинности операций AND, OR
A | B | A and B | A or B |
False | False | False | False |
False | True | False | True |
True | False | False | True |
True | True | True | True |
Операция Not (НЕ). Эта операция относится только к одному логическому выражению А (говорят унарная операция). Если первичное логическое выражение А имеет значение true, то выражение not A (читается не А) имеет значение false, если A – false, то not A – true .
Операция And (И). Логическое выражение A and B (читается: А и В) имеет значение true только в том случае, когда оба первичных логических выражения А и В имеют значение true . Во всех остальных случаях выражение A and B имеет значение false .
Операция Or (ИЛИ). Логическое выражение A or B (читается: А или В) имеет значение true, если значение true имеет хотя бы одно из первичных логических выражений. В единственном случае, когда и А, и В имеют значение false, выражение A or B имеет значение false .
Логические операции применяются к данным логического типа. Операции отношения :=, <>, >, >=, <, <= имеют более низкий приоритет, чем арифметические операции: сначала выполняются арифметические операции, а затем операции отношения.
Условие a+bc+d на языке Турбо Паскаль записывается так: a+b<>c+d .
ЗАДАЧА. Требуется присвоить логической переменной a значение true, если , и false – в противоположном случае.
Program a3;
Var
a:boolean; {Переменная логического типа}
x:real; {Переменная вещественного типа}
Begin
Writeln(a); {По умолчанию начальное значение логической переменной равно false, проверяем – выводим на экран монитора}
x:=0.5; {Задаем значение x в диапазоне }
a:=(x>=0) and (x<1); {теперь будет рано true}
Write (a); {Выводим a на экран монитора}
End.
Результаты работы программы:
FALSE
TRUE