Site Loader

Содержание

«Основы логики» — 9 класс

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

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

Запишем в форме логического выражения составное высказывание «(2 • 2 = 5 или 2 • 2 = 4) и (2 • 2= 5 или 2 • 2=4)». Проанализируем составное высказывание. Оно содержит два простых высказывания:

А = «2 • 2 = 5» — ложно (0), В = «2 • 2 = 4» — истинно (1).

Тогда составное высказывание можно записать в следующей форме:

«(А или В) и (А или В)».

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

F = (А v В) & (А v В).

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

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

F = (А v В)&(А v В) = (О v 1)&(1 v 0) = 1 & 1 = 1.

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

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

Во-первых, необходимо определить количество строк в таблице истинности. Оно равно количеству возможных комбинаций значений логических переменных, входящих в ло­гическое выражение. Если количество логических переменных равно п, то: количество строк = 2n.

В нашем случае логическая функция F — (АvВ)&(АvВ) имеет 2 переменные и, следовательно, количество строк в таблице истинности должно быть равно 4.

Во-вторых, необходимо определить количество столбцов в таблице истинности, которое равно количеству логических переменных плюс количество логических операций.

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

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

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

Таблица 3.4. Таблица истинности логической функции

A B АvВ !(AvВ) (АvВ)&(АvВ)
0 0 0 1 1 1 0
0 1 1 1
0
1 1
1 0 0 0 1 1 1
1 1 1 0 0 0 0

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

Докажем, что логические выражения !(А & В) и !(АvВ) равносильны. Построим сначала таблицу истинности логического выражения А & В (табл. 3.5).

Таблица 3.5. Таблица истинности логического выражения А & В

A B !A !B !(А&В)
0 0 1 1 1
0 1 1 0 0
1 0 0 1 0
1 1 0
0
0

Теперь построим таблицу истинности логического выражения АvВ (табл. 3.6).

Таблица 3.6. Таблица истинности логического выражения АvВ

A B АVВ !(АvВ)
0 0 0 1
0 1 1 0
1 0 1 0
1 1
1
0

Значения в последних столбцах таблиц истинности совпадают, следовательно, логические выражения равносильны:

!(А&В) = !(АvВ).

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

Логическая операция импликации «если А, то В», обозначается А -> В и выражается с помощью логической функции F14, которая задается соответствующей таблицей истинности (табл. 3.8).

Таблица 3.8. Таблица истинности логической функции «импликация»

A B F14 = A->В
0 0 1
0 1 1
1 0 0
1 1 1

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

Например, высказывание «Если число делится на 10, то оно делится на 5» истинно, так как истинны и первое высказывание (предпосылка), и второе высказывание (вывод).

Высказывание «Если число делится на 10, то оно делится на 3» ложно, так как из истинной предпосылки делается ложный вывод.

Однако операция логического следования несколько отличается от обычного понимания слова «следует». Если первое высказывание (предпосылка) ложно, то вне зависимости от истинности или ложности второго высказывания (вывода) составное высказывание истинно. Это можно понимать таким образом, что из неверной предпосылки может следо­вать что угодно.

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

Докажем методом сравнения таблиц истинности (табл. 3.8 и 3.9), что операция импликации А -> В равносильна логическому выражению А vВ.

Таблица 3.9. Таблица истинности логического выражения АvВ

A B !A !Аv В
0 0 1 1
0 1 1 1
1 0 0 0
1
1
0 1

Таблицы истинности совпадают, что и требовалось доказать.

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

Логическая операция эквивалентности «А тогда и только тогда, когда В» обозначается А~В и выражается с помощью логической функции .F10, которая задается соответствующей таблицей истинности (табл. 3.10).

Таблица 3.10. Таблица истинности логической функции эквивалентности

A
B F10
0 0 1
0 1 0
1 0 0
1 1 1

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

Рассмотрим, например, два высказывания: А = «Компьютер может производить вычисления» и В = «Компьютер включен». Составное высказывание, полученное с помощью операции эквивалентности, истинно, когда оба высказывания либо истинны, либо ложны:

«Компьютер может производить вычисления тогда и только тогда, когда компьютер включен».

«Компьютер не может производить вычисления тогда и только тогда, когда компьютер не включен».

Составное высказывание, полученное с помощью операции эквивалентности, ложно, когда одно высказывание истинно, а другое — ложно:

«Компьютер может производить вычисления тогда и только тогда, когда компьютер не включен».

«Компьютер не может производить вычисления тогда и только тогда, когда компьютер включен».

Таблица истинности логических выражений с примерами решения

Содержание:

  1. Свойства логических операций
  2. Законы алгебры логики могут быть доказаны с помощью таблиц истинности
  3. Примеры с решением

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

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

  1. подсчитать п — число переменных в выражении;
  2. подсчитать общее число логических операций в выражении;
  3. установить последовательность выполнения логических операций с учётом скобок и приоритетов;
  4. определить число столбцов в таблице: число переменных + число операций;
  5. заполнить шапку таблицы, включив в неё переменные и операции в соответствии с последовательностью, установленной в п. 3;
  6. определить число строк в таблице (не считая шапки таблицы): ;
  7. выписать наборы входных переменных с учётом того, что они представляют собой ряд целых п-разрядных двоичных чисел от 0 до ;
  8. провести заполнение таблицы по столбцам, выполняя логические операции в соответствии с установленной последовательностью.

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

  • Наборы входных переменных — это целые числа от 0 до 3, представленные в двухразрядном двоичном коде: 00, 01, 10, 11.

По этой ссылке вы найдёте полный курс лекций по высшей математике:

Заполненная таблица истинности имеет вид:

Обратите внимание, что последний столбец (результат) совпал со столбцом А. В таком случае говорят, что логическое выражение равносильно логической переменной А.

Возможно вам будут полезны данные страницы:

Свойства логических операций

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

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

• для логического умножения:

• для логического сложения:

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

• для логического умножения:

• для логического сложения:

При одинаковых знаках операций скобки можно ставить произвольно или вообще опускать.

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

• для логического умножения:

• для логического сложения:

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

Двойное отрицание исключает отрицание.

5. Закон исключённого третьего:

• для логического умножения:

• для логического сложения:

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

6. Закон повторения:

• для логического умножения:

• для логического сложения:

7. Законы операций с 0 и 1:

• для логического умножения:

• для логического сложения:

8. Законы общей инверсии:

• для логического умножения:

• для логического сложения:

Законы алгебры логики могут быть доказаны с помощью таблиц истинности

Докажем распределительный закон для логического сложения:

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

Примеры с решением

Пример 1.

Найдём значение логического выражения для числа X = 0.

Решение:

При X = 0 получаем следующее логическое выражение: . Так как логические выражения 0 < 3, 0 < 2 истинны, то, подставив их значения в логическое выражение, получаем:

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

А также, вы должны знать:

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

Сначала выполняется операция отрицания НЕ

затем И

после И выполняется ИЛИ

затем следование

и в последнюю очередь — эквивалентность.

Задача 1

Дан фрагмент таблицы истинности выражения F:

Какое выражение соответствует F?

Решение:

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

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

Ответ: 4

Задача 2

Дан фрагмент таблицы истинности выражения F:

Каким выражением может быть F?

Решение:

Обратите внимание:

1) В каждом из приведенных выражений логические переменные связывает только один тип логической операции. В 1 и 3 вариантах это операция И (), во 2 и 4 вариантах это операция ИЛИ ().

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

Поэтому, в качестве ответа может быть 2 или 4 вариант. Рассмотрим их.

1) 2-й вариант: В первой строке таблицы истинности отображены только значения х1, хЗ, х5, и все они равны 0. Но в формуле 2го варианта у нас х5 отрицается, то есть значение х5 будет изменено на 1, и в результате всё выражение должно быть истинным. Что не соответствует заданной таблице. Остаётся 4-й вариант.

2) Как мы видим, переменные х1, хЗ и х5 в 4-м варианте ответа не отрицаются, что соответствует первой строке заданной таблицы.

Ответ: 4

Задача 4

Какое из приведенных имен сказочных героев удовлетворяет логическому условию:

1) АРТЕМОН

2) БАЗИЛИО

3) БУРАТИНО

4) МАЛЬВИНА

Решение:

Составим для каждого из предложенных ответов схему соответственно заданной логической формуле. Ищем истинное значение.

1) АРТЕМОН

Первая буква согласная — НЕТ (0)

Вторая буква не А — ДА (1)

Последняя буква гласная — НЕТ (0) \ / \ у

Предпоследняя буква гласная — ДА (1) X» ‘»X X»

Подставляем полученные значения в формулу и решаем ее: н 0 ->1 ) л 0 -> 1 ),= О

И так с каждым вариантом ответа, пока не найдете истину.

Задача 5

Логическая функция F задаётся выражением

Определите, какому столбцу таблицы истинности функции F соответствует каждая из

переменных X, Y, Z

Решение 1:

Последней операцией выполнения является операция . Поэтому выражение имеет значение ИСТИНА, когда

Рассмотрим все случаи, когда F = 1 (это значения в строках 1 и 3): — не рассматриваем, т.к. в табл, нет строки, где все значения логических переменных = 1.

Рассматриваем только 1 и 3 строки таблицы:

  • две единицы в 3-м столбце => это значения X
  • два нуля в 1-м столбце => это значения Y
  • ноль единица во 2-м столбце => это значения Z

Ответ: YZX

Решение 2:

Последней операцией выполнения является операция . Поэтому выражение

имеет значение ИСТИНА, когда

Выражение F равно 1 в 1й и Зй строках, в этих же строках только “Перем.3”=1, следовательно, значение X находится в 3-м столбце.

Теперь рассмотрим построчно значения 1-х двух столбцов:

(помним, что 1 -> 0 = 0, в остальных комбинациях =1)

1 строка: 0 и О, Y = Z. Поэтому Y и Z для столбцов не определить.

