Вычисление числа Пи методом монте-карло. В чем ошибка? - VB
Формулировка задачи:
Требуется создать программку для вычисления числа Пи методом монте-карло.
Суть заключается в следующем: генерируются 2 случайных числа А и В, равномерно распределенных в интервале (-1,1). Если выполняется условие А^2+B^2 <= 1, то точка с координатами (А,В) попадает внутрь круга радиусом 1 с центром в начале координат, если нет, то не попадает. Если при N испытаниях получится n попаданий в круг, то приближенно число Пи можно вычислить по формуле Pi = 4*n/N.
Была сделана вот такая программка:
Из формулу была убрана 4, с ней число Пи равно 15, ...
По идее если сделать N = 10000 (s = 10000), то число Пи будет равно 3,14...
В данном случае число Пи равно 3,664. В чем ошибка?
Решение задачи: «Вычисление числа Пи методом монте-карло. В чем ошибка?»
textual
Листинг программы
Dim n&, m&, s&, pi As Double Picture1.Scale (-1.5, 1.5)-(1.5, -1.5) Picture1.Cls s = Text1.Text m = 0: n = 0 pi = 0 Do Until m = s x = Rnd * 2 - 1 y = Rnd * 2 - 1 If (x ^ 2 + y ^ 2) <= 1 Then Picture1.PSet (x, y), vbRed n = n + 1 Else Picture1.PSet (x, y), vbBlue End If m = m + 1 Loop pi = 4 * n / m Text2.Text = pi
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д