program prou;
uses graph,crt;
var
i,j,r,dx,dy,err:integer;
x,y:word;
begin
i:=3;
j:=0;
initgraph(i,j,'');
err:=graphresult;
if err<>grok then
writeln(grapherrormsg(err));
begin
getaspectratio(x,y);
r:=5;
for i:=0 to 15 do
begin
setactivepage(i);
circle(300,100,100);
dx:=300+round(30*cos(i*2*pi/16)*y/x);
dy:=100-round(30*sin(i*2*pi/16));
fillellipse(dx,dy,r*round(y/x),r);
end;
while not keypressed=true do
for i:=0 to 15 do
begin
setvisualpage(i);
delay(50);
end;
closegraph
end
end.