Нарисовать эллипс вписанный в ромб; a,b-полуоси внутреннего эллипса; n-количество описанных около эллипсов ромбов- Pascal(Паскаль)

uses graph;
var a,b,xc,yc,d1,d2,n,i:integer;
    s,c:real;
begin
a:=0;
initgraph(a,b,'');
xc:=getmaxX div 2;
yc:=getmaxY div 2;
a:=40;
b:=20;
n:=5;
c:=sqrt(a*a+b*b);
s:=b/c;
for i:=1 to n do
 begin
 setcolor(10);
 ellipse(xc,yc,0,360,a,b);
 d1:=a+round(a*s);
 d2:=b+round(b*s);
 setcolor(12);
 line(xc-d1,yc,xc,yc-d2);
 line(xc,yc-d2,xc+d1,yc);
 line(xc+d1,yc,xc,yc+d2);
 line(xc,yc+d2,xc-d1,yc);
 a:=d1;
 b:=d2;
 end;
readln
end.

Leave a Comment

− 5 = 5