Логические переменные

Кроме численных переменных во всех языках программирования существует возможность использовать переменные для хранения других типов данных. Самой простой, с одной стороны, и самой «экзотической» с другой, является переменная для хранения данных логического типа.

Логический тип

К логическим относятся типы Boolean, ByteBool, Bool, wordBool и LongBool. В стандартном Паскале определен только тип Boolean, остальные логические типы введены в Delphi  для совместимости с Windows: типы Boolean и ByteBool занимают по одному байту каждый, Bool и WordBool - по 2 байта, LongBool - 4 байта.  Мы будем оперировать с типом Boolean.

Все логические типы могут принимать лишь два значения: False (ложь) и True (истина). Иногда говорять, что логическая переменная имеет значение "да" или "+" (истина), "нет" или "-" (ложь).

Объявляются переменные логического типа в разделе объявления переменных следующим образом:

Var a: Boolean;

      d34, Done: Boolean;

Присваивание (определение значения) для переменных логического типа выполняется следующим образом:

a:=True;

Done:=False;

С правой части от знака присваивания могут также находиться выражения, результат которых логическая величина.

Определить значение логической переменной с помощью ввода информации во время работы программы нельзя.

Также как и для численных переменных выполняется ряд арифметических операций, для логических переменных выполняется ряд логических операций.

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

Логические операции применяются к величинам логического типа, результат операции — тоже логического типа. Имеется одна унарная логическая операция not (отрицание) и три бинарные операции and (и), or (или), xor (исключающее или).

Логическая операция not

Ставиться перед логической переменной (выражением). Инвертирует (меняет на противоположное) значение логической переменной или логического выражения.

Логическая операция and

Объединяет две логические переменные (логические выражения). Результат получившегося выражения будет истинным, если истинны обе переменные (оба выражения) составляющие данное выражение. В противном случае выражение ложно.

Логическая операция or

Объединяет две логические переменные (логические выражения). Результат получившегося выражения будет истинным, если истинной является хотя бы одна из переменных (выражений) составляющие данное выражение. В противном случае выражение ложно.

Логическая операция xor

Объединяет две логические переменные (логические выражения). Результат получившегося выражения будет истинным, если значения этих переменных (выражений) различны. В противном случае выражение ложно.

Для описания всех логических операций используют так называемые таблицы истинности. В этих таблицах X и Y — это логические переменные (выражения), составляющие результирующее выражение.

Таблица истинности not

X

not X

False

True

True

False

Таблица истинности операций and, or ,xor

X

Y

X and Y

X or Y

X xor Y

False

False

False

False

False

False

True

False

True

True

True

False

False

True

True

True

True

True

True

False

Примеры использования логических операций

a:=False; d34:=True;

Done := not a;                                              {Done = True}

Done := a and d34;                                      {Done = False}

Done := a or d34;                                         {Done = True}

Done := a xor d34;                                        {Done = True}

Существует ряд операций и функций, результатом которых являются величины логического типа.

Операции отношения

Операции отношения предназначены для сравнения двух величин. Результат сравнения имеет логический (Boolean) тип.

=   равно;

<> не равно;

<   меньше;

>   больше;

<= меньше или равно;

>= больше или равно;

Примеры использования операций отношения

Done:=(5<0);                                    {Done = False}

Done:=(c<=2);                                  {Done = True при c<=2}

Done:=(c<=10) and (c>=0);              {Done = True при 0>=c>=10}

Логическая функция ODD (x)

Определяет четность целого числа х. Возвращает значение True, если х нечетно  и False в противоположном случае.

Упорядоченность логических переменных

К логическим переменным могут применяться операции отношения. Упорядочены логические (булевские) переменные следующим образом:

False < True

При составлении сложных арифметических или логических выражений необходимо помнить о порядке (очередности выполнения) операций того или иного типа. Порядок выполнения операций (вычисления выражений) часто называют приоритетом действий.

Порядок вычисления выражений — приоритеты действий:

1.      Вычисления в круглых скобках

2.      Вычисление значений функций {sin(x), cos(x), sqrt(x) и т. д.}

3.      Унарные операции  { not }

4.      Мультипликативные операции { *, /, div, mod, and }

5.      Аддитивные операции { +, -, or, xor }

6.      Операции отношения { =, <>, <, >, <=, >= }

На главную.
Используются технологии uCoz