program asd; uses Graph, crt; var grDriver: Integer; grMode: Integer; ErrCode: Integer; XC,YC:integer; i,r: integer; f:boolean; begin f:=false; grDriver := Detect; InitGraph(grDriver, grMode,'c:\bp\bgi\'); ErrCode := GraphResult; if ErrCode <> grOk then begin Writeln('Graphics error:', GraphErrorMsg(ErrCode)); halt; end; XC:=GetMaxX div 2; YC:=GetMaxY div 2; repeat for i:= 0 to 300 do begin r:= round(abs(170*cos(i*pi/100))); setcolor(random(16)); ellipse(xc, yc, 0, 360,170-r, 170); delay(1000); if keypressed then begin f:=true;break; end; Setcolor(black); Ellipse (xc,yc, 0, 360,170-r, 170); end; Until f; CloseGraph; end.