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