От формул к процессору/@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, всегда будет ложь(ноль). В принципе остальные примеры решаются также.
Наверное, сейчас вы задаетесь мыслями, а зачем это? Хотел написать ответ в этой статье, но передумал, скажу лишь, что узнаете в последующих статьях. Это только начало!
Пишите по больше отзывов пожалуйста на
http://hackzona.ru/hz.php?name=News&file=article&sid=9059 – для меня это важно….