Движение точки по контуру воображаемого треугольника - 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
Объяснение кода листинга программы
- Объявлены переменные x1, y1, x2, y2, x3, y3 для координат вершин треугольника.
- Задаются начальные координаты x1,y1 для точки.
- Вычисляются коэффициенты наклона прямых, соединяющих вершины треугольника с координатами точек.
- Выводится сообщение
Press any key
и начинается цикл выполнения программы. - В цикле последовательно соединяются линиями все вершины треугольника.
- Проверяется условие, при котором текущая точка находится между двумя вершинами и не достигла конечной точки.
- Если условие выполняется, то текущая точка перемещается к следующей вершине по прямой, задаются новые координаты для точки.
- Повторяется проверка условия для следующей вершины.
- Если условие не выполняется, то текущая точка перемещается к предыдущей вершине по прямой, задаются новые координаты для точки.
- Повторяется проверка условия для предыдущей вершины.
- Если условие не выполняется, то текущая точка перемещается к следующей вершине по прямой, задаются новые координаты для точки.
- Повторяется проверка условия для следующей вершины.
- Если условие не выполняется, то текущая точка перемещается к предыдущей вершине по прямой, задаются новые координаты для точки.
- Повторяется проверка условия для предыдущей вершины.
- Если условие не выполняется, то текущая точка перемещается к следующей вершине по прямой, задаются новые координаты для точки.
- Повторяется проверка условия для следующей вершины.
- Если условие не выполняется, то текущая точка перемещается к предыдущей вершине по прямой, задаются новые координаты для точки.
- Повторяется проверка условия для предыдущей вершины.
- Если условие не выполняется, то текущая точка перемещается к следующей вершине по прямой, задаются новые координаты для точки.
- Повторяется проверка условия для следующей вершины.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д