diff options
Diffstat (limited to 'Занимательное программирование/1/7_pi/project1.lpr')
| -rw-r--r-- | Занимательное программирование/1/7_pi/project1.lpr | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Занимательное программирование/1/7_pi/project1.lpr b/Занимательное программирование/1/7_pi/project1.lpr new file mode 100644 index 0000000..b7ca5b5 --- /dev/null +++ b/Занимательное программирование/1/7_pi/project1.lpr @@ -0,0 +1,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. + |
