Цель урока: научиться использовать формулу нахождения числа pi методом Монте-Карло при построении компьютерной модели.
Построим базовый квадрат и круг в прямоугольной системе координат следующим образом.
Для вычисления площади круга будем использовать основную формулу метода Монте-Карло . В нашем случае .
Для вычисления значения числа Пи воспользуемся выведенной ранее формулой , которая для единичного круга получит вид . Оказалось, что для вычисления значения числа Пи достаточно вычислить площадь единичного круга.
Задания
Задание 1. Создайте в системе программирования PascalABC.NET программу для вычисления числа π методом Монте-Карло.
const n=1000;//общее количество точек
var k:integer;
p,x,y:real;
begin
k:=0;
for var i:=1 to n do
begin
x:=2*random;
y:=2*random;
if sqr(x-1)+sqr(y-1)<=1
then k:=k+1;
end;
p:=4*k/n;
writeln('pi= ',p);
end.
Используя программу, проведите серию опытов и заполните таблицу.
Количество точек | 100 | 500 | 1000 | 10000 | 100000 | 200000 | 500000 |
№ опыта | Число π | Число π | Число π | Число π | Число π | Число π | Число π |
1 | |||||||
2 | |||||||
Среднее значение |
Задание 2. Дополните программу, полученную в задании 1, командами, которые позволяют имитировать выполнение метода Монте-Карло. Цвет каждой точки должен быть задан случайным образом. Задайте единичный отрезок, равный 100 пикселям.
1. Создайте изображение квадрата и круга. Для этого в программе напишите команды:
rectangle(0,50,200,250);
circle(100,150,100);
2. Добавьте экранные координаты точки. Для этого:
- В разделе Var опишите переменные: x1, y1:integer;
- в программе напишите команды:
x1:=round(200*random);
y1:=round(200*random)+50;
3. Выводите точки с задержкой 5 мс:
sleep(5);
setpixel(x1,y1,RGB(random(256),random(256),random(256)));
Задание 3. Создайте в табличном процессоре MS Excel компьютерную модель для вычисления числа π методом Монте-Карло. Проведите серию опытов и заполните таблицу:
1.В ячейку А1 введите название: Вычисление числа Пи методом Монте-Карло.
2.В ячейки диапазона A3:D3 введите заголовки столбцов расчетной таблицы.
3.Ячейки диапазона А4:А1003 заполните числами от 1 до 1000.
4.В ячейку В4 введите формулу для вычисления случайного числа:
=2*СЛЧИС().
Скопируйте ее на диапазон ячеек В4:С1003.
5.В ячейку D4 введите формулу для проверки, попала ли точка внутрь круга:
=ЕСЛИ(((B4-1)^2+(C4-1)^2)<=1;1;0)
6.В ячейку Е4 введите формулу для подсчета количества точек, попавших в круг:
=СУММ(D4:D1003)
7.В ячейку F4 введите формулу для подсчета числа π:
=4*E4/1000.
Домашнее задание
§ 8 электронного пособия, ответить на вопросы
Форма отправки
Форма видна только зарегистрированным пользователям.