PROCEDURE thelf;
VAR

a,i,t,tt: INTEGER;
n, g, gg, r, ru,u ,v : REAL;

{--------------------------------------------------------}
Procedure Loecher;

Begin

For t:=1 to 40 Do Begin
	n:=n+0.061;
	u:=u+20;
	v:=10;

	ArcByCenter(cos(n)*ru+u, sin(n)*ru+v, r, 0, 360);
	ArcByCenter(cos(n + 1.57079632679) * ru +u, sin(n + 1.57079632679) * ru +v,r,0,360);
	ArcByCenter(cos(n + 3.14159) * ru +u, sin(n + 3.14159) * ru +v,r,0,360);
	ArcByCenter(cos(n + 4.712388) * ru +u, sin(n + 4.712388) * ru +v,r,0,360);

		For tt:=1 to 3 Do Begin
			n:=n+0.061;
			v:=v+20;
	
			ArcByCenter(cos(n)*ru+u, sin(n)*ru+v, r, 0, 360);
			ArcByCenter(cos(n + 1.57079632679) * ru +u, sin(n + 1.57079632679) * ru +v,r,0,360);
			ArcByCenter(cos(n + 3.14159) * ru +u, sin(n + 3.14159) * ru +v,r,0,360);
			ArcByCenter(cos(n + 4.712388) * ru +u, sin(n + 4.712388) * ru +v,r,0,360);
		end;

end;

END;
{--------------------------------------------------------}

BEGIN

g:= 20;		{Grösse Viereck}
gg:=.3;		{für Kreis}
r:= .1;		{Radius Loch}
ru:= 8 ;	{Radius Unsichbar}
n:= -0.061;	{start Winkel}
u:= -10;

	FOR i:=0 TO 39 DO BEGIN
		rect(g*i,0,g*(i+1),g*1);
		OVAL(g*(i+gg),g*(0+gg),g*((i+1)-gg),g*(1-gg));
		FOR a:=1 TO 3 DO BEGIN
			rect(g*i,g*a,g*(i+1),g*(a+1));
			OVAL(g*(i+gg),g*(a+gg),g*((i+1)-gg),g*((a+1)-gg));
		
		END;

	END;

Loecher;

END;
RUN(thelf);