Сформировать точку, движущуюся по отрезку в обоих направлениях - QBasic
Формулировка задачи:
Сформировать точку, движущуюся по отрезку в обоих направлениях. Координаты начала и конца отрезка задаются с клавиатуры.
Решение задачи: «Сформировать точку, движущуюся по отрезку в обоих направлениях»
textual
Листинг программы
CLS INPUT "Vvedite X1: ", x1 INPUT "Vvedite Y1: ", y1 INPUT "Vvedite X2: ", x2 INPUT "Vvedite Y2: ", y2 Dln = SQR((x2 - x1) ^ 2 + (y2 - y1) ^ 2) IF Dln = 0 THEN END Act = 1: Viz = 0: Stp = 1 / Dln SCREEN 7, , Act, Viz DO: t = TIMER: WHILE t > TIMER: WEND CLS 1 p = p + Stp IF p > 1 THEN p = 2 - p: Stp = -Stp IF p < 0 THEN p = -p: Stp = -Stp LINE (x1, y1)-(x2, y2), 8 PSET (x1 * p + x2 * (1 - p), y1 * p + y2 * (1 - p)), 15 SWAP Act, Viz ' Флип SCREEN , , Act SCREEN , , Act, Viz WAIT &H3DA, 8 LOOP WHILE INKEY$ = ""
Объяснение кода листинга программы
- В первой части кода пользователю предлагается ввести координаты двух точек.
- Затем вычисляется длина отрезка между этими точками (Dln). Если точки совпадают, то выводится сообщение об ошибке и происходит выход из программы.
- Инициализируются переменные Act, Viz и Stp. Act и Viz используются для обмена значениями, а Stp — для установки шага.
- Выводится сообщение с номером точки (Act) и визуальное представление точки (Viz).
- Запускается основной цикл, который выполняется до тех пор, пока не будет нажата клавиша.
- В начале каждого кадра цикла выполняется очистка экрана и обновление текущего положения визуальной точки.
- Переменная p используется для вычисления нового положения визуальной точки и обновляется каждый кадр.
- Вычисляется новое положение визуальной точки путем линейной интерполяции между двумя точками.
- Линия между двумя точками рисуется с помощью функции LINE.
- Функция PSET используется для рисования визуальной точки в новом положении.
- Значения переменных Act и Viz меняются местами, чтобы показать, что точка движется.
- Выводится сообщение с номером точки (Act).
- Выводится сообщение с визуальным представлением точки (Viz).
- Программа ожидает нажатия клавиши.
- Если клавиша не нажата, программа продолжает работу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д