"Информатика", Семакин И.Г., Залогова Л.А., Русаков С.В., Шестакова Л.В.
Условие выбора управляет ветвлением алгоритма: по его результату выбирается одна из возможных ветвей. Результатом любого логического выражения является истина или ложь. Простые условия можно объединять операциями И, ИЛИ и НЕ, чтобы проверять сразу несколько требований: например, принадлежит ли число заданному промежутку или выходит ли оно за его границы. Скобки помогают не ошибиться в порядке вычислений.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Условие выбора — логическое выражение, от значения которого зависит, какая ветвь алгоритма будет выполнена. Если условие истинно, выбирается первая ветвь, а если ложно — другая. Такое условие нужно, чтобы алгоритм мог реагировать на разные исходные данные.
Сложное логическое выражение — выражение, составленное из простых условий с помощью логических операций. Например, сравнения x ≥ 1 и x ≤ 10 можно объединить в одну проверку. Это позволяет описывать выбор, зависящий сразу от нескольких требований.
Конъюнкция — логическая операция «И». Её результат истинен только тогда, когда истинны оба соединённых условия. Операция нужна, когда должны одновременно выполняться все предъявленные требования.
Дизъюнкция — логическая операция «ИЛИ». Результат истинен, если истинно хотя бы одно из условий, а ложен только при ложности обоих. Её используют, когда подходит любой из нескольких вариантов.
В конструкции выбора сначала проверяется условие, а затем выполняется только одна из ветвей. При истинном результате алгоритм идёт по первой ветви, при ложном — по альтернативной. Такое устройство позволяет не выполнять неподходящие команды и выбирать действие по текущей ситуации.
Простое условие обычно сравнивает два значения: например, проверяет, больше ли число нуля. Сравнение не даёт нового числа, а возвращает одно из двух логических значений — истину или ложь. Поэтому результат можно непосредственно использовать для выбора ветви алгоритма.
Несколько простых условий объединяют, когда одной проверки недостаточно. Например, для принадлежности числа отрезку от 1 до 10 нужно одновременно убедиться, что x не меньше 1 и не больше 10. Поэтому применяют операцию И: (x ≥ 1) И (x ≤ 10).
Операция НЕ меняет значение условия на противоположное, потому что отрицает результат проверки. Если x > 0 истинно, то НЕ(x > 0) ложно; если исходная проверка ложна, отрицание истинно. Скобки показывают, какую именно часть выражения нужно изменить.
При вычислении сложного выражения учитывают скобки и приоритет логических операций. Сначала выполняются действия в скобках, затем операции с более высоким приоритетом, поэтому отсутствие скобок может изменить смысл условия. Если порядок может вызвать сомнение, скобки лучше поставить явно.
| Операция | Обозначение | Значение выражения |
|---|---|---|
| И (конъюнкция) | И | Истина, если оба условия истинны; иначе ложь |
| ИЛИ (дизъюнкция) | ИЛИ | Истина, если истинно хотя бы одно условие; иначе ложь |
| НЕ (инверсия) | НЕ | Истина, если исходное условие ложно; ложь, если оно истинно |
Чтобы воспользоваться таблицей, сначала определите значение каждого простого условия. Затем примените к ним нужную операцию и сравните получившуюся ситуацию с правилом в таблице.
Для операции И проверяют одновременную истинность двух условий, а для ИЛИ — наличие хотя бы одного истинного. Для НЕ достаточно знать значение одного исходного условия и заменить его на противоположное.
Определим, будет ли выполнена ветвь «иначе», если условие выбора x > 0 ложно. В конструкции выбора ветвь «иначе» предназначена именно для случая, когда основное условие не выполняется. Поэтому достаточно связать название ветви со значением условия.
Ответ: да, ветвь «иначе» будет выполнена. Она выбирается потому, что условие x > 0 ложно.
Проверим, принадлежит ли целое число x отрезку от 1 до 10 включительно. Границы включены, поэтому число должно удовлетворять сразу двум сравнениям: x ≥ 1 и x ≤ 10. Свяжем эти проверки операцией И.
Ответ: составное условие имеет вид (x ≥ 1) И (x ≤ 10). Например, для x = 7 оно истинно, а для x = 12 ложно.
Нужно проверить, подходит ли число x под условие «меньше 0 или больше 100», а затем записать его с использованием НЕ. Сначала соединяем исходные варианты операцией ИЛИ, потому что достаточно одного из них. Затем применяем правило отрицания: НЕ(A ИЛИ B) равносильно (НЕ A) И (НЕ B).
Ответ: исходное условие — (x < 0) ИЛИ (x > 100), а его отрицание — (x ≥ 0) И (x ≤ 100). Отрицательное условие проверяет, что число находится внутри отрезка от 0 до 100 включительно.
Используют И вместо ИЛИ, когда проверяют, что число меньше нижней границы или больше верхней. Эти два события обычно не могут произойти одновременно, поэтому выражение с И окажется ложным. Проверьте себя на числе −1 и на числе 101: хотя бы один вариант должен давать истину.
Считают, что выражение с ИЛИ истинно только при истинности обоих условий. На самом деле для него достаточно одного истинного условия, потому что выбирается любой подходящий вариант. Чтобы проверить правило, возьмите ситуацию, где первое условие истинно, а второе ложно.
Забывают, что НЕ меняет значение всего следующего условия, и неверно ставят скобки. Например, НЕ(x > 0) означает отрицание сравнения целиком, а не отдельного символа. Прочитайте выражение словами и спросите себя, какая именно проверка отрицается.
Не учитывают порядок выполнения логических операций и получают другой результат. Такая ошибка возникает, когда в одной записи смешаны И, ИЛИ и НЕ без скобок. При сомнении разделите выражение на части и расставьте скобки вокруг каждой смысловой проверки.
До изучения сложных условий нужно уметь сравнивать числа и понимать логические значения «истина» и «ложь». Без этого невозможно определить результат отдельной части выражения. Сравнения становятся строительными блоками составного условия.
Сложные условия применяются в алгоритмах с ветвлением и при проверке нескольких требований в программах. Они помогают выбирать действие для разных диапазонов чисел, вариантов ввода и сочетаний признаков. Поэтому операции И, ИЛИ и НЕ встречаются во многих программах с условиями.
Чем простое условие отличается от сложного логического выражения?
Простое условие содержит одну проверку, например x > 0. Сложное выражение объединяет несколько простых условий с помощью операций И, ИЛИ или НЕ.
Когда результат операции И будет истинным?
Операция И даёт истину только тогда, когда истинны оба её условия. Если хотя бы одно условие ложно, всё выражение ложно.
Достаточно ли одного истинного условия для операции ИЛИ?
Да, для операции ИЛИ достаточно, чтобы истинным было хотя бы одно условие. Ложным выражение становится только тогда, когда оба условия ложны.
Что происходит со значением условия при применении НЕ?
Операция НЕ меняет значение на противоположное: истина становится ложью, а ложь — истиной. Например, НЕ(x > 0) означает, что x не больше нуля.
Зачем ставить скобки в сложном условии?
Скобки задают порядок проверки частей выражения и делают его смысл понятнее. Они особенно нужны, когда в одном условии используются разные логические операции.
§ 15. Условия выбора и сложные логические выражения