Top.Mail.Ru

Turbo Pascal. Логические операции

Логические значения true и false, отношения :=, <>, >, >=, <, <= и логические переменные называются первичными логическими выражениями. Существуют специальные логические операции, с помощью которых из первичных выражений могут составляться более сложные конструкции. Наиболее употребительные три из них:

  • Логическое And - И;
  • Логическое Or - ИЛИ;
  • Логическое отрицание Not – НЕ.

Значение логического выражения, которое состоит из двух первичных выражений А и В, связанных логической операцией, определяется таблицами истинности.

Таблица истинности операции NOT 

 A   Not A 
 False   True 
 True   False 

Таблица истинности операций ANDOR 

 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+bne ravnoc+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