program project1; uses Crt, Math, SysUtils; var N, NO: Integer; x, y: Integer; Sum: Real; IsRunning: Boolean; const R: Integer = 20000; { Радиус круга } begin IsRunning := true; N := 0; NO := 0; Sum := 0; Randomize; ClrScr; while IsRunning do begin Inc(N); { Количество экспериментов } x := RandomRange(-R, R); { Определяем случайную точку } y := RandomRange(-R, R); if Sqrt(x * x + y * y) <= R then NO := NO + 1; { Если она лежит в круге } Sum := Sum + 4 * NO / N; GotoXY(1, 1); WriteLn('Количество точек: ', IntToStr(N)); WriteLn('Текущее значение PI: ', FloatToStr(4 * NO / N)); WriteLn('Среднее значение PI: ', FloatToStr(Sum / N)); if KeyPressed and (ReadKey = ^C) then IsRunning := false; end; end.