2 строка: 0 и 1. Независимо будет ли Y=0 Z=1 или Y=1 Z=0, функция F=0 т.к. уже

Х=0. Поэтому Y и Z для столбцов не определить.

3 строка: 0 и 1. В этой строке функция F=1, значит Комбинация

невозможна, иначе F будет = 0. Комбинация то, что надо. Следовательно, значение Y находится в 1-м столбце а значение Z во 2-м.

Ответ: YZX

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






Содержание урока

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

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

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

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

Выводы

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


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

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

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.

Следующая страница Составление условий

Cкачать материалы урока



Тема таблицы истинности логические схемы

Тема: Таблицы истинности. Логические схемы.

(конспект рассчитан на 2 академических часа)

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

Требования к знаниям и умениям:

Учащиеся должны знать:

— этапы составления таблиц истинности;

— основные базовые элементы логических схем;

— правила составления логических схем.

Учащиеся должны уметь:

— составлять таблицы истинности;

— составлять логические схемы.

Тип урока – комбинированный.

Программно-дидактическое обеспечение: ПК, карточки с заданиями, элементы для сборки электрических цепей, доска.

Ход урока

I. Постановка целей урока

1. Таблица истинности сложного логического выражения. Как ее правильно составить и использовать?

2. Каким образом алгебра логики связана с компьютером?

3. Почему компьютер не был изобретен раньше?

II. Проверка домашнего задания

Решение задач проверьте у доски. В это время устно проверьте выполнение задания уровня применения.

Задание на карточках

1. Соедините правильные определения или обозначения:

1. Логика 1.А→В

2. Высказывание 2. Логическое сложение

3. Алгебра логики 3. Наука о формах и способах мышления

4. Логическая константа 4. Логическое отрицание

5. Дизъюнкция 5. ИСТИНА и ЛОЖЬ

6. Инверсия б.А↔В

7. Конъюнкция 7.&

8. Импликация 8. Наука об операциях над высказываниями

9. Эквивалентность 9. Повествовательное предложение, в кото

ром что-либо утверждается или отрицается

2. По мишеням произведено три выстрела. Рассмотрено высказывание: Pk = «Мишень поражена k-ым выстрелом», где k =1,2,3. Что означают следующие высказывания:

А) Р1+Р1+РЗ;

Б) Р1•Р2• РЗ;

В) Р123.

3. Даны высказывания: А = {3•3 = 9}, В = {3•3 =10}. Определите истинность высказываний:

1) А, 2) ¬В, 3)А&В, 4)В, 5)¬А, 6)AvB.

4. Даны высказывания А = {5+7=13}, В ={5+7=12}. Определите истинность высказываний:

1) А , 2) ¬В, 3) А&В, 4) В, 5) ¬А, 6) AvB.

5. Запишите логические выражения, соответствующие следующим высказываниям:

A) Ботаника изучает растения и ботаника изучает животных;

Б) В состав атома входят электроны или в состав электронов входят атомы;

B) Гелий — это жидкость и вода — это газ;

Г) Неверно, что положительный ион — это лишившийся электронов атом.

6. Запишите логические выражения, соответствующие следующим высказываниям:

A) Зоология изучает растения или ботаника изучает животных;

Б) Электрон — это часть атома и электроны есть в любом веществе;

B) Напряжение — это сила тока, умноженная на сопротивление;

Г) Неверно, что спутник — это летательный аппарат.

III. Изложение нового материала

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

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

Для составления таблицы необходимо:

  1. Выяснить количество строк в таблице (вычисляется как 2n, где n — количество переменных).

  2. Выяснить количество столбцов = количество переменных + количество логических операций.

  3. Установить последовательность выполнения логических операций.

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

  5. Заполнить таблицу истинности по столбцам.

Пример 1

Построим таблицу истинности для выражения F = (AvB)&(¬Av¬B).

Количество строк = 22 (2 переменных) + 1 (заголовки столбцов) = 5.

Количество столбцов = 2 логические переменные (А, В) + 5 логических операций { v, &, ¬, v, ¬) = 7.

Расставим порядок выполнения операций: 1 5 2 4 3

Построим таблицу:

А

В

A v B

¬А

¬В

¬AV¬B

(AvB)&(¬Av ¬B)

0

0

0

1

1

1

0

0

1

1

1

0

1

1

1

0

1

0

1

1

1

1

1

1

0

0

0

0

Пример 2

Построим таблицу истинности для логического выражения X v Y& ¬ Z.

  1. Количество строк = 23+1 = 9.

  2. Количество столбцов = 3 логические переменные + 3 логических операций = 6.

  3. Укажем порядок действий: 3 2 1

X VY& ¬ Z

  1. Нарисуем и заполним таблицу:

X

Y

Z

¬ Z

Y& ¬ Z

XVY& ¬Z

0

0

0

1

0

0

0

0

1

0

0

0

0

1

0

1

1

1

1

0

0

1

0

1

1

0

1

0

0

1

1

1

0

1

1

1

1

1

1

0

0

1

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

Над возможностями применения логики в технике ученые и инженеры задумывались уже давно. Например, голландский физик Пауль Эренфест (1880 — 1933), кстати несколько лет работавший в России, писал еще в 1910 году: «…Пусть имеется проект схемы проводов автоматической телефонной станции. Надо определить:

1) будет ли она правильно функционировать при любой комбинации, могущей встретиться в ходе деятельности станции;

2) не содержит ли она излишних усложнений. Каждая такая комбинация является посылкой, каждый маленький коммутатор есть логическое «или-или», воплощенное в эбоните и латуни; все вместе — система чисто качественных… «посылок», ничего не оставляющая желать в отношении сложности и запутанности… правда ли, что, несмотря на существование алгебры логики, своего рода «алгебра распределительных схем» должна считаться утопией?». Созданная позднее М.А. Гавриловым 1903 — 1979) теория релейно-контактных схем показала, что это вовсе не утопия.

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

С точки зрения логики электрический ток либо течет, либо не течет; электрический импульс есть или его нет; электрическое напряжение есть или его нет… В связи с этим поговорим о различных вариантах управления включением и выключением обыкновенной лампочки (лампочка также работает на электричестве). Для этого рассмотрим электрические контактные схемы, реализующие логические операции.

Пояснение: для наглядности приготовьте электрические схемы и продемонстрируйте их в действии. Для этого используйте: источник питания, лампочки, ключи, провода.

Схема 1. Схема. 2. Схема. 3. (автоматический ключ)

На рисунках контакты обозначены латинскими буквами А и В. Введем обозначения: 1 — контакт замкнут, 0 — контакт разомкнут. Цепь на схеме I с последовательным соединением контактов соответствует логической операции «И». Цепь на схеме 2 с параллельным соединением контактов соответствует логической операции «ИЛИ». Цепь на схеме 3 (электромагнитное реле) соответствует логической операции «НЕ».

Попросите детей приготовить в тетради таблицу:

Конъюнкция

Дизъюнкция

Инверсия

Заполняем ее по ходу объяснения материала.

Заполненная таблица

Конъюнкция

(Логическое умножение)

и

Дизъюнкция

(Логическое сложение)

или

Инверсия

(Логическое отрицание)

не

A

B

A&B

0

1

0

1

0

0

1

1

1

0

0

0

A

B

AvB

0

1

1

1

0

1

1

1

1

0

0

0

A

0

1

1

0

Конъюнктор

Дизъюнктор

Инвертор

Докажем это, рассмотрев состояния схем при различных состояниях контактов.

Схема 1 (составляем в основной таблице таблицу истинности).

  1. Оба контакта в положении «включено». Тогда ток через лампочку идет и она горит,

  2. Первый контакт в положении «вкл», второй — в положении «выкл». Ток не идет, лампочка не горит.

  3. Обратная ситуация. Лампочка не горит.

  4. Оба контакта в положении «выкл». Тока нет. Лампочка не горит. Вывод: первая схема действительно реализует логическую операцию «И».

Схема 2 (составляем в основной таблице таблицу истинности).

  1. Оба контакта в положении «включено». Ток через лампочку идет и она горит.

  2. Первый контакт в положении «вкл», второй — в положении «выкл». Ток идет, лампочка горит.

  3. Обратная ситуация. Лампочка горит.

  4. Оба контакта в положении «выкл». Тока нет. Лампочка не горит.

Вывод: вторая схема действительно реализует логическую операцию «ИЛИ».

Схема 3 (составляем в основной таблице таблицу истинности).

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

Вывод: схема 3 действительно реализует логическую операцию «НЕ».

Недостатками контактных схем являлись их низкая надежность и быстродействие, большие размеры и потребление энергии. Поэтому попытка использовать такие схемы в ЭВМ не оправдала себя. Появление вакуумных и полупроводниковых приборов позволило создавать логические элементы с быстродействием от 1 миллиона переключений в секунду. Именно такие электронные схемы нашли свое применение в качестве элементной базы ЭВМ. Вся теория, изложенная для контактных схем, была перенесена на электронные схемы. Элементы, реализующие базовые логические операции, назвали базовыми логическими элементами или вентилями и характеризуются они не состоянием контактов, а наличием сигналов на входе и выходе элемента. Их названия и условные обозначения являются стандартными и используются при составлении и описании логических схем компьютера.

Пояснение: историю развития элементной базы компьютера смотрите в дополнительном материале.

Почему необходимо уметь строить логические схемы?

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

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

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

3. Построение логических схем

Правило построения логических схем:

  1. Определить число логических переменных.

  2. Определить количество базовых логических операций и их порядок.

3) Изобразить для каждой логической операции соответствующий ей вентиль.

  1. Соединить вентили в порядке выполнения логических операций.

Пример 1

Пусть X = истина, Y = ложь. Составить логическую схему для следующего логического выражения: F = XvY&X.

  1. Две переменные — X и Y.

