logo search
Информация и информационные процессы

7.3. Построение таблиц истинности для логических функций

Логическая функция - это функция, в которой переменные принимают только два значения: логическая единица или логический ноль. Истинность или ложность сложных суждений представляет собой функцию истинности или ложности простых. Эту функцию называют булевой функцией суждений f (a, b).       Любая логическая функция может быть задана с помощью таблицы истинности, в левой части которой записывается набор аргументов, а в правой части - соответствующие значения логической функции.      При построении таблицы истинности необходимо учитывать порядок выполнения логических операций. Операции в логическом выражении выполняются слева направо с учетом скобок в следующем порядке:      1. инверсия;      2. конъюнкция;      3. дизъюнкция;      4. импликация и эквивалентность.      Для изменения указанного порядка выполнения логических операций используются круглые скобки.      Предлагается следующий алгоритм построения таблицы истинности.      1. Определить количество наборов входных переменных - всевозможных сочетаний значений переменных, входящих в выражения, по формуле: Q=2n , где n - количество входных переменных. Оно определяет количество строк таблицы.      2. Внести в таблицу все наборы входных переменных.      3. Определить количество логических операций и последовательность их выполнения.      4. Заполнить столбцы результатами выполнения логических операций в обозначенной последовательности.

Чтобы не повторить или не пропустить ни одного возможного сочетания значений входных переменных, следует пользоваться одним из предлагаемых ниже способов заполнения таблицы.      Способ 1. Каждый набор значений исходных переменных есть код числа в двоичной системе счисления, причем количество разрядов числа равно количеству входных переменных. Первый набор - число 0. Прибавляя к текущему числу каждый раз по 1, получаем очередной набор. Последний набор - максимальное значение двоичного числа для данной длины кода.      Например, для функции от трех переменных последовательность наборов состоит из чисел:

000

001

010

011

100

101

110

111

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

000

010

100

110

001

011

101

111

Например, построим таблицу истинности для логической функции:

Количество входных переменных в заданном выражении равно трем (A,B,C). Значит, количество входных наборов Q=23=8.      Столбцы таблицы истинности соответствуют значениям исходных выражений A,B,C, промежуточных результатов   и (B V C), а также искомого окончательного значения сложного арифметического выражения  :

A

B

C

B V C

0

0

0

1

0

0

0

0

1

1

1

1

0

1

0

1

1

1

0

1

1

1

1

1

1

0

0

0

0

0

1

0

1

0

1

0

1

1

0

0

1

0

1

1

1

0

1

0