Логические выражения.

Информатика. Учебник для 9 класса по учебнику К. Ю. Полякова, Е.А. Еремина, базовый уровень

§11. Логические выражения.


Формализация

Ключевые слова:

• формализация	
• логическое выражение	
• таблица истинности	
• вычислимое выражение	
• тождественно истинное выражение
• тождественно ложное выражение
• равносильные выражения
• логическая схема

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

Логическое выражение — это выражение, результат вычисления которого — логическое значение (истина или ложь).

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

А = Первый двигатель вышел из строя;

В = Второй двигатель вышел из строя;

С = Третий двигатель вышел из строя;

X = Аварийная ситуация.

Тогда логическое высказывание X можно записать в виде логического выражения (логической формулы):

X = (А и В) или (А и С) или (В и С).

Это выражение может быть записано с помощью других обозначений:

X = (А • В) + (А • С) + (В • С).                              (*)

Таким образом, мы выполнили формализацию.

Формализация — это переход от конкретного содержания высказываний к записи с помощью формального языка.

При вычислении логических выражений установлен такой порядок выполнения операций:

1) действия в скобках;
2) отрицание (НЕ);
3) логическое умножение (И), слева направо;
4) логическое сложение (ИЛИ), слева направо.

Можно ли убрать скобки в выражении (*)? Почему?

Уберите лишние скобки в логических выражениях:

а) X = (А + (В • С) • (А + С));

б) X = (А + B) • (C • А) • (А + (B + C))).

Вычислите значение логического выражения X = (А • В + С) • (А + C) при:

а) А = О, В = О, С = 1;
б) А = О, В = 1, С = 1;
в) А = 1, В = 1, С = 0.

Таблицы истинности

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

X = А и не В или не А и B,

которое можно также записать в виде

X = А • B + А • В.

Сколько строк в таблице истинности выражения с двумя переменными?

Будем вычислять выражение по частям: добавим в таблицу истинности дополнительные столбцы А • B и А • В, а потом выполним операцию ИЛИ с этими значениями (рис. 2.18).

Логические выражения.

Рис. 2.18

Из этой таблицы истинности видно, что при некоторых значениях переменных значение X истинно, а при некоторых — ложно. Такие выражения называют вычислимыми.

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

Высказывание «Сегодня безветрие, и дует сильный ветер» никогда не может быть истинным. Соответствующее логическое выражение всегда ложно, оно называется тождественно ложным или противоречием.

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

Постройте самостоятельна таблицу истинности логического выражения X = (А + В) • (A + B). Сравните её с таблицей на рис. 2.18. Истинно ли высказывание «Разные логические выражения могут определять одну и ту же логическую функцию»?

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

Сколько строк в таблице истинности выражения с тремя переменными?

Постройте таблицу истинности логического выражения

Х = А • В + А • С + В • С.

Предположим, что нам известна только часть таблицы истинности для функции трёх переменных (рис. 2.19).

Логические выражения.

Рис. 2.19

Как вы думаете, можно ли по такой части таблицы истинности определить логическую функцию? Почему?

Всего в таблице истинности функции от трёх переменных 23 = 8 строк, для каждой из них нужно знать, чему равно значение функции. В нашем примере пять значений функции неизвестны, причём каждое из них может быть равно 0 или 1, т. е. у нас есть 5 свободных бит.

Сколько различных значений можно закодировать с помощью 5 бит?

Как вы нашли это значение?

Итак, таблице на рис. 2.19 могут соответствовать 32 различные логические функции. Проверим, подходят ли следующие варианты:

а) А + В + C;

б) A • С + В;

в) А + B • С;

г) А • В • C;

д) A • B + C.

Прежде всего, заметим, что в столбце значений функции два нуля и одна единица. Следовательно, вариант а) не подходит, потому что цепочка операций ИЛИ со всеми переменными (или их инверсиями, обратными значениями) даст только один ноль — в случае, когда все слагаемые равны нулю.

Проверяем вариант б), подставляя значения переменных А, В и С сначала из первой строки таблицы, потом из второй и третьей. В первой строке получаем A • С + В = 1 • 1 + 0 = 1, этот результат совпадает со значением функции в этой строке. Для второй строки A • С + В = 1 • 1 + 1 = 1, значит, эта функция тоже не подходит.

Проверьте самостоятельно, подходят ли остальные варианты.

