Program lapi;
Uses GraphABC;
var x,y,r:array[1..2] of Integer;
i,a:integer;
procedure lapa1 (x,y,r:integer);
begin
Circle (x,y,r);
Circle (x+20, y-10,r);
Circle (x+40,y,r);
Ellipse (x,y+60,x+40,y);
end;
procedure lapa2 (x,y,r:integer);
begin
Circle (x+70,y+20,r);
Circle (x+90,y+10,r);
Circle (x+110,y+20,r);
Ellipse (x+70,y+80,x+110,y+20);
end;
begin
x[1]:=50;
y[1]:=300;
r[1]:=8;
lapa1(x[1],y[1],r[1]);
sleep(100);
x[2]:=100;
y[2]:=400;
r[2]:=8;
sleep(100);
lapa2 (x[2],y[2],r[2]);
a:=abs(y[1]-y[2]);
If y[2] i:=2
else
i:=1;
While (y[1]>=0) or (y[2]>=0) do
begin
y[(i mod 2)+1]:=y[(i mod 2)+1]-2*a;
If (i mod 2)+1=1 then
lapa1(x[(i mod 2)+1],y[(i mod 2)+1],r[(i mod 2)+1])
else
lapa2(x[(i mod 2)+1],y[(i mod 2)+1],r[(i mod 2)+1]);
i:=i+1;
Sleep(100);
end;
end.