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

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

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

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

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

textual
Листинг программы
uses graph,wincrt;
var x0,y0,r,x,y:integer;
    u:real;
    c:char;
begin
initgraph(x0,y0,'');
x0:=getmaxX div 2;
y0:=getmaxY div 2;
r:=100;
circle(x0,y0,r);
line(x0,y0,x0,y0-r);
c:=readkey;
if c=#13 then
 begin
  u:=pi/2;
  repeat
  delay(50);
  cleardevice;
  u:=u-0.05;
  x:=x0+round(r*cos(u));
  y:=y0-round(r*sin(u));
  circle(x0,y0,r);
  line(x0,y0,x,y);
  until keypressed;
 end;
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
Похожие ответы