Построить график функции в полярной системе координат: p=a sin (4u/3) (восьми лепестковая роза) - Pascal ABC
Формулировка задачи:
Построить график функции в полярной системе координат: p=a sin (4u/3) (восьми лепестковая роза);
Решение задачи: «Построить график функции в полярной системе координат: p=a sin (4u/3) (восьми лепестковая роза)»
textual
Листинг программы
//p=a sin (4u/3) (восьми лепестковая роза); uses graphABC; var x0,y0,d,r,i,x1,y1:integer; u,p,a:real; s:string; begin x0:=windowwidth div 2; //центр y0:=windowheight div 2; a:=10; //КООРДИНАТНАЯ СЕТКА d:=round((y0-30)/a);//шаг по оси радиуса в пикселях r:=round(a*d);//максимальный радиус setbrushstyle(bsClear); for i:=0 to trunc(a) do //if i mod 2=0 then begin circle(x0,y0,i*d);//рисуем окружности //пишем шкалу str(i,s); textout(x0+i*d-15,y0+5,s); end; u:=pi/6;//шаг по кругу=30 град for i:=1 to 12 do//делим на 12 частей begin //рисуем радиусы пунктиром setpenstyle(psDash); x1:=x0+round(r*cos(i*u)); y1:=y0-round(r*sin(i*u)); line(x0,y0,x1,y1); //пишем подписи str(i*30,s); case i of 1..2:textout(x1+5,y1-10,s+#176); 3:textout(x1-5,y1-15,s+#176); 4,5:textout(x1-20,y1-10,s+#176); 6:textout(x1-25,y1-5,s+#176); 7,8:textout(x1-20,y1,s+#176); 9:textout(x1-10,y1+5,s+#176); 10,11:textout(x1+5,y1,s+#176); end; end; //рисуем осевые линии сплошной линией setpenstyle(psSolid); line(x0-r,y0,x0+r,y0); line(x0,30,x0,windowheight-30); //ГРАФИК u:=0; setpenwidth(2); setpencolor(clBlue); while u<6*pi do begin p:=a*sin(4*u/3); setpixel(x0+round(d*p*cos(u)),y0-round(d*p*sin(u)),clBlue); u:=u+0.001; end; setfontcolor(clBlue); setfontsize(12); setfontstyle(fsBold); textout(x0+150,30,'p=a*sin(4u/3)'); str(a:0:0,s); textout(x0+180,50,'a='+s) end.
Объяснение кода листинга программы
- Создается переменная
a
со значением 10. - Вычисляется значение
s
как строка, содержащая значение переменнойa
. - Создаются переменные
x0
,y0
,d
,r
,i
,x1
,y1
типаinteger
. - Устанавливается центр графика, задавая значения переменным
x0
иy0
. - Задается шаг по оси радиуса
d
путем деления половины высоты окна на значение переменнойa
. - Вычисляется максимальный радиус
r
путем умножения значенияd
наa
. - Устанавливается стиль рисования с помощью функции
setbrushstyle
. - Вычисляется значение
u
как половина отpi
для начала цикла. - Задаются значения переменных
x1
иy1
как координаты центра окружности для первого сегмента. - Задается стиль линии для первого сегмента с помощью функции
setpenstyle
. - Вычисляется значение
i
как номер сегмента от 1 до 12. - Выводится значение
i
и номер сегмента с помощью функцииtextout
. - Значение
u
увеличивается на 0.001 для продолжения цикла. - Выводится текст
p=a*sin(4u/3)
с помощью функцииtextout
. - Выводится значение
a
с помощью функцииstr
. - Выводится текст
a=
с помощью функцииtextout
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д