Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЕМА 4 Джордж Буль и его логика.doc
Скачиваний:
2
Добавлен:
02.09.2019
Размер:
77 Кб
Скачать
☆

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

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

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

Выражения связаны парой «либо-либо».

Такое утверждение истинно, когда истинно только одно из двух составляющих его утверждений.

Можно сформулировать это иначе: логическое выражение истинно (true), если его операнды различны.

Данная операция называется исключающим ИЛИ. На Паскале она обозначается как хог.

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

Операнд 1

Операция

Операнд 2

Результат

True

Xor

True

False

True

Xor

False

True

False

Xor

True

True

False

Xor

False

False

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

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

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

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

Выражение отрицается частицей «не».

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

Эта операция называется логическим отрицанием, логическим НЕ или инверсией. На Паскале она обозначается как not.

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

Операнд

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

True

False

False

True

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

Пример 4.3. Логические операции в программе

Program Bool_1;

Var

X: Integer;

Bol, OnBol, Rez: Boolean;

Begin

X:=4;

Bol:=X>3;

0пВо1:=Х<3;

Writeln ('Bol = ', Bol);

writeln('OnBol = ', OnBol);

Rez:=Bol and OnBol;

Writeln (‘Bol and OnBol = ’, Rez);

Rez:=Bol or OnBol;

Writeln (‘Bol or OnBol = ', 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; {Пусть наш студент получает стипендию }

Kurs1:=True; { Пусть студент – первокурсник}

Rezult:=Price and Kurs1;

Writeln ('Студент - первокурсник со стипендией? – ‘, Rezult);

Price:= False; { Пусть наш студент не получает стипендию }

Rezult:=Price and Kurs1;

Writeln ('Студент - первокурсник со стипендией? - ', Rezult);

Readln

end.

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

Студент - первокурсник со стипендией? – TRUE

Студент - первокурсник со стипендией? - FALSE

Задание 4.1. Определите в программе 4 логических перемен­ных, которые содержат следующую информацию о людях:

Married — «истина», если человек женат (замужем);

Blond — «истина», если у человека светлые волосы;

Male — «истина», если человек — мужчина;

Employed — «истина», если человек работает.

Составьте логические выражения, с помощью которых можно определить, является ли человек:

  1. замужней женщиной;

  2. неженатым мужчиной;

  3. незамужней блондинкой;

  4. безработной незамужней женщиной;

  5. либо неженатым, либо безработным, либо и тем и другим.