2) Две логические операции: 2 1

XvY&X.

3) Строим схему:

010009000003f801000002008401000000008401000026060f00fe02574d464301000000000001005e830000000001000000dc02000000000000dc020000010000006c000000000000000000000015000000380000000000000000000000741a0000eb09000020454d4600000100dc0200000d00000002000000000000000000000000000000b0090000b40d0000d2000000290100000000000000000000000000005034030028880400160000000c000000180000000a0000001000000000000000000000000900000010000000200300002c010000520000007001000001000000ceffffff00000000000000000000000090010000000000cc07400012540069006d006500730020004e0065007700200052006f006d0061006e e736093000000000040000000000ae30243709300000000047169001cc0002020603050405020304ff3a00e0417800c00900000000000000ff01000000000000540069006d00650073002000000065007700200052006f006d0061006e00000000000000ce33093050dbae30401e2c0001000000000000005848110032b50230584811004c5eaf30704811006476000800000000250000000c00000001000000120000000c00000001000000180000000c0000000000000254000000540000000000000000000000150000003800000001000000df7b074139760741000000002d000000010000004c000000040000000000000000000000200300002c01000050000000200065651600000046000000280000001c0000004744494302000000ffffffffffffffff210300002d010000000000004600000014000000080000004744494303000000250000000c0000000e0000800e000000140000000000000010000000140000000400000003010800050000000b0200000000050000000c024800c000040000002e0118001c000000fb02f4ff0000000000009001000000cc0740001254696d6573204e657720526f6d616e0000000000000000000000000000000000040000002d0100000400000002010100050000000902000000020d000000320a0b0000000100040000000000c0004800200005001c000000fb020400020000000000bc02000000cc0102022253797374656d003f00003f3f3f3f3f3f303f3f3f0800000001003f3f3f3f3f00040000002d010100030000000000

4) Ответ: l v 0 & 1= 1.

Пример 2

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

F = X&Yv ¬(YvX). Вычислить значения выражения для X = 1, Y = 0.

1) Переменных две: X и Y;

2) Логических операций три: конъюнкция и две дизъюнкции: 1432

X&Yv¬(YvX).

  1. Схему строим слева направо в соответствии с порядком логических операций:

1

4) Вычислим значение выражения: F= l&0v¬ (0vl) = 0.

IV. Закрепление изученного

1

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

1) А&(ВvB&C)

2) Аv (В&BvC)

2 Заполните пустые ячейки таблицы истинности:

А

B

C

CvA

(CvA)B

0

0

0

1

0

0

0

1

0

1

1

0

1

1

1

1

Подвидение итогов:

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

Цели урока:

Обучающие:

  • Научить составлять логические выражения из высказываний
  • Ввести понятие “таблица истинности”
  • Изучить последовательность действий построения таблиц истинности
  • Научить находить значение логических выражений посредством построения таблиц истинности
  • Ввести понятие равносильности логических выражений.

Развивающие:

  • Развивать логическое мышление
  • Развивать внимание
  • Развивать память
  • Развивать речь учащихся

Воспитательные:

  • Воспитывать умение слушать учителя и одноклассников
  • Воспитывать дисциплинированность
  • Формировать интеллектуальную и эмоциональную активность учащихся.
  • Воспитывать чувства ответственности за результаты своего труда.

Вид урока: Урок — деловая игра.

Тип урока: проверка знаний и изучение нового материала

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

Система оценивания: по ходу урока руководитель группы на “Оценочных листах» отмечает долю участия ученика на уроке при выполнении каждого задания

Оборудование урока: Презентация урока, плакаты “Таблица истинности функции логического сложения”, “Таблица истинности функции логического умножения”, “Таблица истинности функции логического отрицания”, маркеры, “Оценочный лист”, карточки с заданиями, карточка “Вопросники” для “Собеседования”, файл “Логические микросхемы”, мультимедийный проектор.

Место проведения урока: компьютерный класс

Участники: ученики 10-х классов.

Ход урока

1. Организационный момент

(2 минуты)

На экране проецируется первый слайд презентации – надпись “Логические выражения. Таблицы истинности”.

— Здравствуйте, ребята. Мы продолжаем изучать основы логики и тема нашего сегодняшнего урока “Логические выражения. Таблицы истинности”. Изучив данную тему, вы научитесь, как  из высказываний составляются логические выражения, и определять их истинность посредством составления таблиц истинности. ( Второй слайд презентации)

Эпиграфом к уроку являются слова Б.Паскаля: “ВЕЛИЧИЕ ЧЕЛОВЕКА — В ЕГО СПОСОБНОСТИ МЫСЛИТЬ”. ( Третий слайд презентации)

— Сегодня мы проведем с вами необычный урок, урок — деловая игра “Устраиваюсь на работу”.

Дадим волю нашим фантазиям:

завод “Микрон” объявил набор агентов для проведения рекламной кампании по продвижению своих чипов на рынке. Но нужно пройти несколько ступенек проверки профессиональной пригодности:

  1. Проверка умения презентовать своё выступление. (Презентация. 10 минут)
  2. Проверка знания в области логических микросхем. (Собеседование. 5 минут)
  3. Проверка умения слушать других и поддерживать разговор. (Объяснение новой темы.15 минут)
  4. Проверка умения применять полученные знания на практике. (Закрепление изученного материала. 10 минут)

И все эти умения и знания нужно показать за 40 минут!

2. Проверка домашнего задания (10 минут)

Перейдём к 1 проверке — демонстрации групповых домашних работ на экране. Каждая группа подготовила презентацию по теме “Базовые логические операции”.

Слово предоставляется 1 группе.

Первую группу меняет вторая, вторую группу – третья.

Оценивается групповая работа учеников.

— Ребята, вы прошли первую проверку, все приглашаетесь к 2 испытанию – к “Собеседованию”.

— Для предварительной подготовки каждая группа получает “Вопросник”

Образец вопросника

Работа за компьютером!

Юный друг!

Наше агентство от завода “Микрон” объявляет набор специалистов для проведения рекламной кампании по продвижению своих чипов на рынок. Мы рады видеть тебя в своих рядах, но сначала ответь, пожалуйста, на следующие вопросы:

Что знаешь о заводе “Микрон”?

Знаешь ли, что такое чип?

Что знаешь о чипах?

Используются ли знания в области алгебры логики при разгадке схемы “чипа”?

Информацию можешь найти в файле “Логические микросхемы”.

Путь к файлу:

Рабочий стол – К уроку – Логические микросхемы

Текст в файле “Логические микросхемы”

ВСЁ О ЧИПАХ

Еще несколько лет назад различные электронные устройства собирали из отдельных элементов электронных ламп, реле, трансформаторов, резисторов, конденсаторов, долго и ненадежно, да и размеры аппаратуры получались весьма внушительными. Например, электронная вычислительная машина (ЭВМ) первого поколения содержала около 10 000 электронных ламп и, хотя срок службы каждой лампы составлял 2000 ч, работала с постоянными сбоями, каждые 6 мин одна из ламп выходила из строя. К тому же эта аппаратура занимала площадь огромного цеха и потребляла столько же электроэнергии, сколько небольшой завод. На смену электронным лампам пришел более долговечный транзистор. Электронные вычислительные машины (теперь уже второго поколения) заметно похудели и стали работать без остановки 56 дней, хотя срок службы транзисторов миллионы часов. Такая ненадежность ЭВМ объяснялась недостаточно высоким качеством паяных соединений. Миллионы таких соединений в блоках ЭВМ стали главной причиной отказов. Перед конструкторами встали две задачи: как увеличить надежность ЭВМ и уменьшить ее объем. Решить их, создать высоконадежные, миниатюрные и экономичные устройства позволила микроэлектроника — новое направление электроники. Теперь отдельные детали, соединяемые друг с другом проводами, заменили микросхемы: на маленьком полупроводниковом кристалле размером несколько квадратных миллиметров (его еще часто называют чипом, от англ. chip, что означает чешуйка) размещают тончайший узор микроячеек. Каждая микро ячейка представляет собой законченную радиоэлектронную схему, состоящую из множества элементов, транзисторов, резисторов, конденсаторов и, конечно, межсоединений…

Цифровые микросхемы. Типы логики, корпуса. Ну сначала скажем так: микросхемы делятся на два больших вида: аналоговые и цифровые. Аналоговые микросхемы работают с аналоговым сигналом, а цифровые, соответственно – с цифровым.

От chip – щепка

Центральные процессоры: первые ЦП, Intel 4004, Intel 8008

В 1959 г. Роберт Нойс, 31-летний директор и научный руководитель фирмы Fairchild Semiconductors, разработал первую в мире интегральную схему – совокупность нескольких планарных транзисторов. До этого каждый компонент электронной схемы изготавливался отдельно, а затем они спаивались вручную. С 1962 г. интегральные схемы, прозванные “чипами”, были пущены в массовое производство.

В Зеленограде на заводе микрочипов «Микрон» произошло знаменательное событие: с официальным визитом приехал Владимир Путин. Руководство завода торжественно встретило президента. Хотелось показать все, чем богат завод. А гордиться действительно есть чем. Крупнейший производитель чипов в России и СНГ, образованный в 1964 году, «Микрон» выполняет полный цикл их изготовления. На «Микроне» делают микросхемы для ракет «Тополь» и «Булава», компоненты для МКС. Еще недавно чипы для банковских и SIМ-карт или биометрических паспортов были для производства неподвластны, но теперь святая святых завода, так называемая «чистая комната» модернизируется. Предприятие уже выпускает и SIМ-карты, и жидкокристаллические экраны. В «чистой комнате» поддерживается полная стерильность, одного белого халата мало, так что Путину показывали ее через специальное стеклянное окно.

