QBASICBOOK.ru: сайт про QB64

Опубликовано: 2018-06-11 08:00:00

Решение задач на принадлежность отрезку при помощи составных условий

Перед тех как начать решать подобные задачи, необходимо понять, что такое «простые» и «составные» условия.

В условных операторах и в операторах циклов в качестве условия можно использовать отношения равенства, неравенства, больше, меньше: A > 0; C <= 0 и так далее. Такие условия называют простыми.

Из  простых условий в Бейсике разрешается строить более сложные – составные. Для этих построений существуют определенные правила.

Прежде всего требуется, чтобы все отношения, которые используются при построении, заключались в скобки: (A = B + 1), (C >= 0), (S > T) и так далее.

Пусть А и В – некоторые условия. Рассмотрим связки, которыми они могут быть соединены:

При выполнении логических операций необходимо соблюдать следующий приоритет:

  1. NOT
  2. AND
  3. 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

Для справки хотелось бы сказать, что существуют ещё две логические операции:

Теперь можно рассмотреть задачи на принадлежность отрезку.

Задача №1. Определить, принадлежит ли число Х отрезку [3..7].

Рисунок 1 – Графическое изображение отрезка

Рисунок 1 – Графическое изображение отрезка

Напишем программу:


  1. INPUT "X: "; X
  2. IF (X < 3) OR (X > 7) THEN
  3.     PRINT "NE PRINADLEZHIT"
  4. ELSE
  5.     PRINT "PRINADLEZHIT"
  6. END IF

 Рисунок 2 – Решение задачи на принадлежность отрезку

Рисунок 2 – Решение задачи на принадлежность отрезку

Рисунок 3 – Результат выполнения первой задачи

Рисунок 3 – Результат выполнения первой задачи

Задача №2. Записать условия, которым удовлетворяют точки верхней полуплоскости системы координат:

Рисунок 4 – Условие второй задачи

Рисунок 4 – Условие второй задачи 

На графике видно, что заштрихованы все точки, координаты Y которых неотрицательны. Следовательно, ответ: Y >= 0.

Напишем программу:


  1. INPUT "X: "; X
  2. INPUT "Y: "; Y
  3. IF (Y >= 0) THEN
  4.     PRINT "PRINADLEZHIT"
  5. ELSE
  6.     PRINT "NE PRINADLEZHIT"
  7. END IF

Рисунок 5 – Решение второй задачи

Рисунок 5 – Решение второй задачи

Рисунок 6 – Результат выполнения второй задачи

Рисунок 6 – Результат выполнения второй задачи

Задача №3. Дано Х. Вычислить Y = Х ^ 3, при -1 <= X <= 1. Y = 7 в противном случае.

При вычислении Y нужно проверить переменную Х. Сложное неравенство разобьем на 2 простых (Х >= -1) и (X <= 1).

Рисунок 7 – Условие вычисления Y

Рисунок 7 – Условие вычисления Y

Эти два условия должны выполняться одновременно, то мы должны связать их связкой AND. Напишем программу:


  1. INPUT "X: "; X
  2. IF (X >= -1) AND (X <= 1) THEN Y = X ^ 3 ELSE Y = 7
  3. PRINT "Y: "; Y

Рисунок 8 – Решение третьей задачи

Рисунок 8 – Решение третьей задачи

Рисунок 9 – Результат выполнения третьей задачи

Рисунок 9 – Результат выполнения третьей задачи

Довольно простые задачи, не правда ли?

Задача №4. Для заданной координатами Х и У точки проверить принадлежит ли она квадрату на рисунке:

Рисунок 10 – Условие четвертой задачи

Рисунок 10 – Условие четвертой задачи

Напишем программу:


  1. INPUT "X: "; X
  2. INPUT "Y: "; Y
  3. IF (ABS(X) >= 2) AND (Y <= 4) AND (Y >= 0) THEN
  4.     PRINT "PRINADLEZHIT"
  5. ELSE
  6.     PRINT "NE PRINADLEZHIT"
  7. END IF

Рисунок 11 – Решение четвёртой задачи

Рисунок 11 – Решение четвёртой задачи

Рисунок 12 – Результат выполнения четвёртой задачи

Рисунок 12 – Результат выполнения четвёртой задачи

Задача №5. Вычислить значение выражения Y. Значение X ввести с клавиатуры.

Рисунок 13 – Условие пятой задачи

Рисунок 13 – Условие пятой задачи

Решение:


  1. INPUT "X="; X
  2. IF (X + 1 < 0) AND (X = 2) THEN
  3.     PRINT "PRI DANNOM ZNACHENII X FUNKTSIYA NE OPREDELENA"
  4. ELSE
  5.     Y = SQR(X + 1) / (X - 2)
  6.     PRINT "ZNACHENIYE FUNKTSII RAVNO "; Y
  7. END IF

Рисунок 14 – Решение пятой задачи

Рисунок 14 – Решение пятой задачи

Рисунок 15 – Результат выполнения пятой задачи

Рисунок 15 – Результат выполнения пятой задачи

Для примера я хочу привести сложную задачу на принадлежность.

Задача №6. Написать программу, в которой определяется принадлежность введенных координат точки, определенной области.

Рисунок 16 – Условие шестой задачи

Рисунок 16 – Условие шестой задачи

Напишем программу:


  1. INPUT "VVEDITE X: ", X
  2. INPUT "VVEDITE Y: ", Y
  3. 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
  4.     PRINT "TOCHKA VNUTRI OBLASTI"
  5. ELSE
  6.     PRINT "TOCKA VNE OBLASTI"
  7. END IF

Рисунок 17 – Решение шестой задачи

Рисунок 17 – Решение шестой задачи

Рисунок 18 – Результат выполнения шестой задачи

Рисунок 18 – Результат выполнения шестой задачи

Спасибо за прочтение этой статьи.

 

Прикрепленные файлы:

< Предыдущая статья
Досрочный выход из цикла EXIT...FOR
Следующая статья >
Оператор цикла DO...LOOP

Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.