Уважаемые любители программирования на Фортране! Предлагаю писать в данный топик тем, кто любит данный язык программирования и пишет на нем программы для студентов физико-математических специальностей. Очень надеюсь найти единомышленников. Свои работы буду выкладывать здесь.
С уважением, eiktyrnir.
Подсчет числа 
 методом Монте-Карло.Интересно, что метод Монте-Карло можно применять в самых разных приложениях физики, математики, информационных технологиях и других областях знаний. Одним из его существенных преимуществ является то, что при большом количестве статистических данных (или статистики) совпадение в вычисляемых значениях величин очень близко к их истинному значению.
Вот к примеру высиление числа 

 методом Монте-Карло представленное на языке Фортран (Visual Fortran 5.0 и выше). Задача ставится формально так:
Пусть имеется квадрат со стороной равной 

 и вписанный в него круг (диаметр круга равен 

). Случайным образом в квадрат вбрасывается несколько точек произвольным образом (по сути случайные точки в интервале 
![$[0;1]$ $[0;1]$](https://dxdy-03.korotkov.co.uk/f/2/1/a/21ad730ee7df0b97abd700cb0f8426e682.png)
 имеющие две координаты 

 и 

 например в декартовой системе координат). Требуется подсчитать число 

 для заданной статистики. Ограничимося к примеру статистикой 

. Решение задачи в приложенном аттаче (код программы на языке Фортран приводится ниже).
Аналитическое решение задачи подсчета числа Пи методом Монте-Карло. Пусть (рисунок ниже) дан квадрат стороной 

 (площадь квадрата 

) и пусть в него вписан круг диаметром конечно же 

 (площадь круга 

). И пусть в квадрат врасывается случайным образом 

 точек. И пусть мы можем посчитать какие точки попали именно в сам круг по всей длине окружности - пусть вся их совокупность будет пусть число 

, а совокупность точек которые все-таки попали в квадрат (в один их четырех его углов) пусть будет 

 (ну на самом деле 

). Тогда справедливо следующее утверждение: Площадь круга так относится к площади квадрата в данном случае как число точек попавших в данный круг к общему числу точек вброшенных в квадрат. Т.е.

Тогда 

, откуда 

Все осталось "вбросить" случайным образом 

 точек на отрезок 
![$[0;1]$ $[0;1]$](https://dxdy-03.korotkov.co.uk/f/2/1/a/21ad730ee7df0b97abd700cb0f8426e682.png)
 по оси 

 и 
![$[0;1]$ $[0;1]$](https://dxdy-03.korotkov.co.uk/f/2/1/a/21ad730ee7df0b97abd700cb0f8426e682.png)
 по оси 

 и подсчитать какие попали в круг и подсчитать.
Код:
            PROGRAM Pi
   real*8 P,x,y,N_in,N_out
   integer*4 i,d,N
   print*, 'Plesae wait ...'
   open(10,file='pi.txt')
   write(10,1)
   write(10,2)
!=============== Constants ===============!
   N=10000000   ! The number of points
!=========== The main programm ===========!
   do i=1,N
    call random_number (x)
    call random_number (y)
        if (((x-0.5)**2+(y-0.5)**2).le.0.25) then
       N_in=N_in+1
           else
       N_out=N_out+1
     end if
   end do
   P=(4*N_in)/N
   write(10,*) N, P
   print*, 'Pi=', P
!================ The end ================!   
1   format(3x, 'The resulting of calculation the number Pi:')
2   format(9x, 'N', 5x, 'Number Pi')
   close(10)
   END PROGRAM Pi
Вот какое значение числа 

 дает программа для данной статистики (данные образуются в файле 

)

Неплохой результат, если учесть, что число 

 - совпадение до 

-го знака включительно. Можете попробывать увеличить (или наоборот уменьшить) статистику (число 

) чтобы увидеть меру сходимоcти (или расходимости) метода Монте-Карло для подсчета числа 

.