«Чип» или, другими словами, логическая микросхема. И, конечно, много усилий нужно приложить для того, чтобы разгадать секрет и выяснить устройство этого «чипа». При разгадке схемы такого устройства используется алгебра логики. И на сегодняшнем уроке мы и познакомимся с методами помогающими решить такого рода задачи.

— Какие будут ответы? (Ученики высказывают своё мнение)

— “Собеседование” показало, что вы осведомлены о логических микросхемах и о заводе “Микрон”. Какая связь между алгеброй логики и компьютером? Как используются элементы алгебры логики в вычислительной технике? – вы частично ответили на эти вопросы. Логические основы устройства мы будем затрагивать позже, когда научимся решать логические задачи разными способами.

А вторую проверку вы прошли, перейдём к следующей – умеете ли вы слушать других и поддерживать разговор.

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

3. Решение задач с помощью рассуждения

Пример. Для формулы

— Сколько переменных содержит данная формула? 3

— Сколько строк и столбцов будет в таблице? 

8 строк (Логических переменных 3, следовательно, 23 =8) и 8 столбцов (Логических операций в формуле 5, следовательно, 3+5=8)

— Какова будет в нашем примере последовательность операций? (инверсия, операции в скобках, операцию за скобкой)

Мы уже несколько уроков подряд используем понятие “таблица истинности”, а что же такое таблица истинности, как вы думаете?

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

При построении таблиц истинности есть определенная последовательность действий.

  1. Необходимо определить количество строк в таблице истинности.
    количество строк = 2n,  где n – количество логических переменных
  2. Необходимо определить количество столбцов в таблице истинности, которое равно количеству логических переменных плюс количество логических операций.
  3. Необходимо построить таблицу истинности с указанным количеством строк и столбцов, ввести названия столбцов таблицы в соответствии с последовательностью  выполнения   логических  операций  с  учетом скобок и приоритетов;
  4. Заполнить столбцы входных переменных наборами значений
  5. Провести заполнение таблицы истинности по столбцам, выполняя логические операции в соответствии с установленной последовательностью.

Всё это найдёте на 130 странице учебника. Откройте, ребята, эту страницу. Найдите этот алгоритм. Он нужен нам при решении задач.

Решение задач

Пример 1. Получить таблицы истинности логической функции

Записали. Строим таблицу истинности

— Что мы делаем во-первых?

Определить количество столбцов в таблице

— Как мы это делаем?

Считаем количество переменных. В нашем случае логическая функция  содержит 2 переменных.

— Какие?

А и В

— Значит сколько строк будет в таблице?

Количество строк в таблице истинности должно быть равно 4.

— А если 3 переменных?

Количество строк = 23 = 8

— Верно. Что делаем дальше?

Определяем количество столбцов = количеству логических переменных плюс количество логических операций.

— Сколько будет в нашем случае?

В нашем случае количество переменных равно двум, а количество логических операции — пяти, то есть количество столбцов таблицы истинности равно семи.

— Хорошо. Дальше?

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

— Какую операцию будем выполнять первой? Только учитывайте скобки и приоритеты.

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

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

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

Сколько строк будет в таблице? 4

Сколько столбцов  будет в таблице? 5

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

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

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

=

Домашнее задание

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

Итог урока.

— Вы познакомились с новым способом решения логических задач – с помощью таблиц истинности. Справились и с заданиями.

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

ВЫВОД В КОНЦЕ УРОКА.

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

При проведении рефлексии следует попросить ребят выразить свое мнение о работе на уроке, путем ответов на вопросы:

  • Довольны ли вы своей работой на уроке?
  • Работой группы?

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

9 класс Урок по информатике: Логические выражения и таблицы истинности Цели: построение таблиц истинности логических выражений. Задачи: 1. Научить составлять логические выражения из высказываний; 2. Ввести понятие “таблица истинности логического выражения”; 3. Изучить последовательность действий построения таблиц истинности; 4. Научить   находить   значение   логических   выражений   посредством построения таблиц истинности; 5. Ввести понятие равносильности логических выражений; 6. Научить   доказывать   равносильность   логических   выражений,   используя таблицы истинности; 7. Закрепить   навыки   нахождения   значений   логических   выражений посредством построения таблиц истинности. Ожидаемые результаты обучения: Учащиеся должны знать:  таблицы истинности логических операций;  этапы составления таблиц истинности логических выражений;  понятие равносильные логические выражения. Учащиеся должны уметь:  строить  и заполнять таблицу истинности логического выражения;  находить   значение   логических   выражений   посредством   построения таблиц истинности;  доказывать   равносильность   логических   выражений,   используя   таблицы истинности. Ход урока I. Оргмомент. Здравствуйте,   ребята.   Мы   продолжаем   изучать   основы   логики   и   тема   нашего сегодняшнего   урока   «Составление   логических   выражений.   Таблицы   истинности». Изучив   данную   тему,  вы   научитесь,   как   из   высказываний   составляются   логические формы, и определять их истинность посредством составления таблиц истинности. II. Проверка домашнего задания. III. Изложение нового материала.  1. Построение таблиц истинности.  Мы уже несколько уроков используем понятие “таблица истинности”, определим же его. Опр.1 Таблица истинности — это таблица, устанавливающая соответствие между возможными наборами значений логических переменных и значениями функций. При   построении   таблиц   истинности   есть   определенная   последовательность действий: 1. Необходимо   определить   количество   строк   в   таблице   истинности: количество строк равно 2n, где n — количество логических переменных. 2. Необходимо   определить   количество   столбцов   в   таблице   истинности, которое   равно   количеству   логических   переменных   плюс   количество логических операций. 3. Необходимо   построить   таблицу   истинности   с   указанным   количеством строк   и   столбцов,   ввести   названия   столбцов   таблицы   в   соответствии   с последовательностью выполнения логических операций с учетом скобок и приоритетов; 4. Заполнить столбцы входных переменных наборами значений; 5. Провести   заполнение   таблицы   истинности   по   столбцам,   выполняя логические последовательностью.    операции   в   соответствии   с   установленной Пример. Построить таблицу истинности для составного высказывания: ( BA  ()  BA ) 1).   Определим   количество   строк   в   таблице.   Для   этого:   считаем   количество переменных, в нашем случае логическая функция содержит 2 переменные: А и В. Количество строк в таблице истинности должно быть равно 22=4. 2).   Определяем   количество   столбцов.   Это   количество   логических   переменных плюс количество логических операций.   В нашем случае количество переменных равно двум, а количество логических операции — пяти, то есть количество столбцов таблицы истинности равно семи. 3).   Строим   таблицу   с   указанным   количеством   строк   и   столбцов,   обозначаем столбцы   и   вносим   в   таблицу   возможные   наборы   значений   исходных   логических переменных и заполняем таблицу истинности по столбцам. Можно сначала выполнить логическое отрицание или найти значение сначала в  первой скобке, затем инверсию и значение во второй скобке, затем значение между  этими скобками. A 0 0 1 1 B 0 1 0 1 BA  0 1 1 1 A 1 1 0 0 B 1 0 1 0 BA  ( BA  1 1 1 0 ) BA  () 0 1 1 0 Теперь мы можем определить значение логической функции для любого набора  значений логических переменных. 2. Равносильные логические выражения. Логические   выражения,   у   которых   последние   столбцы   таблиц   истинности совпадают, называются  равносильными. Для обозначения равносильных логических выражений используется знак “ = “. Пример. Докажем, что логические выражения  BA   и  BA   равносильны. Построим сначала таблицу истинности логического выражения:  BA  1).   Определим   количество   строк   в   таблице.   Для   этого:   считаем   количество переменных, в нашем случае логическая функция содержит 2 переменные: А и В. Количество строк в таблице истинности должно быть равно 22=4. 2). Определяем количество столбцов. Это количество логических переменных плюс количество логических операций. В   нашем   случае   количество   переменных   равно   двум,   а   количество   логических операции — трем, то есть количество столбцов таблицы истинности равно пяти. 3). Строим таблицу с указанным количеством строк и столбцов, обозначаем столбцы и вносим  в  таблицу  возможные  наборы  значений  исходных  логических  переменных  и заполняем таблицу истинности по столбцам. Сначала   необходимо   выполнить   логическое   отрицание  А,   а   затем   логическое отрицание В. Последним действием выполним логическое сложение. A 0 0 1 1 B 0 1 0 1 A 1 1 0 0 B 1 0 1 0 BA  1 0 0 0 Теперь построим таблицу истинности логического выражения:  BA  1).   Определим   количество   строк   в   таблице.   Для   этого:   считаем   количество переменных, в нашем случае логическая функция содержит 2 переменные: А и В. Количество строк в таблице истинности должно быть равно 22=4. 2). Определяем количество столбцов. В нашем случае количество переменных равно двум,   а   количество   логических   операции   —   двум,   то   есть   количество   столбцов таблицы истинности равно четырем. 3). Строим таблицу с указанным количеством строк и столбцов, обозначаем столбцы и вносим  в  таблицу  возможные  наборы  значений  исходных  логических  переменных  и заполняем таблицу истинности по столбцам. Сначала необходимо выполнить действие в скобках, а затем логическое отрицание. A 0 0 1 1 B 0 1 0 1 BA  0 1 1 1 BA  1 0 0 0 Построили   таблицы.   Теперь   давайте,   сравним   значения   в   последних   столбцах таблиц истинности, т.к. именно последние столбцы являются результирующими: IV. Закрепление изученного материала. BA  = BA  1. Построить таблицу истинности для формулы:  A  ( BB  C ) . 1).   Определим   количество   строк   в   таблице.   Для   этого:   считаем   количество переменных, в нашем случае логическая функция содержит 3переменные: А, В и С. Количество строк в таблице истинности должно быть равно 23=8. 2). Определяем количество столбцов. В нашем случае количество переменных равно трем, а количество логических операции — пяти, то есть количество столбцов таблицы истинности равно восьми. 3). Строим таблицу с указанным количеством строк и столбцов, обозначаем столбцы и вносим  в  таблицу  возможные  наборы  значений  исходных  логических  переменных  и заполняем таблицу истинности по столбцам. Последовательность   операций:   инверсия,   операции   в   скобках,   операция   за скобкой. A B 0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 1 C B C 1 0 0 1 0 1 1 0 1 0 1 0 0 1 1 0 1 1 0 1 0 0 1 0 BB  1 1 1 1 1 1 1 1  BB 1 0 1 1 0 1 0 0 C A  ( C ) BB  1 0 1 1 0 1 1 1 2. Докажите с помощью таблиц истинности равносильность следующих  логических выражений:  A   и  B BA  . Построим сначала таблицу истинности логического выражения:  A  . B 1). Определим количество строк в таблице: 22=4. 2). Определяем количество столбцов: 2+1=3. 3). Строим таблицу с указанным количеством строк и столбцов. A 0 0 1 1 B 0 1 0 1 B A  1 1 0 1 Построим таблицу истинности логического выражения:  BA  . 1). Определим количество строк в таблице: 22=4. 2). Определяем количество столбцов: 2+2=4. 3). Строим таблицу с указанным количеством строк и столбцов. A 0 0 1 1 B 0 1 0 1 B 1 0 1 0 BA  1 0 1 1 Вывод: данные логические выражения не равносильны. V. Итог урока. Обобщить пройденный материал, оценить работу активных учеников. VI. Домашнее задание. 1. Доказать, используя таблицы истинности, что логические выражения  BA  и  BA   равносильны. Построить таблицу истинности для формулы:  (( QP  ) ( P  R ))  . P

