русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-11-27; просмотров: 961; Нарушение авторских прав


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

 

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

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

Рассмотрим утверждение:
х < 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

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

Пример 4.3. Логические операции в программе
Program Bool_l;
var X: Integer;
Bol, OnBol, Rez: Boolean;
Begin
X:=4;
Bol :=X>3;
OnBol:=X<3;
writeln('Bol=',Bol);
writeln('ОnBol=',OnBol);
Rez:=Bol and OnBol;
writeln ('Bol and OnBol=',Rez) ;
Rez:=Bol or OnBol;
writeln('Bol or OnBo1=',Rez);
Rez:=not Bol;
writeln('not Bol=',Rez);
readln
end.

 

При выполнении программы имеем на экране следующее:

Bol=TRUE
OnBol=FALSE
Bol and OnBol=FALSE
Bol or OnBol=TRUE
not Bol=FALSE

 

Пример 4.4. Составление логических выражений
Program Bol_2;
{ Введем логические переменные, которые будут определять характеристики студента.
Составим выражения, определяющие, является ли студент первокурсником, получающим стипендию }


var
Price:Boolean; { Определяет наличие стипендии у студента }
Kursl:Boolean; { Определяет, является ли студент первокурсником }
Rezult:Boolean; { Определяет результат}

begin
Price:=True; { Пусть наш студент получает стипендию }
Kursl:=True; { Пусть студент - первокурсник }
Rezult:=Price and Kursl;
writeln('Студент-первокурсник со стипендией? -', Rezult);
Price:=False; { Пусть наш студент не получает стипендию }
Rezult:=Price and Kursl;
writeln('Студент - первокурсник со стипендией? - ', Rezult);
readln
end.

 

При выполнении программы имеем на экране следующее:
Студент - первокурсник со стипендией? - TRUE
Студент - первокурсник со стипендией? – FALSE

 

Задание 4.1. Определите в программе 4 логических переменных, которые содержат следующую информацию о людях:
Married — «истина», если человек женат (замужем),
Blond — «истина», если у человека светлые волосы,
Male — «истина», если человек — мужчина,
Employed — «истина», если человек работает.

Составьте логические выражения, с помощью которых можно определить, является ли человек:
1) замужней женщиной;
2) неженатым мужчиной;
3) незамужней блондинкой;
4) безработной незамужней женщиной;
5) либо неженатым, либо безработным, либо и тем и другим.



<== предыдущая лекция | следующая лекция ==>
Описание типа Char и стандартные функции | Приоритет логических операций


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.