Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatika_chast_1.doc
Скачиваний:
44
Добавлен:
31.05.2015
Размер:
351.23 Кб
Скачать

Составление таблиц истинности для сложных логических высказываний

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

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

Задача

Знак какой логической операции надо поставить вместо многоточия, чтобы приведенное ниже сложное логическое высказывание при любых значениях простых логических высказываний AиBпринимало значение ИСТИНА?

(A  B)…( A B)

Решение

Шаг 1. Запишем возможные комбинации значений простых высказываний AиB :

A

B

0

0

0

1

1

0

1

1

Шаг 2. Найдем значения входящих в сложное высказывание  Aи B, дополнив исходную таблицу.

A

B

 A

 B

0

0

1

1

0

1

1

0

1

0

0

1

1

1

0

0

Шаг 3. Продолжим таблицу, вычислив значения выражений

(A  B) и ( A B).

A

B

 A

 B

A   B

 A  B

0

0

1

1

0

1

0

1

1

0

0

1

1

0

0

1

1

0

1

1

0

0

0

1

Шаг 4. Итак, в последних двух столбцах таблицы получены значения операндов приведенного в условии задачи сложного высказывания (A  B)…( A B). Исходя из этих значений, можно утверждать, что (A  B)…( A B) будет принимать значение ИСТИНА при любыхAиB, если вместо многоточия поставить знак дизъюнкции.

Упрощение логических высказываний

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

Правило 1.       Пусть A – некоторое логическое высказывание. Обозначим

1 – ИСТИНА, 0 – ЛОЖЬ. При любых A будут выполняться тождества

A и A = A A и 1 = A A и 0 = 0

A или A = A A или 1 = 1 A или 0 = A

A и не A = 0 не A и 1 = не A не A и 0 = 0

A или не A = 1 не A или 1 = 1 не A или 0 = не A

Правило 2.       Пусть имеется несколько высказываний, объединенных с помощью логического И. Если среди них есть хотя бы одно, которое всегда ложно, то результат составного логического высказывания всегда будет ЛОЖЬ.

A и B и C и … и 0 = 0

Правило 3.       Пусть имеется несколько высказываний, объединенных с помощью логического ИЛИ. Если среди них есть хотя бы одно, которое всегда истинно, то результат составного логического высказывания всегда будет ИСТИНА.

A или B или C или … или 1 = 1

Примеры

Упростим и найдем значения логических выражений.

1.    A и A и не A = (A и A) и не A = A и не A = 0

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

A или A и не A или не A или A или не A =

= A или (A и не A) или не A или A или не A

Чтобы быстрее найти ответ, применим группировку.

A или (A и не A) или не A или (A или не A) =

= A или 0 или не A или 1 = 1 (результат получен согласно правилу 3)

Основные законы логики

Переместительный (коммутативный) закон

A  B = B  A

A  B = B  A

Сочетательный (ассоциативный) закон

A  (B  C) = (A  B)  C

A  (B  C) = (A  B)  C

Распределительный (дистрибутивный) закон

A  (B  C) = A  B  A  C

A  B  C = (A  B)  (A  C)

                 _____     _     _

Законы де Моргана

A  B = A  B

                 _____     _     _

A  B = A  B

                                    _

Законы склеивания (исключения)

A  B  A  B = A

                                     _

(A  B)  (A  B) = A

Законы поглощения

A  A  B = A

A  (A  B) = A

Закон двойного отрицания

 ( A) = A

Как видно из таблицы, законы логики призваны способствовать упрощению сложных высказываний. Их применение следует сочетать с соблюдением приоритета выполнения операций: сначала – отрицание (, НЕ), затем – конъюнкция ( , И) и дизъюнкция ( , ИЛИ), - а также с учетом скобок, изменяющих обычный приоритет. Для большей наглядности и лучшего усвоения материала в следующей таблице приведены те же законы логики, выраженные в словесной форме:

