Опубликовано: 2018-06-11 08:00:00
Решение задач на принадлежность отрезку при помощи составных условий
Перед тех как начать решать подобные задачи, необходимо понять, что такое «простые» и «составные» условия.
В условных операторах и в операторах циклов в качестве условия можно использовать отношения равенства, неравенства, больше, меньше: A > 0; C <= 0 и так далее. Такие условия называют простыми.
Из простых условий в Бейсике разрешается строить более сложные – составные. Для этих построений существуют определенные правила.
Прежде всего требуется, чтобы все отношения, которые используются при построении, заключались в скобки: (A = B + 1), (C >= 0), (S > T) и так далее.
Пусть А и В – некоторые условия. Рассмотрим связки, которыми они могут быть соединены:
- А AND B (чит. А и В) – это условие соблюдается тогда и только тогда, когда соблюдаются оба условия;
- A OR B (чит. А или В) – это условие соблюдается тогда и только тогда, когда соблюдается хотя бы одно из условий;
- NOT A (чит. не А) – это условие соблюдается тогда и только тогда, когда условие А не соблюдается.
При выполнении логических операций необходимо соблюдать следующий приоритет:
- NOT
- AND
- OR
Приведём таблицу истинности для условий И и ИЛИ:
Таблица 1 – Таблица истинности для AND и OR
A |
B |
A AND B |
A OR B |
0 0 1 1 |
0 1 0 1 |
0 0 0 1 |
0 1 1 1 |
Для справки хотелось бы сказать, что существуют ещё две логические операции:
- EQV – даёт верное значение только в том случае, если оба условия одинаковые (оба верные или оба нет).
- IMP – даёт неверное значение только в том случае, если первое условие неверное, а второе – верное.
Теперь можно рассмотреть задачи на принадлежность отрезку.
Задача №1. Определить, принадлежит ли число Х отрезку [3..7].
Рисунок 1 – Графическое изображение отрезка
Напишем программу:
- INPUT "X: "; X
- IF (X < 3) OR (X > 7) THEN
- PRINT "NE PRINADLEZHIT"
- ELSE
- PRINT "PRINADLEZHIT"
- END IF
Рисунок 2 – Решение задачи на принадлежность отрезку
Рисунок 3 – Результат выполнения первой задачи
Задача №2. Записать условия, которым удовлетворяют точки верхней полуплоскости системы координат:
Рисунок 4 – Условие второй задачи
На графике видно, что заштрихованы все точки, координаты Y которых неотрицательны. Следовательно, ответ: Y >= 0.
Напишем программу:
- INPUT "X: "; X
- INPUT "Y: "; Y
- IF (Y >= 0) THEN
- PRINT "PRINADLEZHIT"
- ELSE
- PRINT "NE PRINADLEZHIT"
- END IF
Рисунок 5 – Решение второй задачи
Рисунок 6 – Результат выполнения второй задачи
Задача №3. Дано Х. Вычислить Y = Х ^ 3, при -1 <= X <= 1. Y = 7 в противном случае.
При вычислении Y нужно проверить переменную Х. Сложное неравенство разобьем на 2 простых (Х >= -1) и (X <= 1).
Рисунок 7 – Условие вычисления Y
Эти два условия должны выполняться одновременно, то мы должны связать их связкой AND. Напишем программу:
- INPUT "X: "; X
- IF (X >= -1) AND (X <= 1) THEN Y = X ^ 3 ELSE Y = 7
- PRINT "Y: "; Y
Рисунок 8 – Решение третьей задачи
Рисунок 9 – Результат выполнения третьей задачи
Довольно простые задачи, не правда ли?
Задача №4. Для заданной координатами Х и У точки проверить принадлежит ли она квадрату на рисунке:
Рисунок 10 – Условие четвертой задачи
Напишем программу:
- INPUT "X: "; X
- INPUT "Y: "; Y
- IF (ABS(X) <= 2) AND (Y <= 4) AND (Y >= 0) THEN
- PRINT "PRINADLEZHIT"
- ELSE
- PRINT "NE PRINADLEZHIT"
- END IF
Рисунок 11 – Решение четвёртой задачи
Рисунок 12 – Результат выполнения четвёртой задачи
Задача №5. Вычислить значение выражения Y. Значение X ввести с клавиатуры.
Рисунок 13 – Условие пятой задачи
Решение:
- INPUT "X="; X
- IF (X + 1 < 0) OR (X = 2) THEN
- PRINT "PRI DANNOM ZNACHENII X FUNKTSIYA NE OPREDELENA"
- ELSE
- Y = SQR(X + 1) / (X - 2)
- PRINT "ZNACHENIYE FUNKTSII RAVNO "; Y
- END IF
Рисунок 14 – Решение пятой задачи
Рисунок 15 – Результат выполнения пятой задачи
Для примера я хочу привести сложную задачу на принадлежность.
Задача №6. Написать программу, в которой определяется принадлежность введенных координат точки, определенной области.
Рисунок 16 – Условие шестой задачи
Напишем программу:
- INPUT "VVEDITE X: ", X
- INPUT "VVEDITE Y: ", Y
- IF (X ^ 2 + Y ^ 2 <= 4 ^ 2) AND (Y <= X + 4) AND ((X - 6) ^ 2 + Y ^ 2 >= 5 ^ 2) OR (X >= 2) AND (X <= 9) AND (Y >= 0) AND (Y <= 6) AND ((X - 6) ^ 2 + Y ^ 2 >= 5 ^ 2) OR (X >= 9) AND ((X - 6) ^ 2 + Y ^ 2 <= 5 ^ 2) THEN
- PRINT "TOCHKA VNUTRI OBLASTI"
- ELSE
- PRINT "TOCKA VNE OBLASTI"
- END IF
Рисунок 17 – Решение шестой задачи
Рисунок 18 – Результат выполнения шестой задачи
Спасибо за прочтение этой статьи.