Использование метода Монте-Карло для вычисления площадей - очень простая и понятная процедура.
Представим себе квадратный лоток размером 1х1 (на рисунке он синий). Его площадь равна 1 ед². Отгородим в нем круговой сектор (показан красным). Будем кидать сверху в лоток маленькие камешки. Подсчитав отношение камешков, попавших в круговой сектор к общему количеству камешков, брошенных в лоток, мы найдем отношение площади этого сектора к общей площади лотка. Чем больше камешков - тем выше точность результата.
Ну а в программе брошенный "камешек" - случайное число - попадает в точку с координатами x и y, где x,y ∈ [0;1]
MS DOS QBasic 1.0
CLS
INPUT "n=", n
RANDOMIZE TIMER
k = 0
FOR i = 1 TO n
x = RND: y = RND
IF x ^ 2 + y ^ 2 <= 1 THEN k = k + 1<br>NEXT i
PRINT "S="; k / n
Примеры:
n=1000
S= .787
n=10000
S= .7798
n=1000000
S= .784993