Как определить принадлежность введенных координат точки, определенной области - QBasic

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Как определить принадлежность введенных координат точки, определенной области»

textual
Листинг программы
SCREEN 12    ' 640x480x4Bit VGA
 
Scaler = 10  ' Масштаб
 
DO: Kb$ = INKEY$
    '  Случ точка
  x = RND * 24 - 12
  y = RND * 24 - 12
 
    '  Области НЕ выделены
  f1 = 0: f2 = 0: f3 = 0: f4 = 0
    '  Левый круг (радиус 4)
  IF x * x + y * y <= 16 THEN f1 = -1
    '  Трапеция
  IF (y < 6 AND y > 0) AND (x + 4 > y) AND x < 9 THEN f2 = -1
    '  Парвый круг (радиус 5)
  IF (x - 6) * (x - 6) + y * y <= 25 THEN f3 = -1
    '  Общая область(логич функция)
  IF (f1 OR f2) AND (NOT f3) OR (f3 AND x > 9) THEN f4 = -1
 
   ' Проверяем
   cv = 8
   IF f4 THEN cv = 15
   PSET (320 + x * Scaler, 240 - y * Scaler), cv
 
LOOP UNTIL Kb$ <> ""

Объяснение кода листинга программы

  1. Объявлены переменные:
    • Scaler (масштаб)
    • Kb$ (используется для проверки нажатий клавиш)
    • x (координата X точки)
    • y (координата Y точки)
    • f1 (флаг для левого круга)
    • f2 (флаг для трапеции)
    • f3 (флаг для правого круга)
    • f4 (флаг для общей области)
    • cv (значение, которое будет использоваться для вывода точки)
  2. Задаются начальные значения переменных:
    • Scaler = 10
    • f1 = 0
    • f2 = 0
    • f3 = 0
    • f4 = 0
  3. С помощью функции RND генерируются случайные координаты точки:
    • x = RND * 24 - 12
    • y = RND * 24 - 12
  4. Проверяются условия для определения принадлежности точки к определенным областям:
    • Левый круг (радиус 4): если xx + yy <= 16, то f1 = -1
    • Трапеция: если (y < 6 AND y > 0) AND (x + 4 > y) AND x < 9, то f2 = -1
    • Правый круг (радиус 5): если (x - 6) (x - 6) + y y <= 25, то f3 = -1
    • Общая область: если (f1 OR f2) AND (NOT f3) OR (f3 AND x > 9), то f4 = -1
  5. Проверяется условие для определения значения переменной cv:
    • Если f4 = -1, то cv = 15 (точка будет выводиться)
    • Если f4 = 0, то cv = 8 (точка будет выводиться)
  6. С помощью функции PSET выводится точка на экран по заданным координатам и с заданным значением cv.
  7. Цикл LOOP UNTIL Kb$ <> `` обеспечивает повторение процесса, пока не будет нажата клавиша.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы