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

0 голосов
57 просмотров

Помогите пожалуйста написать программу в бейсике для вычисления площади закрашенной части круга методом Монте Карло


image

Информатика (15 баллов) | 57 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Использование метода Монте-Карло для вычисления площадей - очень простая и понятная процедура.
Представим себе квадратный лоток размером 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


image
(150k баллов)