"Информатика (базовый и углублённый уровни) (в 2 частях)", Поляков К.Ю., Еремин Е.А.
Логические операции позволяют соединять высказывания и получать новые, например отрицать утверждение или проверять, выполняются ли сразу два условия. Каждому высказыванию приписывают значение «истина» или «ложь», обычно обозначая их числами 1 и 0. По правилам операций можно вычислить значение сложного выражения и представить все возможные результаты в таблице истинности. Это нужно для записи условий в алгоритмах и программах.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Логическое высказывание — это утверждение, которому можно приписать значение истины или лжи. Например, фраза «Число 8 чётное» истинна, а «Число 8 нечётное» ложна. Вопросы и команды не утверждают, что что-либо истинно, поэтому высказываниями не считаются. Это понятие нужно, чтобы точно задавать исходные данные для логических рассуждений.
Логическое отрицание — операция НЕ, которая меняет значение исходного высказывания на противоположное. Запись НЕ A означает, что высказывание A неверно: если A истинно, НЕ A ложно, и наоборот. Отрицание применяют, когда нужно выразить отсутствие или неверность условия. Оно относится ко всему высказыванию, а не обязательно к одному слову в его формулировке.
Конъюнкция — логическая операция И, соединяющая два высказывания. Выражение A И B истинно только при условии, что истинны и A, и B. Если хотя бы одно из них ложно, конъюнкция ложна. Это удобно для записи условия, при котором должны одновременно выполняться несколько требований.
Дизъюнкция — логическая операция ИЛИ, которая соединяет высказывания и истинна, когда истинно хотя бы одно из них. Поэтому A ИЛИ B истинно и в случае, когда истинны сразу оба высказывания. Если ложны и A, и B, дизъюнкция ложна. Операция нужна, когда для выполнения условия достаточно одного или нескольких вариантов.
Значения истинности удобно обозначать числами: 1 соответствует истине, а 0 — лжи. Это не обычные числовые вычисления, а короткая запись логических значений. Например, если A — истинное высказывание, то A = 1, а НЕ A = 0. Такое обозначение помогает применять единые правила к разным высказываниям и записывать результаты компактно.
Таблица истинности показывает, каким будет результат операции при каждом возможном наборе исходных значений. Сначала перечисляют все сочетания нулей и единиц, а затем для каждого набора вычисляют результат. Это необходимо, потому что один и тот же вид выражения может давать разные ответы при разных значениях переменных. Для двух переменных есть четыре набора, а для n переменных — 2ⁿ наборов.
Слова «и» и «или» в повседневной речи могут зависеть от ситуации, поэтому в логике их значения задают строго. Для И оба условия должны быть истинны одновременно. Логическое ИЛИ требует истинности хотя бы одного условия и не исключает, что истинны оба. Например, если говорят, что число делится на 2 или на 3, логическая формулировка допускает число, которое делится и на 2, и на 3.
В выражении с несколькими операциями результат зависит от порядка вычислений. Сначала выполняют действия в скобках, затем отрицание НЕ, после него конъюнкцию И и, наконец, дизъюнкцию ИЛИ. Поэтому скобки помогают явно указать, какие части нужно объединить первыми. Если пропустить их или не учесть приоритет, можно получить неправильное промежуточное значение и неверный итог.
Сложное высказывание переводят в логическое выражение, заменяя простые утверждения переменными, например A и B. Затем для каждой строки таблицы подставляют значения переменных и вычисляют выражение по частям. Промежуточные результаты удобно записывать в отдельных столбцах: так видно, на каком шаге применена каждая операция. Проверка всех наборов показывает, при каких условиях исходное сложное высказывание истинно.
| A | B | НЕ A | A И B | A ИЛИ B |
|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 |
Выберите строку с нужными значениями A и B, затем прочитайте результат в столбце соответствующей операции. Например, при A = 1 и B = 0 выражение A И B равно 0, а A ИЛИ B равно 1. Для отрицания достаточно посмотреть, какое значение имеет НЕ A.
Задача 1. Для высказывания A: «Число 8 чётное» определите значение выражения НЕ A. Нужно сначала установить истинность исходного утверждения, а уже потом применить отрицание. Правило НЕ не зависит от формулировки: оно всегда меняет значение на противоположное.
Ответ: НЕ A — ложное высказывание, его значение равно 0. Проверка проста: исходное утверждение верно, значит его отрицание должно быть неверным. При отрицании не требуется менять число или пересматривать само условие.
Задача 2. Даны A: «Число 12 делится на 3» и B: «Число 12 делится на 5». Определите значения A И B и A ИЛИ B. Сначала оценивают каждое утверждение отдельно, чтобы не смешивать проверку фактов с применением операций. Затем используют условия истинности конъюнкции и дизъюнкции.
Ответ: A И B = 0, а A ИЛИ B = 1. Это согласуется с условиями операций: оба утверждения не истинны, но одно из них истинно. Значения переменных полезно записать до вычисления выражений.
Задача 3. Постройте таблицу истинности выражения НЕ A ИЛИ (A И B) для всех значений A и B. Здесь важно не вычислять всё выражение одним шагом: скобки объединяют A и B, а НЕ применяется только к A. Для двух переменных следует рассмотреть четыре сочетания, иначе часть возможных случаев останется непроверенной.
| A | B | НЕ A | A И B | НЕ A ИЛИ (A И B) |
|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 1 | 1 |
Ответ: итоговые значения по строкам — 1, 1, 0, 1. Например, при A = 1 и B = 0 обе части дизъюнкции ложны, поэтому итог равен 0. Во всех остальных наборах хотя бы одна часть истинна.
Некоторые считают, что логическое ИЛИ истинно только тогда, когда истинно ровно одно высказывание. Такую трактовку подсказывает привычная речь, где «или» иногда означает выбор одного варианта. В логике достаточно истинности хотя бы одного высказывания, включая случай, когда истинны оба. Проверьте себя по строке таблицы A = 1 и B = 1: результат A ИЛИ B равен 1.
При отрицании иногда меняют одно слово в предложении и считают, что этого достаточно. Но НЕ меняет значение истинности всего высказывания, поэтому результат нужно проверить относительно исходного утверждения. Спросите себя, может ли исходное предложение и его отрицание одновременно быть истинными или одновременно ложными: для корректного отрицания это невозможно. Например, отрицание фразы «Все ученики пришли» — «Не все ученики пришли», а не обязательно «Все ученики не пришли».
Если при построении таблицы пропустить набор значений, результат окажется неполным. Это случается, когда выписывают только удобные или похожие строки и забывают проверить полный перебор. Для двух переменных всегда должно быть четыре сочетания: 00, 01, 10 и 11. Для самопроверки используйте правило 2ⁿ и убедитесь, что строк в таблице ровно столько.
Ещё одна ошибка — вычислять операции в порядке записи, не обращая внимания на скобки и приоритет. Тогда промежуточные значения могут относиться не к тем частям выражения, и итог изменится. Сначала отметьте скобки, затем вычислите НЕ, И и ИЛИ в нужном порядке. Проверьте расчёт, добавив столбец для каждого промежуточного выражения.
Для работы с логическими операциями нужно различать утверждения, которым можно приписать истину или ложь, и предложения, которые являются вопросами либо командами. Это умение помогает правильно выбирать исходные высказывания и не приписывать значения истинности неподходящим фразам. Логические операции затем применяют для записи условий в алгоритмах и программах. Такие условия позволяют программе выбирать действия в зависимости от того, выполнены ли требования.
Какие предложения считаются логическими высказываниями?
Логическое высказывание — это утверждение, которому можно однозначно приписать истину или ложь. Например, «Число 8 чётное» — высказывание. Вопросы, просьбы и команды высказываниями не являются.
Чем логическое ИЛИ отличается от привычного употребления слова «или»?
В логике A ИЛИ B истинно, если истинно хотя бы одно из высказываний. Это включает случай, когда истинны оба. В обычной речи «или» иногда подразумевает выбор только одного варианта, но логическая дизъюнкция такого ограничения не имеет.
Когда конъюнкция двух высказываний истинна?
Конъюнкция A И B истинна только тогда, когда истинны и A, и B. Если хотя бы одно высказывание ложно, всё выражение ложно.
Как определить число строк в таблице истинности?
Если в выражении n независимых переменных, число наборов их значений равно 2ⁿ. Поэтому для двух переменных таблица содержит четыре строки, а для трёх — восемь.
В каком порядке выполнять логические операции в выражении?
Сначала вычисляют выражения в скобках. Затем учитывают приоритет операций: отрицание НЕ выполняют раньше конъюнкции И, а конъюнкцию — раньше дизъюнкции ИЛИ. Скобки могут явно задать другой порядок группировки.
§ 19. Логические операции