Скажите без вычислений, сколько нулей и сколько единиц должно быть в последнем столбце таблицы истинности функций с тремя переменными:

а) А + B + C;

б) A • С • В;

в) А • B • C;

г) A + В + С;

д) A + B + C.

Теперь предположим, что нам известна часть таблицы какой-то логической функции, причём с пропусками (рис. 2.20).

Логические выражения.

Рис. 2.20

Выясним, какие из следующих функций могут соответствовать этой таблице:

а) A + В + C;

б) A • С • В;

в) А + B + C;

г) А • B • С;

д) А + В + C.

Во-первых, обратим внимание, что в столбце значений функции две единицы, поэтому сразу делаем вывод, что это не могут быть цепочки двух операций И (ответы б) и г) неверные). Остались три цепочки из операций ИЛИ, причём для верхней строки (при А = 0 и С = 1) мы должны получить 0 при каком-то выборе неизвестного значения В. Подставляем А = 0 и С = 1 в формулы-кандидаты:

а) 1 + В + 0;

в) 0 + B + 0;

д) 0 + В + 0.

Видим, что в случае а) сумма не может быть равна нулю, это неверный ответ. А варианты в) и д) подходят: в первом из них нужно в первой строке поставить в пустую ячейку 1, а во втором — 0.

Кратко решение можно записать так:

1) поскольку в столбце значений функции один ноль, это не может быть цепочка операций И; остаются только цепочки операций ИЛИ;

2) для того чтобы получить нулевое значение функции в первой строке таблицы, нужно, чтобы переменная А (равная 0 в этой строке) входила в логическую сумму без инверсии (к ней не должна применяться операция НЕ) а переменная С (равная 1) — с инверсией;

3) этим условиям удовлетворяют функции в) и д).

Известна часть таблицы какой-то логической функции с пропусками (рис. 2.21).

Логические выражения.

Рис. 2.21

Выясните, какие из следующих функций могут соответствовать этой таблице:

а) А • B + C;

б) A • С • В;

в) А + B + C;

г) А • B • С;

д) А + B + C.

Составление условий

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

Построим условия (логические выражения), соответствующие заштрихованным областям на числовой оси (рис. 2.22).

Логические выражения.

Рис. 2.22

На рисунке 2.22, а выделен отрезок [3; 6]. Для того чтобы определить такую область, нужно ограничить значение х с двух сторон: оно должно быть больше или равно трём и меньше или равно шести, причем эти два условия должны выполняться одновременно, т. е. их нужно связать с помощью операции И:

(3 ? х) и (х ? 6).

Область на рис. 2.22, б — это объединение двух отрезков. Мы можем отдельно записать условия для каждого отрезка и связать их с помощью операции ИЛИ:

(1 ? х) и (х ? 3) или (5 ? х) и (х ? 8).

Запишите условие, которое определяет область на рис. 2.22, в.

Теперь рассмотрим задачу с областью на плоскости. Запишем условие, соответствующее заштрихованной части (рис. 2.23).

Логические выражения.

Рис. 2.23

Требуется составить логическое выражение, зависящее от переменных х и у, которое будет равно 1 (истинно) внутри заштрихованной области и равно 0 вне её.

Выделенная область находится справа от вертикальной линии х = -1, поэтому должно выполняться условие х ? -1, которое определяет полуплоскость (рис. 2.24).

Логические выражения.

Рис. 2.24

Кроме того, все точки области находятся выше горизонтальной линии у = -1 и ниже наклонной прямой у = —х, что даёт ещё два условия: у ? -1 и у ? -х. Все три простых условия должны выполняться одновременно, поэтому их нужно связать с помощью двух операций И:

(х ? -1) и (у ? -1) и (у ? -х).

Запишите условие, которое определяет области на рисунках (рис. 2.25).

Логические выражения.

Рис. 2.25

Построим логическое выражение для области на рис. 2.26.

Логические выражения.

Рис. 2.26

Можно разделить заштрихованную область на две части (рис. 2.27).

Логические выражения.

Рис. 2.27Обе области находятся внутри круга радиуса 1 с центром в начале координат, т. е. в области х2 + у2 ? 1. Первая область описывается выражением

2 + у2 ? 1) и (х ? 0),

а вторая — выражением

2 + у2 ? 1) и (х ? 0) и (у ? -х).

Поскольку нам нужно «сложить» две области, эти выражения нужно объединить с помощью операции логического сложения (ИЛИ):

