"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В.М. Котов, А.И. Лапо, Е.Н. Войтехович
Составное условие объединяет несколько простых проверок и помогает алгоритму выбрать действие, только когда выполнены нужные требования. Например, можно проверить, что число больше нуля и при этом делится на два без остатка. Для объединения условий используют логические операции И, ИЛИ и НЕ. Главное — понимать, когда выражение становится истинным, и правильно задавать порядок проверок скобками.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Составное условие — условие, образованное объединением двух или нескольких простых условий с помощью логических операций. Например, сравнения x > 0 и x < 10 можно соединить, чтобы проверить, находится ли число между 0 и 10. Такая запись нужна, когда алгоритму требуется учесть сразу несколько требований.
Логическое И — операция, при которой составное условие истинно только тогда, когда истинны все входящие в него условия. Запись x > 0 И x < 10 требует, чтобы число было одновременно больше нуля и меньше десяти. И используют, когда ни одно из требований нельзя пропустить.
Логическое ИЛИ — операция, при которой составное условие истинно, если истинно хотя бы одно из входящих условий. В выражении x < 0 ИЛИ x > 10 достаточно, чтобы выполнилось одно сравнение; могут выполниться и оба. Эта операция нужна, когда для выбора действия подходят разные варианты.
Логическое НЕ — операция, изменяющая значение условия на противоположное: истинное делает ложным, а ложное — истинным. Например, НЕ (x > 0) означает, что x не больше нуля. Отрицание помогает описать противоположное требование, не меняя сам способ проверки.
Каждое простое сравнение даёт один из двух результатов: истину или ложь. Чтобы проверить несколько требований одним выражением, соединяют такие сравнения логической операцией. Например, запись x > 0 И x < 10 проверяет не каждое требование отдельно для выбора действия, а их общее выполнение. Поэтому составное условие подходит для алгоритма, которому нужно принять решение по нескольким признакам сразу.
У операции И результат зависит от каждой части, потому что слово «и» в условии означает одновременное выполнение требований. Если хотя бы одно сравнение ложно, всё выражение с И становится ложным. Например, для положительного чётного числа недостаточно быть только положительным или только чётным. А ИЛИ устроено иначе: оно допускает разные подходящие варианты, поэтому истинности хотя бы одного сравнения достаточно.
Значение выражения можно находить по таблице истинности — таблице всех возможных сочетаний значений простых условий и результата операции. Для двух условий A и B возможны четыре пары: оба истинны, первое истинно, второе ложно, и наоборот, либо оба ложны. В каждой строке применяют правило выбранной операции. Такой перебор помогает не гадать, а последовательно проверить результат даже у выражения из нескольких частей.
Скобки показывают, какие части выражения нужно объединить раньше, а значит, помогают сохранить задуманный смысл. В обычном порядке сначала выполняют НЕ, затем И, а после него ИЛИ. Например, A И B ИЛИ C без скобок означает (A И B) ИЛИ C. Если нужно, чтобы C объединялось с B до проверки через И, следует явно написать A И (B ИЛИ C).
В ветвлении алгоритм проверяет условие и выбирает действие в зависимости от результата: если условие истинно, выполняется одна ветвь, иначе — другая. Составное условие позволяет запускать действие только при сочетании требуемых признаков. Например, программа может проверить, что число положительное и чётное, прежде чем сообщить, что оно подходит. Благодаря таким проверкам не приходится создавать отдельное ветвление для каждого признака.
| Операция | Обозначение | Когда результат истинен | Пример |
|---|---|---|---|
| Логическое И | И | Истинны все части | A И B |
| Логическое ИЛИ | ИЛИ | Истинна хотя бы одна часть | A ИЛИ B |
| Логическое НЕ | НЕ | Исходное условие ложно | НЕ A |
| Таблица истинности для двух условий | A, B | И: истина только при И/И; ИЛИ: истина при И/И, И/Л или Л/И | A: И, И, Л, Л; B: И, Л, И, Л |
Сначала определите значения простых условий, а затем найдите строку с таким сочетанием в таблице истинности. Для НЕ достаточно посмотреть на значение одной части и заменить его противоположным. Если в выражении несколько операций, учитывайте их порядок и при необходимости расставьте скобки.
Нужно определить, является ли число x одновременно положительным и чётным. Положительность проверяет сравнение x > 0, а чётность — деление на 2 без остатка, которое записывают x mod 2 = 0. Поскольку должны выполниться оба требования, их соединяют операцией И.
Ответ: число подходит, только если оно больше нуля и делится на 2 без остатка. Например, для x = 6 обе проверки истинны, а для x = −4 условие ложно из-за отрицательного значения.
Теперь нужно выяснить, попадает ли x в один из промежутков x < 0 или x > 10. Здесь подходят два разных случая: число меньше нуля либо больше десяти. Значит, достаточно истинности одного сравнения, поэтому выбираем ИЛИ.
Ответ: условие истинно для чисел меньше нуля и для чисел больше десяти. Например, при x = −3 истинна первая часть, при x = 12 — вторая, а при x = 5 обе части ложны.
Скидку дают, если покупатель школьник и сумма покупки не меньше 50 рублей, либо если у него есть специальный купон. Обозначим школьника через S, достаточную сумму через M, а наличие купона через C. Скобки нужны, чтобы показать: оба требования S и M составляют один путь к скидке, а купон является другим.
Ответ: запись условия — (S И M) ИЛИ C. Например, школьник с покупкой на 60 рублей получает скидку, а покупатель с купоном — тоже, даже если он не школьник.
Первая ошибка — считать выражение с И истинным, когда истинна только одна часть. Так происходит, если И путают с ИЛИ и не проверяют требование одновременности. Для самопроверки спросите себя, должны ли выполниться все условия; если да, ложность любой части делает всё выражение ложным.
Вторая ошибка — использовать ИЛИ там, где должны выполняться оба требования. Иногда выбирают операцию по виду примера, не выясняя смысл слов «и» или «или» в задаче. Проверьте: достаточно ли одного подходящего случая или нужны оба признака сразу; во втором случае требуется И.
Третья ошибка — забыть НЕ или применить отрицание не к той части выражения. Это случается, когда границы отрицания неясны: НЕ A И B отличается от НЕ (A И B). Чтобы себя проверить, укажите, какое именно условие должно стать противоположным, поставьте скобки и отдельно измените его значение на противоположное.
Четвёртая ошибка — не учесть порядок операций и получить не тот результат. Обычно НЕ выполняется раньше И, а И — раньше ИЛИ; поэтому выражение без скобок может читаться не так, как задумано. Проверьте смысл каждой группы и добавьте скобки, если возможны разные прочтения.
Для работы с составными условиями нужны простые условия, операции сравнения и понимание логических значений «истина» и «ложь». Также важно знать, как записывают ветвление: результат проверки помогает алгоритму выбрать действие. Составные условия расширяют такую проверку, позволяя учитывать сразу несколько ограничений.
Они пригодятся при составлении алгоритмов с несколькими требованиями, во вложенных ветвлениях и при проверке диапазонов. Если решение зависит от сочетания признаков, логические операции позволяют выразить его одной проверкой. Скобки помогают сохранить задуманную связь между частями даже в более сложных алгоритмах.
Чем составное условие отличается от простого?
Простое условие содержит одну проверку, например x > 0. Составное объединяет две или несколько проверок логическими операциями.
Когда использовать И, а когда ИЛИ?
И используют, когда должны выполниться все требования одновременно. ИЛИ подходит, если достаточно выполнения хотя бы одного требования.
Что произойдёт со значением условия после применения НЕ?
НЕ меняет логическое значение на противоположное. Если условие было истинным, после отрицания оно станет ложным, и наоборот.
Обязательно ли ставить скобки в составном условии?
Не всегда: порядок операций может быть задан правилами языка программирования. Но скобки стоит ставить, если они помогают явно показать, какие части нужно объединить сначала.
Как проверить правильность результата составного условия?
Разберите выражение на простые условия и определите, истинно или ложно каждое из них. Затем примените правила И, ИЛИ и НЕ или проверьте все сочетания значений по таблице истинности.
12.2. Составные условия