Обучающие курсы:

Обучение профессии "Разработчик C#" + стажировка в Mail.ru
Обучение профессии "Разработчик Python" + трудоустройство
Обучение профессии "Веб-разработчик" + стажировка в Mail.ru


Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Логические (булевские) операции

Часто принимаемое решение зависит от результата не одного, а нескольких утверждений. Например, «Вася получит сегодня пятерку, если придет на урок И правильно выполнит задание». Значит, нужно научиться объединять результаты нескольких утверждений и принимать общее решение. В приведенном примере этим объединением служит союз «И».

 

Логическое умножение (конъюнкция)

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

Рассмотрим утверждение:
х < 7 и х > 3

Два отношения связаны союзом «и» (and). Согласно правилам булевской алгебры, комбинация двух логических выражений, связанных между собой союзом «и», всегда является истинной, если истинны оба выражения.

Эта операция называется логическим умножением, или конъюнкцией. В Паскале она обозначается как and.

Таблица 4.2. Таблица истинности для операции логического умножения

 

Операнд 1

Операция

Операнд 2

Результат

True

And

True

True

True

And

False

False

False

And

True

False

False

And

False

False

 

Логическое сложение (дизъюнкция)

Рассмотрим утверждение:
х > 100 или х< 10

Выражения можно связывать союзом «или» (or). Логическое выражение, связанное союзом «или», всегда ложно (false), если ложны обе его части. Во всех других случаях результатом будет «истина» (true).
Эта операция называется логическим сложением, или дизъюнкцией. В Паскале она обозначается как or.

Таблица 4.3. Таблица истинности для операции логического сложения

Операнд 1

Операция

Операнд 2

Результат

True

Or

True

True

True

Or

False

True

False

Or

True

True

False

Or

False

False

 

Исключающее ИЛИ (сложение по модулю 2)

Рассмотрим утверждение:
либо х > 5, либо х < 0

Выражения связаны парой «либо-либо». Такое утверждение истинно, когда истинно только одно из двух составляющих его утверждений.
Можно сформулировать это иначе: логическое выражение истинно (true), если его операнды различны.
Данная операция называется исключающим ИЛИ. В Паскале она обозначается как хог.

 

Таблица 4.4. Таблица истинности для операции исключающего ИЛИ

Операнд 1

Операция

Операнд 2

Результат

True

Or

True

False

True

Or

False

True

False

Or

True

True

False

Or

False

False

 

Как еще можно получить эти результаты?
Представим значение true как 1 (логическую единицу), a false — как 0 (логический нуль).

Теперь сложим эти значения и возьмем остаток от деления полученного результата нацело на 2 (mod 2). Эта операция называется также сложением по модулю 2. Ясно, что результат будет всегда меньше двух.

 

Логическое отрицание (инверсия)

Рассмотрим утверждение:
не (х > 100)

Выражение отрицается частицей «не». Результат операции противоположен отрицаемому утверждению. Если утверждение было истинным (true), результатом будет false («ложь»), И наоборот, если утверждение было ложным (false), то получится true («истина»).
Эта операция называется логическим отрицанием, логическим НЕ, или инверсией. В Паскале она обозначается как not.

Таблица 4.5. Таблица истинности для операции логического НЕ

Операнд

Результат операции Not

True

False

False

True

 

 




 

Комментарии:

2015-01-29 ответил Tofan

На сколько я понял в таблице 4.4 - ошибка. в столбце "Операция" Вместо "Or", нужно писать - "XOr". Или я не прав?




Добавить свой комментарий:


Введите значение:
 









   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru