ВУЗ:
Составители:
Рисунок 1. К задаче определения площади
В нашем примере граница фигуры определяется уравнениями:
0;
0sin().
x
y
x
π
=
⎧
⎨
=
⎩
K
K
Неизвестная пока нам площадь этой фигуры составляет часть прямоугольника
площадью 1S
π
π
=× = .
Алгоритм решения задачи:
1. Генерируем случайное число
1
x
в диапазоне от 0 до
π
, а также случайное
число
1
y в диапазоне от 0 до 1. Получаем случайную точку внутри прямоугольника
с координатами
()
11
,
x
y . Эта точка может попасть в исследуемую фигуру, а может
и не попасть.
2. Проверяем принадлежность точки
(
)
11
,
x
y
к исследуемой фигуре. Если
попадания нет, т.е.
(
)
11
sinyx> , то переходим к пункту 1 и генерируем координаты
новой точки
()
22
,
x
y .
Если попадание есть, т.е.
(
)
11
sinyx<
, то необходимо зафиксировать, запомнить
это попадание и снова перейти к пункту 1. В итоге мы должны считать число
попаданий.
Примечание: попадание точки точно на границу фигуры
(
)
11
sinyx= можно
отнести как к первому, так и ко второму исходу — это воля экспериментатора или
автора программы.
3. Предыдущие пункты следует повторить достаточно большое число раз. От
этого, в конечном итоге, зависит точность вычислений. Для нашей задачи это
число
N может быть от 1000 до 3000 раз.
4. После проведения N повторов имеем несложную пропорцию: общее число
опытов соответствует всей площади прямоугольника, равной
π
, а число попаданий
P
будет соответствовать неизвестной площади S исследуемой фигуры. Отсюда
P
S
N
π
=
×
.
Блок-схема алгоритма приведена на рисунке 2.