График эпициклоиды - Pascal ABC
Формулировка задачи:
пожалуйста меня нужен программа в паскал абс эпициклоида помогите
Решение задачи: «График эпициклоиды»
textual
Листинг программы
uses graphABC; const a=10; b=21; var c,x,y:integer; f,m:real; begin setwindowsize(500,500); centerwindow; c:=250; m:=(c-20)/(2*a+b); f:=0; setpencolor(clRed); repeat x:=round(m*((b+a)*cos(f)-a*cos((b+a)*f/a))); y:=round(m*((b+a)*sin(f)-a*sin((b+a)*f/a))); if f=0 then moveto(c+x,c-y) else lineto(c+x,c-y); f:=f+0.1; until f>=b*pi; end.
Объяснение кода листинга программы
- Установка размера окна и его центровка с помощью функций
setwindowsize
иcenterwindow
. - Установка начального значения переменной
c
равным 250. - Вычисление значения переменной
m
как(c-20)/(2*a+b)
. - Установка начальной точки цикла
f
равной 0. - Установка цвета пера на красный с помощью функции
setpencolor(clRed)
. - Повторяющийся цикл от
f=0
доf>=b*pi
с шагом 0.1 с помощью циклаrepeat...until
. - Вычисление значений переменных
x
иy
какm*((b+a)*cos(f)-a*cos((b+a)*f/a))
иm*((b+a)*sin(f)-a*sin((b+a)*f/a))
соответственно. - Округление значений переменных
x
иy
с помощью функцииround
. - Перемещение пера к точке (c+x,c-y) при
f=0
и рисование линии между точками (c+x,c-y) и (c+x,c-y) приf>0
с помощью функцийmoveto
иlineto
. - Увеличение значения переменной
f
на 0.1 после каждой итерации цикла. - Цикл завершается, когда значение переменной
f
достигаетb*pi
. - Код не содержит обработки ошибок или исключений.
- Код не содержит комментариев или пояснений.
- Не указаны единицы измерения для переменных
a
,b
,c
,f
,m
,x
иy
. - Не указаны действия после завершения цикла.
- Не указаны действия при достижении переменной
f
значенияb*pi
. - Не указаны действия при нажатии клавиши во время выполнения программы.
- Не указаны действия при закрытии программы.
- Не указаны действия при изменении размера окна.
- Не указаны действия при изменению цветовой схемы или режима рисования.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д