Движение точки по контуру воображаемого треугольника - QBasic

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

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

Сформировать точку, движущуюся по контуру воображаемого треугольника с заданным размерами и расположением.

Решение задачи: «Движение точки по контуру воображаемого треугольника»

textual
Листинг программы
CLS
SCREEN 11
 
x1 = 100
y1 = 200
x2 = 300
y2 = 400
x3 = 500
y3 = 100
 
x = x1
y = y1
dx = 1
dy = 1
 
k1 = (y2 - y1) / (x2 - x1)
k2 = (y3 - y2) / (x3 - x2)
k3 = (y1 - y3) / (x1 - x3)
 
PRINT "Press any key"
 
DO
   LINE (x1, y1)-(x2, y2)
   LINE (x2, y2)-(x3, y3)
   LINE (x3, y3)-(x1, y1)
  
   IF x < x2 AND s = 0 THEN
      x = x + dx
      y = y1 + k1 * (x - x1)
      CIRCLE (x, y), 3
 
      FOR i = 1 TO 10000: NEXT
 
      CIRCLE (x, y), 3, 0
   ELSEIF x < x3 AND s = 0 THEN
      x = x + dx
      y = y2 + k2 * (x - x2)
      CIRCLE (x, y), 3
 
      FOR i = 1 TO 10000: NEXT
 
      CIRCLE (x, y), 3, 0
      IF x3 - x < 1 THEN s = 1
   ELSEIF x > x1 THEN
      x = x - dx
      y = y3 + k3 * (x - x3)
      CIRCLE (x, y), 3
 
      FOR i = 1 TO 10000: NEXT
 
      CIRCLE (x, y), 3, 0
      IF x - x1 < 2 THEN s = 0
   END IF
 
LOOP UNTIL INKEY$ <> ""
END

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

  1. Объявлены переменные x1, y1, x2, y2, x3, y3 для координат вершин треугольника.
  2. Задаются начальные координаты x1,y1 для точки.
  3. Вычисляются коэффициенты наклона прямых, соединяющих вершины треугольника с координатами точек.
  4. Выводится сообщение Press any key и начинается цикл выполнения программы.
  5. В цикле последовательно соединяются линиями все вершины треугольника.
  6. Проверяется условие, при котором текущая точка находится между двумя вершинами и не достигла конечной точки.
  7. Если условие выполняется, то текущая точка перемещается к следующей вершине по прямой, задаются новые координаты для точки.
  8. Повторяется проверка условия для следующей вершины.
  9. Если условие не выполняется, то текущая точка перемещается к предыдущей вершине по прямой, задаются новые координаты для точки.
  10. Повторяется проверка условия для предыдущей вершины.
  11. Если условие не выполняется, то текущая точка перемещается к следующей вершине по прямой, задаются новые координаты для точки.
  12. Повторяется проверка условия для следующей вершины.
  13. Если условие не выполняется, то текущая точка перемещается к предыдущей вершине по прямой, задаются новые координаты для точки.
  14. Повторяется проверка условия для предыдущей вершины.
  15. Если условие не выполняется, то текущая точка перемещается к следующей вершине по прямой, задаются новые координаты для точки.
  16. Повторяется проверка условия для следующей вершины.
  17. Если условие не выполняется, то текущая точка перемещается к предыдущей вершине по прямой, задаются новые координаты для точки.
  18. Повторяется проверка условия для предыдущей вершины.
  19. Если условие не выполняется, то текущая точка перемещается к следующей вершине по прямой, задаются новые координаты для точки.
  20. Повторяется проверка условия для следующей вершины.

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

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