"Информатика (в 2-х частях)", Горячев А.В., Герасимова В.Г., Макарина Л.А., Островский С.Л., Паволоцкий А.В., Семёнов А.А., Юдина А.Г., Чернышёва Т.Л.
Логические выражения помогают проверить, истинно или ложно сложное условие, составленное из нескольких высказываний. Для этого используют операции И, ИЛИ и НЕ: каждая действует по своему правилу. Таблица истинности показывает результат выражения при всех возможных значениях его переменных. Умение применять эти правила пригодится при решении логических задач и записи условий в программах, где от результата проверки зависит дальнейшее действие.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Логическое выражение — высказывание или запись с логическими операциями, которой можно сопоставить значение «истина» или «ложь». Например, запись «A истинно и B истинно» зависит от значений A и B. Это понятие нужно, чтобы описывать не только отдельные факты, но и условия, составленные из нескольких фактов.
Конъюнкция — логическая операция «И»: результат истинен, только когда истинны оба высказывания. Её обозначают словами «И», а в некоторых записях — знаком ∧. Например, A И B истинно лишь при одновременной истинности A и B; операция помогает выразить условие, для которого должны выполниться сразу два требования.
Дизъюнкция — логическая операция «ИЛИ»: результат ложен, только когда ложны оба высказывания. Её можно записать словами «ИЛИ» или знаком ∨. Такое правило полезно, когда условие допускает несколько способов выполнения: достаточно, чтобы истинным оказалось хотя бы одно из высказываний, а истинность обоих тоже подходит.
Отрицание — логическая операция «НЕ», которая меняет значение высказывания на противоположное. Запись НЕ A означает «неверно, что A»: если A истинно, НЕ A ложно, и наоборот. Отрицание нужно, чтобы сформулировать обратное условие; его область действия определяют по скобкам и по тому, какая часть выражения стоит после операции.
Простые высказывания обозначают буквами, например A и B, а затем соединяют логическими операциями. Так из сообщений «идёт дождь» и «дует ветер» можно составить условие «идёт дождь И дует ветер». Получается составное выражение, значение которого зависит от значений частей. Такой способ записи удобен, потому что позволяет изучать структуру условия, не повторяя каждый раз длинные фразы.
Чтобы вычислить A И B, нужно проверить обе части: выражение требует, чтобы выполнялись сразу два условия. Если хотя бы одно высказывание ложно, требование целиком не выполнено, поэтому результат ложен. У операции ИЛИ другая цель: она проверяет, выполнено ли хотя бы одно из условий. Поэтому для A ИЛИ B достаточно одной истинной части, а выражение становится ложным лишь при двух ложных частях.
Отрицание переворачивает значение высказывания, а не просто добавляет к нему новое условие. Например, если A означает «число чётное», то НЕ A означает «число не чётное». При записи важно видеть, к чему относится НЕ: в выражении НЕ A И B обычно отрицается только A, а в записи НЕ (A И B) отрицается результат всей операции в скобках. Скобки помогают явно обозначить нужную область.
Таблица истинности показывает результат выражения для каждого возможного набора значений переменных. У одной переменной два значения, у двух — четыре сочетания, у трёх — восемь: в общем случае для n переменных нужно рассмотреть 2ⁿ наборов. Для каждого набора подставляют значения и вычисляют выражение. Если пропустить строку, таблица не покажет поведение условия во всех возможных случаях.
Сложное выражение вычисляют по частям, соблюдая порядок действий и скобки. Сначала выполняют действия внутри скобок, а затем применяют отрицание, конъюнкцию и дизъюнкцию в принятом порядке; скобки могут изменить последовательность. Промежуточные результаты записывают в отдельные столбцы, чтобы не держать несколько вычислений в уме. Так легче заметить, на каком шаге получено итоговое значение.
| A | B | НЕ A | A И B | A ИЛИ B |
|---|---|---|---|---|
| ложь | ложь | истина | ложь | ложь |
| ложь | истина | истина | ложь | истина |
| истина | ложь | ложь | ложь | истина |
| истина | истина | ложь | истина | истина |
Каждая строка задаёт отдельное сочетание значений A и B, а остальные столбцы показывают результаты операций для этого сочетания. Чтобы проверить результат, сначала примените правило НЕ, И или ИЛИ к значениям в первых двух столбцах. По таблице легко увидеть, что И требует двух истинных значений, а ИЛИ допускает хотя бы одно истинное.
Нужно найти значение конъюнкции для всех сочетаний A и B. Так как переменных две, возможны четыре набора. Перечислим их все, чтобы не пропустить случай, в котором выражение меняет результат.
В первых трёх строках хотя бы одно высказывание ложно, поэтому всё выражение ложно. В последней строке оба высказывания истинны, и только тогда конъюнкция истинна. Ответ: столбец A И B равен «ложь, ложь, ложь, истина» для указанного порядка наборов.
В этом выражении участвуют две переменные, поэтому снова нужны четыре набора. Сначала вычислим НЕ A, а затем объединим его значение с B операцией ИЛИ. Такой порядок позволяет отдельно проверить действие отрицания и не перепутать его с отрицанием всего выражения.
В первой строке НЕ A истинно, поэтому дизъюнкция истинна, хотя B ложно. Во второй строке истинны обе части дизъюнкции, в третьей обе части ложны, а в четвёртой истинно B. Ответ: выражение ложно только при A = истина и B = ложь.
Нужно выяснить, при каких наборах значений трёх переменных итоговое выражение истинно. Здесь скобки задают первую часть, A ИЛИ B, а отрицание относится к C. Затем результаты этих двух частей соединяются операцией И. Для трёх переменных требуется 2³ = 8 строк.
Часть A ИЛИ B истинна, если хотя бы одно из A и B истинно, а НЕ C истинно только при ложном C. Поэтому итоговое выражение истинно при наборах ЛИЛ, ИЛЛ, ИИЛ и ИИЛ? Строку ИИЛ учитывать нужно один раз: полная проверка даёт ЛИЛ, ИЛЛ, ИИЛ, а также ИЛ? Чтобы не ошибиться, сверим все строки: ЛЛЛ — ложь; ЛЛИ — ложь; ЛИЛ — истина; ЛИИ — ложь; ИЛЛ — истина; ИЛИ — ложь; ИИЛ — истина; ИИИ — ложь. Ответ: выражение истинно для ЛИЛ, ИЛЛ и ИИЛ.
Ошибка: считать, что A ИЛИ B истинно ровно при одном истинном высказывании. Её допускают, потому что в обычной речи «или» иногда предлагают понимать как выбор только одного варианта. В логике достаточно хотя бы одного истинного значения, и вариант, где истинны оба высказывания, тоже даёт истину. Проверь себя по строке A = истина, B = истина: A ИЛИ B там истинно.
Ошибка: считать A И B истинным, если истинна хотя бы одна часть. Так можно перепутать правило И с правилом ИЛИ, поскольку обе операции соединяют высказывания. Для И должны быть истинны сразу оба; проверь строки, где только одно значение истинно: результат конъюнкции в них ложен. Если истинны только A или только B, условие «A и B» выполнено не полностью.
Ошибка: отрицать не ту часть выражения. Она возникает, когда при чтении записи не учитывают скобки и принимают НЕ A И B за НЕ (A И B). В первом случае отрицается только A, во втором — целое выражение в скобках. Чтобы проверить себя, сначала обведи или выпиши часть, к которой относится отрицание, а затем вычисляй её отдельно.
Ошибка: пропускать сочетания значений переменных при заполнении таблицы. Некоторые наборы кажутся похожими, поэтому их легко случайно не записать. Для n переменных должно быть ровно 2ⁿ строк: например, для A, B и C — восемь. Проверь число строк и проследи, чтобы каждая переменная в таблице принимала оба значения во всех нужных сочетаниях.
Для работы с логическими выражениями нужно уметь отличать высказывания от вопросов и мнений. Только высказыванию можно присвоить значение «истина» или «ложь», поэтому вопрос нельзя сразу подставить вместо A. Логические операции и таблицы истинности также связаны с программированием: условие в программе проверяется, а результат определяет, какая ветвь действий будет выполнена. Таблица помогает заранее проверить поведение такого условия при разных значениях.
Чем логическое выражение отличается от обычного высказывания?
Обычное высказывание сообщает что-то, чему можно приписать значение «истина» или «ложь». Логическое выражение может быть таким высказыванием, а может состоять из нескольких высказываний, соединённых операциями И, ИЛИ и НЕ.
Когда выражение A И B истинно?
Только тогда, когда истинны и A, и B. Если хотя бы одно из них ложно, всё выражение A И B ложно.
Означает ли A ИЛИ B, что истинно только одно из двух высказываний?
Нет. В логике выражение A ИЛИ B истинно, если истинно хотя бы одно высказывание, в том числе если истинны оба. Оно ложно только тогда, когда ложны и A, и B.
Как правильно построить таблицу истинности?
Сначала перечисли все возможные сочетания значений переменных: для n переменных их будет 2ⁿ. Затем вычисляй части выражения в нужном порядке, записывая промежуточные результаты в отдельные столбцы, и получи итог для каждой строки.
Зачем нужны скобки в логическом выражении?
Скобки показывают, какую часть выражения нужно вычислить первой. Без них можно неверно определить область действия операции или порядок действий.
§ 6. Знакомство с математической логикой: продолжение