Chislo_Pi.PAS

{* Вычисление числа пи методом Монте-Карло. *}

Unit CHISLO_PI;
Interface
Implementation
Begin
 writeln('Вычисление числа пи методом Монте-Карло.');
End.

Program Chislo_Pi;

Uses Chislo_Pi.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключаем внешние файлы *}
Var {* Объявление переменных *}
  n : longint;
  k : longint;
  i : longint;
  o : longint;
  l : longint;
  m : longint;
  p : double;
Begin
  clrscr; {* Очищаем экран *}
  n := 0;
  writeln('Сколько точек брать? Советую брать 10000');
  readln(n);
  m := n * n;
  For i := 1 To n Do {* Цикл для i => [1 .. n] *}
  Begin
    If i * n  Mod 10000000 = 0 Then
      writeln('[Просчитано ', i, ' точек из ', n, ']');
    l := sqr(i);
    For o := 1 To n Do {* Увеличиваем o от 1 до n с шагом 1 *}
    Begin
      If l + sqr(o) > m Then
        k := k + 1;
    End;
    
  End;
  p := sqr(n) - k;
  p := 4 * p / sqr(n);
  writeln('Число ПИ равно ', p);
  readln(p);
End.