Вот мой вариант
procedure epicikl;Что надо изменить, подскажите плиз
Var
s:string;
a,b,x,i:integer;
t,x1,y1:real;
Begin
t:=0;
read(x);
read(a);
read(b);
cleardevice;
setcolor(red);
line(1,240,640,240);
line(320,1,320,480);
outtextxy(325,245,'0');
outtextxy(617,260,'X');
outtextxy(330,10,'Y');
line(630,245,640,240);
line(630,235,640,240);
line(315,5,320,0);
line(325,5,320,0);
setTextJustIfY(1,2);
setTextStyle(0,0,1);
for i:=1 to 320 div x do begin
line(320+i*x,230,320+i*x,250);
str(i,s);
outtextxy(322+i*x,251,s);
end;
for i:=1 to 320 div x do begin
line(320-i*x,230,320-i*x,250);
str(-i,s);
outtextxy(318-i*x,251,s);
end;
settextjustify(1,1);
for i:=1 to 240 div x do begin
line(310,240-i*x,330,240-i*x);
str(i,s);
outtextxy(305,240-i*x,s);
end;
for i:=1 to 240 div x do begin
line(310,240+i*x,330,240+i*x);
str(-i,s);
outtextxy(338,241+i*x,s);
end;
t:=0;
while t<=2*pi do begin
t:=t+pi/3500;
x1:=(a+b)*cos(t)-a*cos((a+b)*t/a);
y1:=(a+b)*sin(t)-a*sin((a+b)*t/a);
putpixel(320+round(x1*x/20),240+round(y1*x/20),7);
delay(50)
end;
readkey;
end;
Сообщение отредактировано: Client -