Сложные логические выражения в условиях
💻 Информатика · 9 класс
Сложные логические выражения
Логическое выражение — это условие, которое может быть истинным или ложным. В программах такие выражения управляют ветвлениями (командой «если») и циклами (командой «пока»). Когда одного простого условия мало, его собирают из нескольких частей с помощью логических операций «и», «или», «не». Эта тема связывает логику и программирование в курсе 9 класса.
Операции сравнения
Простые условия строят из операций сравнения: больше, меньше, равно, не равно, больше или равно, меньше или равно. Например, условие x > 0 истинно для положительных чисел и ложно для остальных. Результатом сравнения всегда бывает одно из двух значений: истина или ложь.
Логические связки
Чтобы объединить несколько условий в одно, используют связки:
- «и» (конъюнкция) — истинно, только когда истинны оба условия сразу;
- «или» (дизъюнкция) — истинно, когда истинно хотя бы одно из условий;
- «не» (отрицание) — меняет истину на ложь и наоборот.
Например, чтобы проверить, что число x попадает в отрезок от 1 до 10 включительно, пишут составное условие из двух частей, соединённых связкой «и»:
(x >= 1) и (x <= 10)
Это условие истинно, только если выполнены обе части одновременно. Поведение связок удобно описывать таблицей истинности.
A | B | A и B | A или B |
|---|---|---|---|
| истина | истина | истина | истина |
| истина | ложь | ложь | истина |
| ложь | истина | ложь | истина |
| ложь | ложь | ложь | ложь |
Упрощение и законы
Сложные условия можно упрощать, что делает программу яснее. Полезен закон де Моргана: отрицание выражения A и B равно не A или не B, а отрицание A или B равно не A и не B. Например, не (x > 0 и y > 0) равносильно x <= 0 или y <= 0. Это помогает переписывать условия удобнее и избегать лишних отрицаний.
Порядок выполнения операций
В составном выражении операции выполняются в определённом порядке: сначала сравнения, затем «не», затем «и», и в последнюю очередь «или». Чтобы не запутаться и явно задать порядок, части условия берут в круглые скобки. Например, выражение a или b и c понимается как a или (b и c), а если нужен другой порядок, скобки ставят сами: (a или b) и c. Скобки делают условие читаемым и защищают от ошибок.
Частые ошибки. Нельзя записывать двойное неравенство как 1 < x < 10 в виде одной операции — в большинстве языков программирования это работает неправильно. Нужно явно соединять две части связкой «и». Также не путайте «и» с «или»: для попадания в отрезок нужны оба условия сразу, а для попадания хотя бы в одну из двух областей достаточно одного.Кратко о главном
- Логическое выражение принимает значение истина или ложь.
- «И» требует выполнения обоих условий, «или» — хотя бы одного.
- «Не» меняет значение условия на противоположное.
- Поведение связок наглядно описывает таблица истинности.
- Закон де Моргана помогает переписывать отрицания составных условий.