PROCEDURE ovale_neu;
VAR
i : integer;
y1,y2,oben,unten,sprung : real;
BEGIN
oben := 10;
unten := -5;
sprung := 1;
for i := 0 to 39 do
begin
y1 := random; {berechnet y1 nach oben}
if y1 <= 0.5 then y1 := -1*sprung;
if y1 > 0.5 then y1 := sprung;
oben := oben + y1;
if oben < 7 then oben := oben + 2*sprung;
y2 := random; {berechnet y2 nach unten}
if y2 <= 0.5 then y2 := -1*sprung;
if y2 > 0.5 then y2 := sprung;
unten := unten + y2;
if unten > (-2) then unten := unten - 2*sprung;
oval(i*10,unten,i*10+9,oben); {zeichnet oval}
oval(i*10+2,0,i*10+7,5); {zeichnet kreis}
end;
END;
RUN(ovale_neu);