Uses Graph,CRT,MytPU; Const v0 = 10; {Начальная скорость} al = 3.14*270/180; {Начальный угол} up = 0.8; {Упругость шара} BallSize = 7; Var x,y,vx,vy : real; t : longint; Procedure WriteBall(x,y:real); Begin FillEllipse(Round(x),Round(470-Y),BallSize,BallSize); End; Procedure BallFly(v0,al0,x0,y0:real); Var x,y : real; Begin t := 1; repeat vx := v0*cos(al0); vy := v0*sin(al0); x := Vx*(t/100)+x0; Y := Vy*(t/100) - 5*sqr((t/100))+y0; WriteBall(x,y); Delay(10); inc(t); If y < 0 then begin if not Keypressed then BallFly(v0*up,abs(ArcTan(abs(Vy/Vx))),x,y); exit; end; Until (t = 2147483647) or (x > 640) or (KeyPressed); End; Begin InitVGA; Randomize; SetColor(Blue); SetFillStyle(SolidFill,Green); SetWriteMode(XORPut); BallFly(v0,al,320,240); ReadKey; CloseGraph; End.