Построить график функции в полярной системе координат: 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.

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

  1. Создается переменная a со значением 10.
  2. Вычисляется значение s как строка, содержащая значение переменной a.
  3. Создаются переменные x0, y0, d, r, i, x1, y1 типа integer.
  4. Устанавливается центр графика, задавая значения переменным x0 и y0.
  5. Задается шаг по оси радиуса d путем деления половины высоты окна на значение переменной a.
  6. Вычисляется максимальный радиус r путем умножения значения d на a.
  7. Устанавливается стиль рисования с помощью функции setbrushstyle.
  8. Вычисляется значение u как половина от pi для начала цикла.
  9. Задаются значения переменных x1 и y1 как координаты центра окружности для первого сегмента.
  10. Задается стиль линии для первого сегмента с помощью функции setpenstyle.
  11. Вычисляется значение i как номер сегмента от 1 до 12.
  12. Выводится значение i и номер сегмента с помощью функции textout.
  13. Значение u увеличивается на 0.001 для продолжения цикла.
  14. Выводится текст p=a*sin(4u/3) с помощью функции textout.
  15. Выводится значение a с помощью функции str.
  16. Выводится текст a= с помощью функции textout.

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


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

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

10   голосов , оценка 4.4 из 5
Похожие ответы