Переместительный (коммутативный) закон

A и B = B и A

A или B = B или A

Сочетательный (ассоциативный)   закон

Aи (BиC) = (AиB) иC

Aили (BилиC) = (AилиB) илиC

Распределительный (дистрибутивный) закон

Aи (BилиC) =AиBилиAиC

AилиBиC= (AилиB) и (AилиC)

Законы Моргана

не (AиB) = неBили неA

не (AилиB) = неBи неA

Законы склеивания (исключения)

AиBилиAи неB=A

(AилиB) и (Aили неB) =A

Законы поглощения

A или A и B = A

A и (A или B) = A

Закон двойного отрицания

не (не A) =A

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

Задача

Какое из перечисленных в таблице логических высказываний эквивалентно высказыванию A?

Aи неAили неA

Aи неBиA

Aи неAилиB

Aи неBилиA

Эквивалентными называются высказывания, которые принимают одинаковые значения, то есть одновременно истинны и одновременно ложны. Надо определить, какая из приведенных в таблице логических функций равна 0, когда A= 0, и равна 1, когдаA= 1.

Начнем анализировать высказывания по порядку, начиная с первого.

  1. A и не A или не A

Применим тождество A и не A = 0. Тогда

A и не A или не A = 0 или не A = не A

A

не A

0 или не A

0

1

1

1

0

0

Функция A и не A или не A эквивалентна не A и не является правильным ответом задачи.

  1. A и не B и не A

A и не B и не A = A и (не B) и (не A)

Имеем три аргумента, объединенных конъюнкцией. Для аргументов, связанных одной операцией, справедливы переместительный и сочетательный законы.

Применим переместительный закон.

A и (не B) и (не A) = (не B) и A и не A

Применим сочетательный закон.

(не B) и A и не A = не B и (A и не A)

Учтем, что A и не A = 0.

не B и (A и не A) = не B и 0 = 0

Функция A и не B и не A тождественно ложна и не эквивалентна A.

  1. A и не A или B

A и не A или B = (A и не A) или B = 0 или B = B

Функция A и не A или B эквивалентна B и не является правильным ответом.

  1. A и не B или A

A, B – независимые аргументы, поэтому первая часть этой функции A и не B равна 0, когда A = 0, и равна не B, когда A = 1.

Когда A = 0, функция A и не B или A равна 0.

Когда A = 1, значение A и не B или A не зависит от B и тоже равно 1.

A

A и не B

A и не B или A

0

0

0

1

не B

1

Следовательно, функция A  и  не B  или  A эквивалентна A и является правильным ответом задачи.

То же самое можно доказать, преобразовав выражение A и не B или A к форме, соответствующей закону поглощения.

Используем переместительный закон.

(A и не B) или A = A или (A и не B)

Используем закон поглощения.

A или A и не B = A

Список литературы

  1. Информатика. Базовый курс. 2-е издание. / Под ред. С. В. Симоновича. – СПб.: Питер, 2011. – 640 с.: ил.

  2. Могилёв А.В., Пак Н.И., Хеннер Е.К. Информатика: учебное пособие для вузов. – М.: Академия, 2009. – 848 с.: ил.

  3. Чурилов И.А. Основы теории информации. Логические основы ЭВМ. Учебно-методическое пособие. – Пермь: Пермская государственная фармацевтическая академия, 2009. – 28 с.: ил.

  4. Чурилов И.А. Информатика. Вопросы и ответы тестовых заданий. Справочное пособие. – Пермь: Пермская государственная фармацевтическая академия, 2009. – 52 с.: ил.

  5. Курилович В. Информатика в задачах, примерах, алгоритмах. Visual Basic for Applications. – М.: СОЛОН-Р, 2005. – 144 с.: ил.

  6. Есипов А.С. Информатика и информационные технологии для учащихся школ и колледжей. – СПб.: «БХВ-Петербург», 2004. – 480 с.: ил.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]