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