Построение таблиц истинности

В прошлом разделе мы строили таблицы истинности для логических операторов. Чаще приходится строить таблицы истинности для более длинных логических выражений. F=(ab)∨( bc), чтобы построить таблицу истинности для данной логической функции сначала определим порядок действий для данной функции.

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

a

b

c

0

0

0

0

0

1

0

1

0

0

1

1

1

0

0

1

0

1

1

1

0

1

1

1

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

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

        

a

b

c

ab

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

0

1

0

0

0

1

0

1

0

1

1

0

1

1

1

1

1

То же самое делаем со вторым действием.

a

b

c

ab

bc

0

0

0

0

0

0

0

1

0

0

0

1

0

0

0

0

1

1

0

1

1

0

0

0

0

1

0

1

0

0

1

1

0

1

0

1

1

1

1

1

Третье действие – это знак ∨ между двумя скобками, которые уже есть в таблице истинности.

a

b

c

ab

bc

F=(ab)∨(bc)

0

0

0

0

0

0

0

0

1

0

0

0

0

1

0

0

0

0

0

1

1

0

1

1

1

0

0

0

0

0

1

0

1

0

0

0

1

1

0

1

0

1

1

1

1

1

1

1

         В том случае, если в выражении есть отрицание, то сначала мы строим столбцы с отрицанием, а далее действуем по аналогии с прошлым случаем. F=(a≡¬ b)⊕(b→¬c). Расставим порядок действий и начнем построение таблицы истинности с того, что добавим в нее b с отрицанием и c с отрицанием.

a

b

c

¬b

0

0

0

1

0

0

1

1

0

1

0

0

0

1

1

0

1

0

0

1

1

0

1

1

1

1

0

0

1

1

1

0

 

a

b

c

¬b

¬c

0

0

0

1

1

0

0

1

1

0

0

1

0

0

1

0

1

1

0

0

1

0

0

1

1

1

0

1

1

0

1

1

0

0

1

1

1

1

0

0

 

         И далее строим следующие столбцы.

a

b

c

¬b

¬c

a≡¬b

0

0

0

1

1

0

0

0

1

1

0

0

0

1

0

0

1

1

0

1

1

0

0

1

1

0

0

1

1

1

1

0

1

1

0

1

1

1

0

0

1

0

1

1

1

0

0

0

 

a

b

c

¬b

¬c

a≡¬b

b→¬c

0

0

0

1

1

0

1

0

0

1

1

0

0

1

0

1

0

0

1

1

1

0

1

1

0

0

1

0

1

0

0

1

1

1

1

1

0

1

1

0

1

1

1

1

0

0

1

0

1

1

1

1

0

0

0

0

        

a

b

c

¬b

¬c

a≡¬b

b→¬c

F

0

0

0

1

1

0

1

1

0

0

1

1

0

0

1

1

0

1

0

0

1

1

1

0

0

1

1

0

0

1

0

1

1

0

0

1

1

1

1

0

1

0

1

1

0

1

1

0

1

1

0

0

1

0

1

1

1

1

1

0

0

0

0

0

В последнем столбце записана буква F, т.к. это более компактно и мы знаем, что F=(a≡¬b)⊕(b→¬c).