2 + у2 ? 1) и (х ? 0) или (х2 + у2 ? 1) и (х ? 0) и (у ? -х).

Общее условие х2 + у2 ? 1 можно вынести за скобки:

2 + у2 ? 1) и ((х ? 0) или (х ? 0) и (у ? -х)).

Попробуйте ещё упростить полученное условие.

Запишите условие, которое определяет области на рисунках (рис. 2.28).

Логические выражения.

Рис. 2.28

Логические схемы

Вернёмся снова к примеру с системой аварийной сигнализации самолёта. Предположим, что на каждом двигателе установлен логический датчик, который выдаёт условный сигнал 1 (например, высокий уровень напряжения), если двигатель неисправен, и условный сигнал 0, если двигатель исправен. Требуется построить логическую схему — схему логического устройства, — которая при аварии выдаёт условный сигнал 1, а в режиме нормальной работы — сигнал 0.

Сигналы от трёх двигателей назовём А, Б и С. В начале параграфа мы уже составили логическое выражение для запуска аварийной сигнализации:

Х = А • В + А • С + В • С.

Здесь три логических умножения и два логических сложения. Сначала выполняются все операции умножения (слева направо), а затем — все операции сложения (тоже слева направо). Расставим номера операций:

14253
Х=АВ+АС+ВС.

Последней выполняется вторая операция сложения. Поэтому последний элемент в схеме — это элемент логического сложения ИЛИ (рис. 2.29).

Логические выражения.

Рис. 2.29

На первый вход этого элемента ИЛИ подаётся сигнал А • В + А • С, в этом выражении последняя операция — логическое сложение, добавляем ещё один элемент ИЛИ (рис. 2.30).

Логические выражения.

Рис. 2.30

Три операции логического умножения добавляют в схему три элемента И (рис. 2.31).

Логические выражения.

Рис. 2.31

Запишите в тетради логическое выражение по логической схеме (рис. 2.32).

Логические выражения.

Рис. 2.32

Постройте логическую схему, соответствующую выражению:

a) X = A • С + В • C;

б) Y = А • С + B • C;

в) Z = A • B + A • B • C.

Работа в парах. Один из вас пусть нарисует логическую схему для выражения X = A + В • С (черта сверху обозначает, что операция отрицания применяется ко всему выражению), а второй — для выражения Y = (А + В) (А + С). Постройте таблицы истинности для своих выражений и сравните их. Какую формулу вы сейчас вместе доказали?

Работа в парах. Запишите логическое выражение, включающее 5-6 операций, и предложите соседу нарисовать логическую схему. Проверьте и обсудите с ним его решение.

Путешествуя по Зазеркалью, Алиса увидела дверь с тремя кнопками, которые были отмечены буквами А, В и С. На двери висела схема (рис. 2.33).

Логические выражения.

Рис. 2.33

На какую (одну!) из трёх кнопок нужно нажать Алисе, чтобы открыть дверь?


Выводы

• Формализация — это переход от конкретного содержания высказываний к записи с помощью формального языка.

• В логических выражениях операции выполняются в следующем порядке:

1) действия в скобках;
2) отрицание (НЕ);
3) логическое умножение (И), слева направо;
4) логическое сложение (ИЛИ), слева направо.

Для изменения порядка действий используются скобки.

• Таблица истинности логического выражения показывает, чему равно значение выражения при всех возможных комбинациях значений исходных переменных.

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

• Логическое выражение, которое всегда истинно, называется тождественно истинным или тавтологией. Выражение, которое всегда ложно, называют тождественно ложным или противоречием. Пример тождественно истинного выражения: А + А, пример тождественно ложного: А • А.

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

Нарисуйте в тетради интеллект-карту этого параграфа.


Вопросы и задания

1. Что можно сделать для того, чтобы изменить порядок выполнения действий в логических выражениях?

2. Поясните разницу между терминами «логическое выражение» и «логическая функция».

3. Как можно доказать (или опровергнуть) логическую формулу?

4. Можно ли сказать, что таблица истинности однозначно определяет: а) логическое выражение; б) логическую функцию?

5. Что такое вычислимое логическое выражение?

6. Что такое равносильные выражения?

7. Выполните по указанию учителя задания в рабочей тетради.


Оглавление

§10. Другие логические операции.

§11. Логические выражения.

§12. Множества и логика.