Сформировать движущуюся окружность - QBasic

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

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

Доброго времени суток! Помогите решить задачку... Сформировать движущуюся окружность радиуса r, центр которой перемещается попеременно с обоих направлениях вдоль наклонного отрезка с заданными границами. Заранее спасибо!

Решение задачи: «Сформировать движущуюся окружность»

textual
Листинг программы
  1. INPUT r
  2. INPUT a, b
  3. SCREEN 7, , 0, 1
  4.  
  5. x = a
  6. y = a
  7. sx = 8
  8. sy = 5
  9.  
  10. WHILE INKEY$ = ""
  11.         PCOPY 0, 1
  12.         CIRCLE (x, y), r, 0
  13.         PAINT (x, y), 0
  14.  
  15.         x = x + sx
  16.         y = y + sy
  17.  
  18.         CIRCLE (x, y), r, 15
  19.         PAINT (x, y), 15
  20.  
  21.         IF y > b OR y < a THEN sy = -sy: sx = -sx
  22.  
  23.         t = TIMER
  24.         WHILE t = TIMER
  25.         WEND
  26. WEND

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

  1. Ввод радиуса окружности с помощью команды INPUT r.
  2. Ввод координат центра окружности с помощью команды INPUT a, b.
  3. Установка начальных значений переменных x и y равными введенному значению переменной a.
  4. Установка начальных значений переменных sx и sy равными 8 и 5 соответственно.
  5. Запуск цикла WHILE INKEY$ = с помощью команды WHILE INKEY$ =.
  6. Внутри цикла:
    • Копирование текущего кадра экрана на буфер с помощью команды PCOPY 0, 1.
    • Рисование окружности с помощью команды CIRCLE (x, y), r, 0.
    • Рисование точки в центре окружности с помощью команды PAINT (x, y), 0.
    • Увеличение значения переменной x на sx и увеличение значения переменной y на sy.
    • Рисование окружности с новыми координатами центра с помощью команды CIRCLE (x, y), r, 15.
    • Рисование точки в центре окружности с помощью команды PAINT (x, y), 15.
    • Проверка, не выходят ли текущие координаты за пределы заданного диапазона (переменные a и b). Если выходят, то изменение значений переменных sx и sy на противоположные.
    • Запуск цикла WHILE t = TIMER с помощью команды WHILE t = TIMER.
  7. Цикл продолжается до тех пор, пока значение переменной t не изменится.
  8. Выход из цикла WHILE INKEY$ = `` с помощью команды WEND.
  9. Выход из цикла WHILE t = TIMER с помощью команды WEND.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

8   голосов , оценка 3.875 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы