Изобразить на экране окружность и ее радиус; при нажатии на клавишу «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.
Объяснение кода листинга программы
- Объявлены переменные: x0, y0, r, x, y, u, c.
- Инициализированы переменные: x0, y0, r.
- Нарисована окружность с помощью функции circle(x0,y0,r).
- Нарисована линия к точке на окружности с помощью функции line(x0,y0,x0,y0-r).
- Считывается нажатие клавиши с помощью функции readkey.
- Если нажата клавиша Enter (#13), то выполняется следующий код.
- Переменная u инициализируется значением pi/2.
- Входится в цикл repeat.
- Задержка в 50 миллисекунд с помощью функции delay(50).
- Очистка экрана с помощью функции cleardevice.
- Значение переменной u уменьшается на 0.05 с каждой итерацией цикла.
- Вычисляются координаты x и y на основе текущего значения переменной u.
- Рискуется окружность и линия с новыми координатами.
- Цикл повторяется до тех пор, пока не будет нажата клавиша.
- Код внутри цикла выполняется только если нажата клавиша Enter.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д