blob: b7ca5b55a46c9eec2d314d5b04371678286c8b88 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
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.
|