Тренажёр по информатике «Таблицы истинности. Логические схемы. Логические выражения»; 8-11 классы — Презентации по информатике — Информатика

Слайд 2

Название презентации

Для перехода на следующий слайд используется кнопка «стрелка».

Слайд 3

Задание: «Заполните пустые ячейки в таблице истинности».

Используя «Поле со списком», ученик заполняет таблицу.

Кнопка «Проверить» позволяет проверить результат работы. Если ответ верный, то на слайде появляется сообщение «Отлично!», а если неверный, то «Подумай!».

Кнопка «Решить заново» очищает поля со списком и надпись, а у ученика есть возможность потренироваться ещё ни один раз.

Для перехода на следующий слайд используется кнопка «стрелка».

Слайд 4

Задание: «Заполните таблицу истинности для данной логической схемы».

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

Кнопка «Проверить» позволяет проверить результат работы. Если ответ верный, то на слайде появляется сообщение «Отлично!», а если неверный, то «Подумай!».

Если ученик ответил правильно, то открывается окно «Дополнительное задание».

Кнопка «Решить заново» очищает поля со списком и надпись, а у ученика есть возможность потренироваться ещё ни один раз.

Для перехода на следующий слайд используется кнопка «стрелка».

Слайд 5

Задание: «Заполните таблицу истинности для данной логической схемы».

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

Кнопка «Проверить» позволяет проверить результат работы. Если ответ верный, то на слайде появляется сообщение «Отлично!», а если неверный, то «Подумай!».

Если ученик ответил правильно, то открывается окно «Дополнительное задание».

Кнопка «Решить заново» очищает поля со списком и надпись, а у ученика есть возможность потренироваться ещё ни один раз.

Для перехода на следующий слайд используется кнопка «стрелка».

Слайд 6-7

Работа на этих слайдах аналогична работе на предыдущих слайдах.

Для перехода на следующий слайд используется кнопка «стрелка».

Слайд 8

Информация об окончании работы с тренажёром.

Кнопка «Завершить работу» осуществляет переход к следующему слайду и очищает предыдущие слайды, возвращая их к первоначальному виду, задуманному автором.

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

Мы находимся в логических выражениях и таблицах истинности. Умение написать логическое выражение и заполнение таблицы истинности — важный навык при устранении неполадок цифровых систем. Написание логических выражений начинается с входов и движется к выходам. Выражение, используемое для описания выхода каждого элемента, определяется с использованием основных правил выражения логического элемента.

В этом разделе мы напишем логическое выражение.В следующем разделе мы фактически завершим таблицы истинности. У нас есть несколько схем, и все они схемы … кстати, могут быть взяты из вашего пакета multi-sim. Вы можете подтянуть свои схемы и активировать их в мульти-симуляторе. Когда вы это сделаете, если вы просто нажмете букву A, B или C, вы выберете логические уровни, которые идут к этим воротам, но наша цель здесь — определить логическое выражение. Этот конкретный из цепи 15_17.

Во-первых, нам нужно оценить входные данные.У нас есть вход A, у нас есть вход B, и у нас есть вход C, и поэтому A и B приходят к этим воротам AND, поэтому из ворот AND у нас будет AB. Это войдет в эти ворота операционной. Фактически, процесс, как мы упоминали ранее, заключается в том, что вы запускаете входы и переходите к выходу. Здесь мы оценили … это вход, это вход, и они объединяются на выходе в этом вентиле ИЛИ, поэтому то, что мы увидим в вентиле ИЛИ в качестве окончательного выхода, будет AB + C.

Это означает, что если бы у нас были допустимые высокие значения A и B, мы получили бы выход A, и если бы у нас был действительный вход от C, мы также получили бы вывод, который на самом деле означает это выражение.Это представляет собой наше логическое выражение для этой схемы.

Вот еще один. Входами являются A, B, C и D. Здесь из логического элемента И у нас будет AB, а затем — логический элемент ИЛИ. У нас будет C + D, а затем эти два входа будут AN или NAND вместе на выходе, поэтому у нас будет AB, у нас будет C или D, и это будет перевернутый вот так.

Помимо оценки выражения, мы также хотим упростить их, если это возможно. Судя по предыдущим урокам, мы, кажется, упростили это.Нам нужно разбить символы НЕ, которые охватывают более одной переменной, поэтому мы разберем это здесь, мы сломаем его здесь, и мы сломаем его здесь.
Что это даст нам — у нас будет A NOT, и нам придется заменить AND на OR, B NOT, и тогда у нас будет C NOT, D NOT. Это должно стать плюсом, потому что мы ломаемся … извините за это. У нас есть A NOT + B NOT. Опять же, у нас есть A NOT + B NOT + C NOT, D NOT. Опять же, если бы у нас был хоть один из них, нас бы хватило. Любая из этих комбинаций, A NOT или B NOT или C NOT, D NOT, должна освещать нашу лампочку.

Следующий, у нас есть A. Давайте удостоверимся, что мы сохранили эти рисунки. У нас есть четверка, и она приходит сюда. Я имею в виду, что A идет в два разных места, поэтому нам нужно убедиться, что мы сохраняем прямую A, и тогда это будет вход C здесь. Посмотрим, мы подошли к инвертору, чтобы это НЕ было. Затем, войдя в этот вентиль NAND, мы получим A NOT, B, но, поскольку он записан, он инвертирует весь вывод, и затем мы идем. У нас есть C NOT, а затем в этом логическом элементе NAND у нас будет выход A, C NOT, а затем весь выход инвертируется.Затем мы собираемся объединить оба этих элемента в NAND, чтобы у нас были A NOT, B NOT, заканчивающиеся на A, C NOT. Затем у нас есть последний инвертор, поэтому все уравнение будет инвертировано.

Опять же, нам нужно упростить это. Разместим его здесь, здесь и здесь. Это упростится до A NOT, B, а затем мы поместим здесь четыре символа, потому что это всего лишь один not, и это будет A, C NOT. Это должно представлять наше окончательное выражение схемы.
Вот еще один. Опять же, входы A, B, C и D и A + B здесь, A или B, и мы собираемся НЕ это, а затем здесь у нас будет C NOT, и поэтому из этого вентиля NOR у нас будет C NOT или D и все выражение будут записаны.Затем мы NOR их вместе, так что у нас будет A + B NOT, C NOT или D, а затем у нас есть инвертор, поэтому все уравнение будет НЕ, а затем мы собираемся упростить или разделить его здесь, здесь и здесь.

Давайте посмотрим, на нем есть двойное НЕ, так что это останется прежним, A + B. У нас есть одно НЕ, так что это изменит функцию, а это, давайте посмотрим … получили двойные NOT, поэтому мы собираемся сохранить C NOT + D, и это должно привести к окончательному C.У нас есть НЕ здесь и двойное НЕ здесь, так что … Хорошо, у нас есть одно НЕ здесь, на самом деле есть три НЕ, так что мы это понимаем. Это должно сработать, так что это наше окончательное выражение этого.

Здесь у нас есть входы A, B и C, и на самом деле это исключающее ИЛИ. Это исключающее ИЛИ, но оно инвертировано, и поэтому у нас будет A. Это символ исключающего ИЛИ, A или B, но он инвертирован. Мы собираемся заключить это в скобки. Затем у нас есть C, и это превратится в C NOT, и тогда они здесь заканчиваются вместе.У нас будет эксклюзивное A или B, но это будет эксклюзивное NOR, и это будет AND с C NOT. Затем все уравнение, так как мы И, потому что здесь C НЕ, у нас есть A и B NOT, а затем мы заканчиваем его, и все уравнение будет записано.

В результате это останется прежним. У нас есть A, исключающее ИЛИ, B и затем C, поскольку там … Посмотрим, это будет изменено, так как здесь только один. Мы собираемся сломать это здесь. Нет, мы этого не сломаем.Придется сломать его здесь, так что это станет плюсом. Здесь у нас был бы окончательный результат, у нас были A, B или C. Мы бы не нарушили это, потому что у нас есть дубль, НЕ здесь.

Последний, здесь у нас есть A, B и C, а здесь у нас будет A или B, и это будет исключительное ИЛИ с C, поэтому у нас будет A, B или C, и поэтому это будет просто упростите до A, B или C. У нас нет NOT, так что это должно быть окончательное выражение для этого.

