От формул к процессору/@K
Привет всем надеюсь вы хорошо усвоили материал прошлой статьи! сегодня мы изучим правила преобразования логических выражений.
Так для начала условимся Логическое произведение (КОНЬЮНКЦИЯ) записываем так A*B (логическое произведение А на В) или можно еще записывать так А&B.;
Логическое сложение (ДИЗЪЮНКЦИЯ) записываем так А+В, можно еще записать по другому на клавиатура мне не позволяет.
Логическое отрицание (ИНВЕРСИЯ) записывать будем, как неА.
Закон непротиворечия, означает следующее A не может быть равно своему отрицанию,
неA *A=0
Например есть выражение A *неA+B, догадайтесь чему оно будет равно? Правильно A *неA+B=B.
Закон исключения третьего
Высказывание может быть либо истинным либо ложным, третьего не дано. Это означает, что результат логического сложения высказывания и его отрицания принимает значение истинна.
А+неА=1
Да и незабываем, 1 — это истинна, 0 это ложь. Что бы, было легче можно представлять, так «+», это «или», «*» — это «и», а инверсия тут и так понятно.
Закон двойного отрицания
Если выражение дважды отрицается, то в результате мы получим исходное высказывание. Например:
ненеА=А
Так же, как в Алгебре минус на минус — дает плюс.
Закон тождества
Всякое высказывание тождественно самому себе. Например А=А.
Законы Моргана:
Первый закон Де Моргана.
не(А + В)= неА* неВ
Отрицание выражения (А или В) равно неА и неБ, давайте проверим!? Для этого построим так называемую таблицу истинности:
А______В_____неА____неВ__(А+В)__Не(А+В)___неА* неВ
0______0______1______1_____0______1_________1
0______1______1______0_____1______0_________0
1______0______0______1_____1______0_________0
1______1______0______0_____1______0_________0
Сначала, даем начальные значения А и Б, затем их инвертируем, после подвергаем значения А и В дизъюнкции (операция «или»), затем то, что получилось инвертируем и получаем одну единицу и три нуля Теперь берем значения неА и неВ и подвергаем коньюнкции(логическое умножение) и в результате получаем, единицу и три ноля тоесть не(А + В)= неА* неВ, формула верна
Второй закон Де Моргана.
не(А*В)= неА + неВ
А______В______неА___неВ__(А*В)___Не(А*В) ______неА+ неВ
0______0______ 1_____1______0______1_____________1
0______1______ 1_____0______0______1_____________1
1______0______ 0_____1______0______1_____________1
1______1______ 0_____0______1______0_____________0
Тоже самое здесь — формула верна. Мы сейчас строили таблицы истинности вообще-то это проходится по информатике.
А теперь пару примеров:
Не(А+В)*(А*неВ)
Начнем, видим в первой части выражения не(А+В) первый закон Де Моргана преобразовываем:
НеА*неВ*(А*неВ), раскроем скобки
НеА*неВ*А*неВ, видим неА и А, — закон непротиворечия .
Остается
0*НеВ*неВ
Смотрим НеВ*неВ, ага это равно просто неВ, спросите почему? Допустим есть некое третье значение например, значение С.
С*неВ*неВ=С*неВ, допустим С=0
А неВ равно 1, тогда
0*1*1=0, а это тоже самое что и 0*1.
Вот и получается, что неВ*неВ, равно просто неВ. Так вернёмся к примеру:
Получаем,
0*неВ=0, тут можно пойти двумя путями, первый я назвал его алгебраический умножение на ноль всегда дает ноль, или второй логический:
У нас операция конъюнкция(вспоминаем союз «и») а эта операция так сказать истинна только в одном случае, когда оба значения истинны, тоесть 1*1=1, смотрим на первый множитель нашего выражения он уже равен нолю Значит чему бы небыло равно, значение неВ, хоть 1 хоть 0, всегда будет ложь(ноль). В принципе остальные примеры решаются также.
Наверное, сейчас вы задаетесь мыслями, а зачем это? Хотел написать ответ в этой статье, но передумал, скажу лишь, что узнаете в последующих статьях. Это только начало!
Пишите по больше отзывов пожалуйста для меня это важно.
Kerny 15 октября 2008-10-15 22:14
Специально для hackzona.ru.
7 комментариев