Изобразить на экране окружность и ее радиус; при нажатии на клавишу «Enter» радиус должен вращаться по часово - Free Pascal

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

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

Изобразить на экране окружность и ее радиус; при нажатии на клавишу «Enter» радиус должен вращаться по часовой стрелке.

Решение задачи: «Изобразить на экране окружность и ее радиус; при нажатии на клавишу «Enter» радиус должен вращаться по часово»

textual
Листинг программы
  1. uses graph,wincrt;
  2. var x0,y0,r,x,y:integer;
  3.     u:real;
  4.     c:char;
  5. begin
  6. initgraph(x0,y0,'');
  7. x0:=getmaxX div 2;
  8. y0:=getmaxY div 2;
  9. r:=100;
  10. circle(x0,y0,r);
  11. line(x0,y0,x0,y0-r);
  12. c:=readkey;
  13. if c=#13 then
  14.  begin
  15.   u:=pi/2;
  16.   repeat
  17.   delay(50);
  18.   cleardevice;
  19.   u:=u-0.05;
  20.   x:=x0+round(r*cos(u));
  21.   y:=y0-round(r*sin(u));
  22.   circle(x0,y0,r);
  23.   line(x0,y0,x,y);
  24.   until keypressed;
  25.  end;
  26. end.

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

  1. Объявлены переменные: x0, y0, r, x, y, u, c.
  2. Инициализированы переменные: x0, y0, r.
  3. Нарисована окружность с помощью функции circle(x0,y0,r).
  4. Нарисована линия к точке на окружности с помощью функции line(x0,y0,x0,y0-r).
  5. Считывается нажатие клавиши с помощью функции readkey.
  6. Если нажата клавиша Enter (#13), то выполняется следующий код.
  7. Переменная u инициализируется значением pi/2.
  8. Входится в цикл repeat.
  9. Задержка в 50 миллисекунд с помощью функции delay(50).
  10. Очистка экрана с помощью функции cleardevice.
  11. Значение переменной u уменьшается на 0.05 с каждой итерацией цикла.
  12. Вычисляются координаты x и y на основе текущего значения переменной u.
  13. Рискуется окружность и линия с новыми координатами.
  14. Цикл повторяется до тех пор, пока не будет нажата клавиша.
  15. Код внутри цикла выполняется только если нажата клавиша Enter.

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


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

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

6   голосов , оценка 3.667 из 5

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

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

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