Булевские переменные.
В предыдущей главе, при изучении условных операторов, мы говорили о том, что <условие> имеет два значения: истина и ложь (да, нет). Здесь важно то, что значений всего лишь два. Этим условия отличаются от чисел. Существенно, что числа могут принимать много значений, (сейчас для наших рассуждений не важно, сколько именно), важно, что много.
Рассмотрим, например выключатель, которым мы включаем нашу обычную осветительную лампу. Выключатель также имеет два состояния: включен и выключен.
Русское |
Английское |
Русское |
Английское |
Включен |
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; |
Рассмотрим теперь другую схему, также с двумя выключателями, но соединенными по другому.
Понятно, что теперь лампочка будет гореть, если хотя бы один выключатель включен. Опять составим таблицу возможных вариантов.
X1 |
X2 |
Result |
False |
False |
False |
False |
True |
True |
True |
False |
True |
True |
True |
True |
Эта таблица отличается от предыдущей. Посмотрите внимательно и обратите внимание на их различие. Такое включение называется “логическое ИЛИ”. По-английски
OR. Могут встречаться и другие обозначения:+, U, |, V.
В языке Паскаль эта операция обозначается как “
OR” и записывается так.
Var X1,X2,Result:Boolean; |
Схемы с лампочками и выключателями приведены только для того, чтобы облегчить понимание того, что такое логические функции. Главное, это таблица истинности. Любая логическая функция задается с помощью таблицы истинности.
Есть еще две важные операции. Отрицание и “исключающее или”.
Смысл операции отрицания понятен из названия. В Паскале она записывается как “
NOT”. Могут использоваться также другие обозначения:¬, черта над символом “¯” и другие.
X1 |
Result |
False |
True |
True |
False |
Эта функция одноместная, то есть имеет один аргумент.
Исключающее или в Паскале записывается как
“XOR”. Ее смысл таков функция имеет значение истина, когда операнды не равны друг другу.
X1 |
X2 |
Result |
False |
False |
False |
False |
True |
True |
True |
False |
True |
True |
True |
False |
Эта функция часто используется в графике.