Движение точки по контуру воображаемого треугольника - 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
и начинается цикл выполнения программы. - В цикле последовательно соединяются линиями все вершины треугольника.
- Проверяется условие, при котором текущая точка находится между двумя вершинами и не достигла конечной точки.
- Если условие выполняется, то текущая точка перемещается к следующей вершине по прямой, задаются новые координаты для точки.
- Повторяется проверка условия для следующей вершины.
- Если условие не выполняется, то текущая точка перемещается к предыдущей вершине по прямой, задаются новые координаты для точки.
- Повторяется проверка условия для предыдущей вершины.
- Если условие не выполняется, то текущая точка перемещается к следующей вершине по прямой, задаются новые координаты для точки.
- Повторяется проверка условия для следующей вершины.
- Если условие не выполняется, то текущая точка перемещается к предыдущей вершине по прямой, задаются новые координаты для точки.
- Повторяется проверка условия для предыдущей вершины.
- Если условие не выполняется, то текущая точка перемещается к следующей вершине по прямой, задаются новые координаты для точки.
- Повторяется проверка условия для следующей вершины.
- Если условие не выполняется, то текущая точка перемещается к предыдущей вершине по прямой, задаются новые координаты для точки.
- Повторяется проверка условия для предыдущей вершины.
- Если условие не выполняется, то текущая точка перемещается к следующей вершине по прямой, задаются новые координаты для точки.
- Повторяется проверка условия для следующей вершины.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д