Это несколько логических выражений.Мы взяли несколько схем, написали булевы выражения, а затем упростили их. Мы сделали это для ряда схем. Пройдите через это, и появится больше практических задач и домашнее задание для вашего удовольствия.

Видеолекции, созданные Тимом Фигенбаумом в Общественном колледже Северного Сиэтла.

8.5: Карты Карно, таблицы истинности и логические выражения

Кто разработал карту Карно?

Морис Карно, инженер по телекоммуникациям, разработал карту Карно в Bell Labs в 1953 году при проектировании телефонных коммутационных схем на основе цифровой логики.

Использование карты Карно

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

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

Мы показываем пять отдельных элементов выше, которые представляют собой просто разные способы представления одного и того же: произвольной функции цифровой логики с двумя входами. Сначала это релейная релейная логика, затем логические вентили, таблица истинности, карта Карно и логическое уравнение. Дело в том, что все они эквивалентны. Два входа A и B могут принимать значения 0 или 1 , высокий или низкий, открытый или закрытый, True или False, в зависимости от обстоятельств.Имеется 2 2 = 4 комбинации входов, дающих выход. Это применимо ко всем пяти примерам.

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

Выходные данные таблицы истинности взаимно однозначно соответствуют записям карты Карно. Начиная с вершины таблицы истинности, входные данные A = 0, B = 0 дают выход α. Обратите внимание, что этот же выходной α находится в карте Карно по адресу ячейки A = 0, B = 0, в верхнем левом углу K-карты, где пересекаются строка A = 0 и столбец B = 0. Другая таблица истинности выводит β, χ, δ из входов AB = 01, 10, 11, которые находятся в соответствующих местоположениях K-карты.

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

Ячейки α и χ смежны в K-отображении как эллипсы на крайнем левом K-отображении ниже. Ссылаясь на предыдущую таблицу истинности, это не так. Между ними есть еще одна запись в таблице истинности (β). Это подводит нас к сути организации K-карты в квадратный массив, ячейки с любыми общими логическими переменными должны быть близко друг к другу, чтобы представить шаблон, который бросается в глаза.Для ячеек α и χ они имеют общую логическую переменную B ’ . Мы знаем это, потому что B = 0 (то же самое, что B ’ ) для столбца над ячейками α и χ. Сравните это с квадратной диаграммой Венна над K-картой.

Аналогичное рассуждение показывает, что β и δ имеют общее логическое значение B (B = 1). Тогда α и β имеют общее логическое значение A ’ (A = 0). Наконец, χ и δ имеют общее логическое значение A (A = 1).Сравните две последние карты со средней квадратной диаграммой Венна.

Подводя итог, мы ищем общность логических переменных среди ячеек. Карта Карно организована таким образом, чтобы мы могли видеть эту общность. Попробуем несколько примеров.

Пример:

Перенесите содержимое таблицы истинности на карту Карно выше.

Решение:

Таблица истинности содержит два 1 с.K-карта должна иметь их обоих. найдите первые 1 во 2-й строке приведенной выше таблицы истинности.

  • обратите внимание на таблицу истинности AB адрес
  • найдите ячейку на K-карте с тем же адресом
  • поместите 1 в эту ячейку

Повторите процесс для 1 в последней строке таблицы истинности.

Пример:

Для карты Карно в приведенной выше задаче напишите логическое выражение.Решение ниже.

Решение:

Ищите соседние ячейки, то есть сверху или сбоку от ячейки. Диагональные клетки не смежные. Соседние ячейки будут иметь одну или несколько общих логических переменных.

  • Группа (кружок) два 1 с в столбце
  • Найдите переменные top и / или side, одинаковые для группы, запишите это как логический результат. В нашем случае это B .
  • Игнорировать переменные, которые не совпадают для группы ячеек. В нашем случае A варьируется, равно 1 и 0, логическое значение A игнорируется.
  • Игнорировать любые переменные, не связанные с ячейками, содержащими единицы. B ’ нет под ним. Игнорировать B ’
  • Результат Out = B

Это может быть легче увидеть, сравнив диаграммы Венна справа, в частности столбец B .

Пример:

Напишите логическое выражение для карты Карно ниже.

Решение: (вверху)

  • Сгруппируйте (обведите) два 1-е в ряду
  • Найдите переменные, одинаковые для группы, Out = A ’

Пример:

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

Решение:

Перенесите 1 с из местоположений в таблице истинности в соответствующие местоположения на K-карте.

  • Сгруппируйте (обведите) две единицы в столбце под B = 1
  • Сгруппируйте (обведите) две единицы в ряду справа от A = 1
  • Запишите термин продукта для первой группы = B
  • Запишите термин продукта для второй группы = A
  • Запишите сумму произведений двух указанных выше терминов Выход = A + B

Решение K-map посередине является самым простым или самым дешевым решением.Менее желательное решение находится справа. После группировки двух 1 s мы делаем ошибку, формируя группу из 1 ячейки. Причина, по которой это нежелательно, заключается в том, что:

  • Отдельная ячейка имеет обозначение продукта AB ’
  • Соответствующее решение: Выход = AB ’+ B
  • Это не самое простое решение

Способ взять этот одиночный 1 состоит в том, чтобы сформировать группу из двух с 1 справа от него, как показано в нижней строке средней K-карты, даже если это 1 уже включен в группу столбцов ( B ).Нам разрешено повторно использовать ячейки для формирования больших групп. Фактически, это желательно, потому что это приводит к более простому результату.

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

Пример:

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

Решение: (вверху)

Логическое выражение содержит три продукта. Для каждого термина продукта будет введено 1 . Хотя, как правило, количество 1 с на член продукта зависит от количества переменных в термине продукта по сравнению с размером K-карты. Термин продукта — это адрес ячейки, в которую вводится 1 . Первый термин продукта, A’B , соответствует ячейке 01 на карте.В эту ячейку вводится 1 . Вводятся два других P-члена, всего три 1s

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

Пример:

Упростите приведенную ниже логическую схему.

Решение: (рисунок ниже)

  • Запишите логическое выражение для исходной логической схемы, как показано ниже
  • Перенести термины продукта на карту Карно
  • Сформируйте группы ячеек, как в предыдущих примерах
  • Запишите логическое выражение для групп, как в предыдущих примерах
  • Нарисовать упрощенную логическую схему

Пример:

Упростите приведенную ниже логическую схему.

Решение:

  • Запишите логическое выражение для исходной логической схемы, показанной выше
  • Перенесите термины продукта на карту Карно.
  • Невозможно формировать группы.
  • Никакое упрощение невозможно; оставьте как есть.

Логическое упрощение приведенной выше схемы невозможно. Иногда такое бывает. Ни методы карт Карно, ни булева алгебра не могут еще больше упростить эту логику.Мы показываем схематический символ «Исключающее ИЛИ» выше; однако это не логическое упрощение. Это просто делает схематическую диаграмму лучше. Поскольку невозможно упростить логику исключающего ИЛИ и она широко используется, она предоставляется производителями как базовая интегральная схема (7486).

Логическая логика


Логическая функция — это математическая функция, которая преобразует аргументы в значение, где допустимые значения диапазона (аргументы функции) и домена (значение функции) являются лишь одним из двух значений: истинно и ложно (или 0 и 1 ).Изучение булевых функций известно как Boolean logic .

Логические функции.

Чтобы определить любую логическую функцию, нам нужно только указать ее значение для каждого возможного значения его входов. Функция , а не — это логическая функция одной переменной.
$$ \ quad \ quad \ quad \ quad \ quad \ quad \ begin {align} НЕ (х) & \; = \; \ begin {case} 1 & \ text {если $ x $ равно $ 0 $} \\ [1ex] 0 & \ text {если $ x $ равен $ 1 $} \ end {case} \ end {align} $$
Функции и , или , а также эксклюзивные функции или являются знакомыми логическими значениями. функции двух переменных.
$$ \ quad \ quad \ quad \ quad \ quad \ quad \ begin {align} И (х, у) & \; = \; \ begin {case} 1 & \ text {если и $ x $, и $ y $ равны $ 1 $} \\ [1ex] 0 & \ text {иначе} \ end {case} \\ \\ ИЛИ (x, y) & \; = \; \ begin {case} 1 & \ text {, если $ x $ или $ y $ (или оба) равно $ 1 $} \\ [1ex] 0 & \ text {иначе} \ end {case} \\ \\ ИСКЛЮЧАЮЩЕЕ ИЛИ (х, у) & \; = \; \ begin {case} 1 & \ text {если $ x $ и $ y $ разные} \\ [1ex] 0 & \ text {иначе} \ end {case} \ end {align} $$
  • Обозначения. Существует множество конкурирующих обозначений элементарных булевых функций. В этой главе, мы в основном используем обозначения схемотехники.
  • Таблицы истинности. Один из способов определить логическую функцию — указать ее значение для каждого возможное значение его аргументов. Мы используем таблицу истинности , чтобы сделать это организованным образом. В таблице истинности есть один столбец для каждой переменной, по одной строке для каждой возможной сочетание значений переменных и столбца, в котором указано значение функция для этой комбинации.
    Таблица истинности для функции от n переменных имеет 2 n строк.
  • Булева алгебра. Булева алгебра относится к символическому манипулированию выражениями, состоящими из логические переменные и логические операторы. Знакомый тож , коммутативный , распределительный , и ассоциативных аксиом алгебры определяют аксиомы булевой алгебры вместе с две дополнительных аксиомы .
    Кроме того, из этих аксиом можно вывести много других законов. Например, последняя запись в таблице дает два специальных идентификатора. известный как законы ДеМоргана .
  • Булева алгебра в Java. Вы можете включить булеву алгебру в свои программы на Java двумя разными способами.
    • Логический тип данных Java: В Разделе 1.2 мы представили логические операции со значениями истина и ложь и И , ИЛИ и НЕ операций с помощью операторов &&, || и! соответственно., соответственно.

