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