Паскаль. лабораторную доделать. неуспеваю. код рабочий, надо описать значения переменных и по возможности описать сам алгоритм. описание переменных
• a, b –
• midx, midy -
• sum -
• g -
• t -
• x, y –
• m –
• i –
• n -
• s -
описание алгоритма
1.
код программы
uses crt, graphabc;
var a, b: real;
midx, midy: integer;
g: integer;
t: real;
x, y: real;
m: real;
i: integer;
n: integer;
s: string;
begin
hidecursor;
writeln('введите a');
readln(a);
writeln('введите b');
readln(b);
clearwindow;
setwindowtitle ('кривая');
setwindowsize(500,500);
midx : = windowwidth div 2;
midy : = windowheight div 2;
if b> a then
begin
m: =(midx-30)/(2*b);
n: =trunc(2*b)+1;
end
else
begin
m: =(midx-30)/(2*a);
n: =trunc(2*a)+1;
end;
for i: =1 to n do
begin
str(i,s);
textout(midx+round(i*m)+5,midy+10,s);
textout(midx-round(i*m)+5,midy+10,'-'+s);
textout(midx-20,midy+round(i*m),s);
textout(midx-20,midy-round(i*m),'-'+s);
line(midx+round(i*m),0,midx+round(i*m),2*midy);
line(midx-round(i*m),0,midx-round(i*m),2*midy);
line(0,midy+round(i*m),2*midx,midy+round(i*m));
line(0,midy-round(i*m),2*midx,midy-round(i*m));
end;
textout(midx+4,midy+10,'0');
setpenwidth(3);
line(0, midy, windowwidth, midy);
line(midx, 0, midx, windowheight);
setpencolor(clred);
for g : = 0 to 360 do
begin
t : = g * pi / 180;
x : = midx + m*b * sqr(cos(t)) + m*a * cos(t);
y : = midy + m*b * cos(t) * sin(t) + m*a * sin(t);
if g = 0 then moveto(round(x), round(y))
else lineto(round(x), round(y));
end;
end.