logo
Лекции по TURBO PASCAL

1.5. Логика

1.5.1. Логическая алгебра. Константы и утверждения

Логическая алгебра - это раздел математической логики, изучающий операции над логическими значениями, утверждениями, выражениями и особенности этих операций. Логическая алгебра по другому называется булевой алгеброй по имени учёного Дж. Буля, положившего начало формированию логики, как научной дисциплины.

Утверждением (условием) в логической алгебре является любое высказывание, относительно которого можно сказать, ложно оно или истинно. Каждое утверждение всегда имеет одно из двух логических значений - истина или ложь. Утверждения могут выражаться при помощи слов, математических и химических символов и т.д.Попробуйте сами привести несколько примеров.

Константа - это величина, имеющая постоянное значение "ложь" или "истина".

Кроме логических констант применяются логические переменные, которым даются произвольные имена. Например: А, В, Х. Логические переменные могут приобретать значения 0 или 1 (ложь и истина, True и False).

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

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

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

Логическое выражение – это выражение, состоящее из логических переменных, логических констант, знаков логических операций и скобок.

С логическими переменными (или утверждениями) мы уже познакомились. С константами тоже. Что такое скобки вы знаете.

С логическими операциями вы познакомились при изучении оператора IF. Поэтому здесь лишь отметим, как они записываются в логике:

Название

В Паскале

Обозначение

Конъюнкция

A and B

A  B

Дизъюнкция

A or B

A V B

Отрицание

not A

А

Если вы не помните, как выполняются эти операции, вернитесь к главе с оператором IF.

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

В остальных случаях операции выполняются по порядку записи.

Например:

2 1 4 3

A V B  C V D  E

Логическим выражением могут быть высказывания, например:

"Это двух- или трёхкомнатная квартира, но не первый и не последний этаж".

Логическое выражение, соответствующая вышесказанному, таково:

(к2 V к3) э1 эП,

где к2 - двухкомнатная квартира,

к3 - трёхкомнатная квартира,

э1 - квартира на 1 этаже.

эП - квартира на последнем этаже.

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

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

A

B

A V B

A  B

A

0

0

0

0

1

0

1

1

0

1

1

0

1

0

0

1

1

1

1

0

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

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

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

Рассмотрим логическое выражение: A V B  C. В это выражение входит 3 аргумента: A, B и C. Каждое из них может принимать одно из двух значений: либо 0, либо 1. Следовательно, для того чтобы построить таблицу истинности данного логического выражения, необходимо пересмотреть 23 различных комбинаций значений переменных A, B, C. В таблице истинности значение логического выражения проще считать по частям:

A

B

C

B C

A V (B C)

0

0

0

0

0

0

0

1

0

0

0

1

0

0

0

0

1

1

1

1

1

0

0

0

1

1

0

1

0

1

1

1

0

0

1

1

1

1

1

1

При вычислении значений выражения в последнем столбике используется результат B  C, вычисленный и записанный в предпоследнем столбике. Чтобы не допустить ошибку при составлении таблицы истинности, нужно составлять её по частям, как в последнем примере.

1.5.4. Законы логической алгебры

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

1. Коммутативность

a) конъюнкции: b) дизъюнкции:

A  B = B  A A v B = B v A

2. Ассоциативность

а) конъюнкции:

А  (В  С) = (А  В)  С = А  В  С

б) дизъюнкции:

А v (B v C) = (A v B) v C = A v B v C

3. Дистрибутивность

a) конъюнкции относительно дизъюнкции:

A  (B v C) = (A  B) v (A  C)=A  B v A  C

б) дизъюнкции относительно конъюнкции:

A v (B  C) = (A v B)  (A v C)

4. Закон двойного отрицания: не (не (А)) = А

5. Закон противоречия: A  (не A) = 0

6. Закон исключённого третьего: A v (не А) = 1

7. Закон де Моргана

а) отрицание конъюнкции: (не A)  (не B) = не (A v B)

б) отрицание дизъюнкции: (не A) v (не B) = не (A  B)

8. Закон поглощения:

а) А  1 = А б) A v 1 = 1

А  0 = 0 A v 0 = A

9. Идемпотентность:

A  A = A; A v A = A