Логические функции от трех или более переменных.

По мере увеличения количества переменных количество возможных функций увеличивается. резко. Есть 2 8 различных логических функций от 3 переменных, 2 16 функций от 4 переменных, 2 32 функций от 5 переменных, и так далее. Несколько таких функций играют роль важную роль в вычислениях и схемотехнике, поэтому мы сейчас их рассмотрим.
  • Функции И и ИЛИ. Определения И и ИЛИ функции для нескольких аргументов естественным образом обобщают наши двухаргументные определения:
    $$ \ quad \ quad \ quad \ quad \ quad \ quad \ begin {align} И (x_1, x_2, \ ldots, x_n) & \; = \; \ begin {case} 1 & \ text {если все аргументы $ 1 $} \\ [1ex] 0 & \ text {иначе} \ end {case} \\ \\ ИЛИ (x_1, x_2, \ ldots, x_n) & \; = \; \ begin {case} 1 & \ text {если какой-либо аргумент равен $ 1 $} \\ [1ex] 0 & \ text {иначе} \ end {case} \\ \ end {align} $$
  • Функции большинства и нечетной четности. Рассмотрим две дополнительные функции, возникающие при проектировании цифровых схем: функции большинства и с нечетной четностью :
    $$ \ quad \ quad \ quad \ quad \ quad \ quad \ begin {align} MAJ (x_1, x_2, \ ldots, x_n) & \; = \; \ begin {case} 1 & \ text {если аргументов $ 1 $ строго больше, чем 0} \\ [1ex] 0 & \ text {иначе} \ end {case} \\ \\ НЕЧЕТ (x_1, x_2, \ ldots, x_n) & \; = \; \ begin {case} 1 & \ text {если нечетное количество аргументов равно $ 1 $} \\ [1ex] 0 & \ text {иначе} \ end {case} \\ \ end {align} $$
  • Логические выражения. Как и в случае с логическими функциями двух переменных, мы можем использовать таблицу истинности для явного укажите логическую функцию.
    Такое представление громоздко и быстро перестает работать. функции с большим количеством переменных, так как количество строк, необходимых для n переменных — это 2 n . Вместо этого мы часто предпочитаем использовать логических выражения для определения логических функций. Например, проверить эти две личности несложно:
    $$ \ quad \ quad \ quad \ quad \ quad \ quad \ begin {align} И (x_1, x_2, \ ldots, x_n) & \; = \; x_1 x_2 \ ldots x_n \\ \\ ИЛИ (x_1, x_2, \ ldots, x_n) & \; = \; х_1 + х_2 + \ ldots + x_n \ end {align} $$
  • Представления суммы произведений. Один из фундаментальных результатов булевой алгебры состоит в том, что каждое логическое функция может быть представлена ​​выражением, которое использует И , ИЛИ , и НЕ операторы и никакие другие. Например, рассмотрим следующую таблицу истинности:
    Поскольку их записи равны для всех значений переменных, два столбца выделенные синим цветом представляют собой доказательство следующего уравнения:
    $$ \ quad \ quad \ quad \ quad \ quad \ quad MAJ (x, y, z) = x’yz + xy’z + xyz ‘+ xyz $$
    Мы можем получить такое выражение для любой логической функции из ее таблицы истинности: Для каждой строки в таблице истинности, в которой значение функции равно 1, мы создаем член, равный 1, если входные переменные имеют значения в этой строке и 0 в противном случае.Каждый член является продуктом каждой входной переменной. (если соответствующая запись в рассматриваемой строке равна 1) или его отрицание (если запись 0). Сумма всех этих членов возвращает функцию.

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

    Авторские права © 2000–2019 и .Все права защищены.

Логическая логика и таблицы истинности

Последнее изменение: 22 июня 2021 г.

И используется, чтобы найти, где выполняются несколько условий

ИЛИ используется, чтобы найти, где хотя бы одно из нескольких условий истинно.

Если говорить более технически, логическая логика — это способ представления того, как обрабатываются биты в компьютере. Давайте подробнее рассмотрим эти условные операторы (например, операторы if-else, where или case-when) с таблицами истинности, чтобы понять, как именно работает логическая логика.

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

Например, рассмотрим следующее условие:

Если: A и B

Тогда: C

Возвращает значение C, если значения A и B верны. Мы можем представить это с помощью так называемой таблицы истинности. Таблица истинности — это способ представления всех возможных входных данных и соответствующих им выходных данных. Таблица истинности для этого оператора AND выглядит так:

А B С
1 1 1
1 0 0
0 1 0
0 0 0

В таблице истинности 1 представляет истину, а 0 представляет ложь.Из этой таблицы видно, что единственное время, когда C истинно, — это когда и A, и B истинны.

Также есть оператор ИЛИ. Оператор ИЛИ истинен, когда истинно А ИЛИ Б:

Если: A или B

Тогда: C

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

А B С
1 1 1
1 0 1
0 1 1
0 0 0

Эта таблица истинности может немного отличаться от ожидаемой.Это связано с тем, что оператор OR является ложным только в том случае, если оба входных значения (A и B) имеют значение False.

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

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

Если: (A или B) и C

Тогда: D

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

Далее нам нужно решить, сколько столбцов использовать. В этом случае у нас будет один столбец для каждого ввода, один для вывода и один для значений A и B. Таблица истинности будет выглядеть так:

А B С A или B D
1 1 1 1 1
1 1 0 1 0
1 0 1 1 1
1 0 0 1 0
0 1 1 1 1
0 1 0 1 0
0 0 1 0 0
0 0 0 0 0

Как и ожидалось, когда таблица заполнена, единственный истинный вывод — это когда все 3 ввода истинны.

Логика короткого замыкания

Из-за того, как работает логика И и ИЛИ , языки программирования могут использовать так называемую «логику короткого замыкания». Это когда не все входные данные оцениваются, потому что компьютер может угадать ответ по первому проверенному входу. Чтобы увидеть, как это работает, еще раз взгляните на таблицу истинности AND:

А B С
1 1 1
1 0 0
0 1 0
0 0 0

Обратите внимание, что, когда A имеет значение False ( 0 ), C также всегда ложно.Это потому, что C истинно только тогда, когда оба входа истинны, поэтому одно ложное означает, что C ложно.

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

Примеры в SQL

Пример условия WHERE :

 
ВЫБРАТЬ * ИЗ [таблица]

КУДА

[столбец A] = 5 И [столбец B] = 22;

  

Пример CASE-WHEN Заявление

 
ДЕЛО

КОГДА [столбец A] = 21 ИЛИ [столбец B] = 7 ТО [Действие]

КОНЕЦ

  

Сводка

  • Логическая логика И / ИЛИ может быть визуализирована с помощью таблицы истинности
    • Таблицы истинности два к количеству входных строк в них
    • 1 — правда
    • 0 — ложь
  • Short Circuit Logic (Логика короткого замыкания)
    • Если первый ввод гарантирует конкретный результат, то второй вывод не будет прочитан
    • И — первый вход false будет замкнут на false
    • ИЛИ — первый вход истины замкнет на истину

Написано: Мэтью Лэйн
Проверено: Мэтт Дэвид

Учебное пособие по

Prolog — 2.13 Учебное пособие по

Prolog — 2.13

2.13 Создатель стола истинности

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

? - tt (x или (не y и z)).

  [x, y, z] x или (не y и z)
-----------------------------------
  [0,0,0] 0
  [0,0,1] 1
  [0,1,0] 0
  [0,1,1] 0
  [1,0,0] 1
  [1,0,1] 1
  [1,1,0] 1
  [1,1,1] 1
-----------------------------------
 

Итак, программа должна будет сделать следующее:

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

Чтобы использовать ‘and’ и ‘или’ в качестве инфиксных операторов, такие объявления так как следующего будет достаточно

: - op (1000, xfy, 'и').: - op (1000, xfy, 'или').
 

Оператор not уже может быть распознан Prolog (как отрицание как отказ), а если нет, то декларация

: - op (900, fy, 'не').
 

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

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

 find_vars (+ The_Expression, + Previously_Found_Variables, -Answer)
 

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

 find_vars (N, V, V): - member (N, [0,1]),!. / * Логические константы в выражении * /
find_vars (X, Vin, Vout): - атом (X),
                         (member (X, Vin) -> Vout = Vin; / * уже есть * /
                            Vout = [X | Vin]). /* включают           */
find_vars (X и Y, Vin, Vout): - find_vars (X, Vin, Vtemp),
                               find_vars (Y, Vtemp, Vout).
find_vars (X или Y, Vin, Vout): - find_vars (X, Vin, Vtemp),
                               find_vars (Y, Vtemp, Vout).find_vars (не X, Vin, Vout): - find_vars (X, Vin, Vout).
 

Например,

? - find_vars (x и (y или x), [], V).
V = [y, x]
 

Обратите внимание на то, что find_vars создаст список переменных справа налево. порядок появления в исходном выражении. Почему? Мы изменим это список переменных в основной программе.

Чтобы сгенерировать начальное присвоение истинности, используйте список переменных в качестве ориентира:

 initial_assign ([], []).initial_assign ([X | R], [0 | S]): - initial_assign (R, S).
 

Например,

? - initial_assign ([w, x, y, z], A).
A = [0,0,0,0]
 

Программа для генерации последующего присвоения истинности выглядит следующим образом:

 преемник (A, S): - обратный (A, R),
                  следующий (R, N),
                  обратный (N, S).
 

Например, то, что предлагается, должно работать так

 [0,1,0,1] == обратный ==> [1,0,1,0] == следующий ==> [0,1,1,0] == обратный ==> [0,1 , 1,0]
 

, где смысл переворота в том, что было бы легче описать двоичное добавление в начало списка, а не в конец списка.Предикат next будет рекурсивным N-битным двоичным сумматором, где N равно количество переменных в логическом выражении.

 следующий ([0 | R], [1 | R]).
