Булевские переменные.

В предыдущей главе, при изучении условных операторов, мы говорили о том, что <условие> имеет два значения: истина и ложь (да, нет). Здесь важно то, что значений всего лишь два. Этим условия отличаются от чисел. Существенно, что числа могут принимать много значений, (сейчас для наших рассуждений не важно, сколько именно), важно, что много.

Рассмотрим, например выключатель, которым мы включаем нашу обычную осветительную лампу. Выключатель также имеет два состояния: включен и выключен.

Русское

Английское

Русское

Английское

Включен

On

Выключен

Off

Истина

True (T)

Ложь

False (F)

Да

Yes

Нет

No

1

0

Переменные, которые имеют два состояния, называются логическими переменными или переменными булевского типа.

Для них в языке Паскаль существует специальный тип bolean. Соответственно такие переменные описываются в секции описаний:

var b1,b2:boolean;

Здесь описаны две логические переменные b1 и b2.

Операции обычной арифметики к таким переменным неприменимы. Некоторые из них мы разберем на примерах.

Рассмотрим такую схему, состоящую из двух выключателей X1 и X2 включенных последовательно и лампочки. Каждый выключатель может быть включен или выключен, так что всего мы будем иметь четыре комбинации. Распишем эти комбинации в таблицу.

X1

X2

Result

False

False

False

False

True

False

True

False

False

True

True

True

Лампочка будет гореть только в том случае, если включены оба выключателя. И первый, И второй. Такая схема включения называется логическое “И”. По-английски AND. Могут встречаться и другие обозначения:

&, , Λ .

В языке Паскаль эта операция обозначается как “AND” и записывается так.

Var X1,X2,Result:Boolean;

Result := X1 AND X2;

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

Понятно, что теперь лампочка будет гореть, если хотя бы один выключатель включен. Опять составим таблицу возможных вариантов.

X1

X2

Result

False

False

False

False

True

True

True

False

True

True

True

True

Эта таблица отличается от предыдущей. Посмотрите внимательно и обратите внимание на их различие. Такое включение называется “логическое ИЛИ”. По-английски OR. Могут встречаться и другие обозначения:

+, U, |, V.

В языке Паскаль эта операция обозначается как “OR” и записывается так.

Var X1,X2,Result:Boolean;

Result := X1 OR X2;

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

Есть еще две важные операции. Отрицание и “исключающее или”.

Смысл операции отрицания понятен из названия. В Паскале она записывается как “NOT”. Могут использоваться также другие обозначения:

¬, черта над символом “¯” и другие.

X1

Result

False

True

True

False

Эта функция одноместная, то есть имеет один аргумент.

 

Исключающее или в Паскале записывается как “XOR”. Ее смысл таков функция имеет значение истина, когда операнды не равны друг другу.

X1

X2

Result

False

False

False

False

True

True

True

False

True

True

True

False

Эта функция часто используется в графике.

 

ПРЕДЫДУЩАЯ ГЛАВА |  ГЛАВНАЯ СТРАНИЦА |  ТЕКУЩАЯ СТРАНИЦА |  СЛЕДУЮЩАЯ ГЛАВА;

 

Hosted by uCoz