aboutsummaryrefslogtreecommitdiff
path: root/Занимательное программирование/1/7_pi/project1.lpr
diff options
context:
space:
mode:
Diffstat (limited to 'Занимательное программирование/1/7_pi/project1.lpr')
-rw-r--r--Занимательное программирование/1/7_pi/project1.lpr39
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.
+