next ([1 | R], [0 | S]): - следующий (R, S).
 

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

 истинное_значение (+ Выражение, + Список_переменных, + Назначить_список, -Значение_правды)
 

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

? - значение_правды (не x или y, [x, y], [1,0], V.
V = 0
 

Вот определение «истинное_значение».

 истинное_значение (N, _, _, N): - член (N, [0,1]).
true_value (X, Vars, A, Val): - атом (X),
                             поиск (X, Vars, A, Val).
true_value (X и Y, Vars, A, Val): - true_value (X, Vars, A, VX),
                                   истина_значение (Y, Vars, A, VY),
                                   логическое_и (VX, VY, Val).
true_value (X или Y, Vars, A, Val): - true_value (X, Vars, A, VX),
                                   истина_значение (Y, Vars, A, VY),
                                   boole_or (VX, VY, Val).true_value (не X, Vars, A, Val): - true_value (X, Vars, A, VX),
                                   boole_not (VX, Val).
 

Предикат «поиск» использует позиционную связь.

 поиск (X, [X | _], [V | _], V).
lookup (X, [_ | Vars], [_ | A], V): - поиск (X, Vars, A, V).
 

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

 tt (E): - find_vars (E, [], V),
         обратный (V, Vars),
         initial_assign (Vars, A),
         напишите (''), напишите (Vars), напишите (''), напишите (E), nl,
         напишите ('-----------------------------------------'), нл,
         write_row (E, Vars, A),
         write ('-----------------------------------------'), nl.

, где write-row вызовет себя, чтобы записать следующую строку правды таблица (если в таблице должна быть следующая строка).

 write_row (E, Vars, A): - написать (''), написать (A), написать (''),
                       true_value (E, Vars, A, V), написать (V), nl,
                       (преемник (A, N) -> write_row (E, Vars, N); истина).
 

Определение ‘write_row’ основано на отказе преемника, когда A == [1,1,1, …, 1]. Наконец, мы предоставляем таблицы истинности.

 логическое_и (0,0,0). boole_or (0,0,0). boole_not (0,1).
логическое_и (0,1,0). boole_or (0,1,1). boole_not (1,0).
логическое_и (1,0,0). boole_or (1,0,1).
логическое_и (1,1,1). boole_or (1,1,1).
 

Упражнение 2.13.1 Добавьте логические операции nand, nor и xor к программе.

Упражнение 2.13.2 Измените программу таблицы истинности так, чтобы она записывала table в файл с именем, указанным пользователем.n \ to [0,1] $. Есть много простых характеристик этого расширения (что говорит о его важности). Самый интуитивный для меня — это ослабить логическую логику до вероятности: взять логическую функцию от некоторого количества переменных, например $$ y \ text {or not} (x \ text {и} z). $$ Теперь предположим, что мы переворачиваем возможно смещение монет независимо, чтобы определить истинные значения $ x, y, z $. Вероятность того, что $ x $ истинна, равна $ p $, вероятность того, что $ y $ истинна, равна $ q $, а вероятность того, что $ z $ истинна, равна $ r $, поэтому мы имеем $ 0 \ leq p, q, г \ leq 1 $.Теперь рассмотрим наше выражение $ y \ text {or not} (x \ text {and} z) $: какова вероятность того, что это будет правдой? Это некоторая функция от $ p, q, r $, которая принимает значения в $ [0,1] $. Если вы проработаете это (что очень просто), вы обнаружите, что функция $$ f (p, q, r) = 1-p (1-q) r. $$ Вы должны проверить это, когда вы ограничиваете $ p, q, r $ равны 0 или 1, это согласуется с исходной логической функцией, когда соответствующие логические переменные соответственно ложны или истинны. Одна из других основных характеристик этого расширения — это уникальный многоаффинный интерполирующий полином.(«Многоаффинный» означает, что если вы установите все переменные, кроме одной, например, $ p $, в постоянное значение, то вы получите линейную функцию $ ap + b $ от $ p $ для некоторых констант $ a $ и $ b $ ( которые зависят от констант, выбранных вами для других переменных)).

К сожалению, , вычисляющий , это расширение для логической функции многих переменных легко увидеть как # P-сложный, что означает, что это одна из тех сложных проблем, которые люди ненавидят, потому что они не могут решить ее эффективно, но не могут доказать, что они не могут.(Действительно, любое легко вычислимое каноническое представление (расширяющееся до [0,1] или иначе), применимое ко всем логическим функциям, доказывает, что P = NP, поэтому ваша проблема, как вы заявили, в значительной степени безнадежна. Это конкретное каноническое расширение оказывается мощным достаточно, чтобы быть # P-сложным.) Однако, если ваши логические выражения имеют только несколько переменных, то есть очень простой рекурсивный алгоритм для вычисления расширения. Вот: $$ f (p \ _1, p \ _2, \ ldots, p \ _n) = p \ _1f (1, p \ _2, \ ldots, p \ _n) + (1-p \ _1) f (0, p \ _2, \ ldots, p \ _n).$$ $ f (1, p \ _2, \ ldots, p \ _n) $ и $ f (0, p \ _2, \ ldots, p \ _n) $ соответственно являются расширениями, в которых вы устанавливаете первую переменную в значение true и false, которое можно вычислить рекурсивно. Базовый случай — это когда $ n = 0 $, и в этом случае у вас есть нулевая функция 0 или 1.

[ Edit: Если ваша логическая функция фактически представлена ​​буквально как таблица истинности, то нетрудно вычислить ее каноническое расширение до реальных значений; на самом деле рекурсивный алгоритм, приведенный выше, имеет сложность $ O (N) $, где $ N = 2 ^ n $ — количество строк в таблице истинности.Конечно, создание таблицы истинности для функции многих переменных занимает много времени и места, но если у вас уже есть таблица истинности, значит, вы уже приняли ее.]

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

  • $ (\ text {not} A) \ to (1-A) $,
  • $ (A \ text {и} B) \ to (AB) $,
  • $ (A \ text {или} B) \ to (A + B — AB)
  • $

и просто выполните рекурсию по выражению.В моем примере $ y \ text {or not} (x \ text {and} z) $ имеет это свойство, поэтому давайте воспользуемся этой процедурой:

$$ y \ text {или} (\ text {not} (x \ text {and} z)) \ to y + (1-xz) — y (1-xz), $$, который вы можете видеть, является то же, что и $ 1-x (1-y) z $. Это, к большому сожалению, терпит неудачу, когда у вас есть несколько вхождений любой переменной (просто попробуйте $ x \ text {, а не} x $). Однако ситуация несколько более общая, чем может показаться поначалу: обратите внимание, что я дал правила преобразования для AND, OR и NOT.Я сделал это, потому что часто бывает удобно выражать логические выражения в терминах этих трех. Фактически вы можете сформулировать соответствующее правило преобразования для логической функции $ f $ по вашему выбору (которая идентична каноническому расширению $ f $: например, $ 1-x $ является каноническим расширением $ \ text {not} x $ и $ x + y — xy $ является каноническим расширением $ x \ text {или} y $), и вы можете применить это преобразование к $ f (A \ _1, \ ldots, A \ _n) $ при условии, что никакая переменная не встречается более чем в одном подвыражении $ A \ _1, \ ldots, A \ _n $ .Например, исключающее ИЛИ может быть полезной логической функцией, поэтому вы можете использовать правило преобразования

  • $ (A \ text {xor} B) \ to A + B — 2AB $.

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

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

столько раз, сколько сможете, пока у вас не останется многоаффинный многочлен.2 \ to x + y — xy — xy — xy + xy = x + y — 2xy, $$, что согласуется с моим каноническим правилом выражения / преобразования для XOR, указанным выше.

График истинности: новый метод минимизации выражений булевой алгебры с помощью графиков

Заинтересованные стороны, например инженеры, используют выражения булевой алгебры для построения логических схем. Чтобы снизить стоимость этих схем, они должны уменьшить (или минимизировать) исходные логические выражения до эквивалентного выражения, которое включает меньше терминов или арифметических операций.Процесс минимизации логических выражений непрост, а понимание схем и связей между их компонентами является сложной задачей для студентов инженерных специальностей. [13]. Джеффри и др., Изучавшие неправильные представления студентов о схемах, обнаружили, что «эти неправильные представления являются результатом необходимости управлять большим количеством информации, которая не была должным образом организована в сознании студентов». [9].

Инструменты, такие как таблицы истинности и карта Карно (K-карта), были введены для упрощения минимизации логических выражений. [14].{4} \) = 16 ячеек, каждая из которых имеет значение 0 или 1. Эти 16 ячеек состоят из четырех строк и четырех столбцов, каждая из которых помечена двумя двоичными числами, которые отображают общее двоичное число в K-карте с 4 переменными. — 32. Анализ отношений между этими двоичными числами путем группирования соседних ячеек, содержащих значения единицы, для определения минимального выражения также может быть трудным и подверженным ошибкам. Исследования показали, что учащиеся находят K-карты сложными в использовании, например, Zilles et al. которые опросили студентов, проходящих курс логики, который включает использование K-карт, и сообщили: «Поскольку карты Карно являются основной темой как в ECE 290, так и в CS 231, мы были удивлены, обнаружив, что студенты в целом неохотно использовали их.” [15]. Учитывая, что и таблицы истинности, и K-карта используются в качестве педагогических инструментов, было бы полезно иметь усовершенствованный подход к обучению, который поддерживает множество переменных и снижает визуальную сложность.

Обучение с соответствующим представлением может повысить успеваемость учащихся [1]. Кромли исследовал, приводят ли разные представления учащихся к использованию разных стратегий, и сообщил, что «учащиеся вербализируют больше выводов при чтении диаграмм по сравнению с текстом».

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *