### Monte-Carlo var ('x y r n'); r = 1; inside = 0; points = [] n = 1000 ### Делаем выстрел в квадрат: for i in range(0,n): [x,y]=[random(),random()] points.append([x,y]) ### Если выстрел попал в круг увеличиваем счетчик на один if (y <= sqrt((r^2)-(x^2))): inside += 1 ### Численное значени pi найдем из соотношения Попадания в круг / Выстрелы в квадрат в целом = (pi*r^2)/(4*r^2) = pi()/4 piapprox = 4*(inside /n) estimate = "Произведено " estimate += str(n) estimate += " выстрелов, pi ~= " estimate += str(piapprox.n()) show(estimate) ### Графическое представление circle = [] for i in range(0,1000): x = i/1000 y = sqrt((r^2)-(i/1000)^2) circle.append([x,y]) graph = list_plot(points)+list_plot(circle,color='red',figsize=[5,4],plotjoined=true) show(graph)
(x, y, r, n)
Произведено 1000 выстрелов, pi ~= 3.16400000000000