next up previous contents
Next: グラフィック Up: GOSUB 関数副プログラムを用いる Previous: Sample Program 10   Contents

Problem 7

円の面積Sは$r$を半径として$S=\pi r^2$で表される。$x$$y$をそれぞれ横軸、縦軸として、第一象限($x>=0$, $y>=0$)に現れる円の面積は、当然この4分の1、$\pi r^2/4$である。今$x$$y$という[0 1]までの乱数を無数に発生させると、半径$r=1$の円の内側にこの($x,y$)座標が入る確率は、原点が一つの角と接する一辺の長さ1の正方形の面積で4分の1円で割ったものに等しい。従って、円の内側に入った乱数座標の個数/全ての乱数の個数=0.25S/正方形の面積。即ち、
$\displaystyle \frac{0.25 \times A}{B}=\frac{\frac{1}{4}\pi r^2}{r^2}=\frac{N}{M}$     (1)
$\displaystyle \pi = 4 \times \frac{N}{M}$      

である。ここで、Aは円の面積、Bは正方形の面積です。Nは4分の1円に入った乱数の数、Mは全乱数の数です。この関係を模式図で表すと以下の通りである(図の参照 10.2)。この関係と、$x,y$座標を表す乱数を1000個程度用いて、piを求めるプログラムを作成せよ。算出されたpiを乱数の個数を幾つか変えてその変化について述べよ。ただし、円周上の座標は$x^2+y^2=1$であり、ここで、$x$$y$は乱数で表そうとする座標である。作成するプログラムでは、必ず$x^2+y^2$を算出する副プログラムとgosubを用いること。たとえば、$x^2+y^2>1$なら、この乱数で示される点は、円の外にあることになる。 提出はここからログインして行って下さい。
Figure 3: 乱数の示す座標と円、正方形の関係の模式図。
\begin{figure}\epsfig{file=pipi.eps, width=13cm}
\end{figure}



Takeyoshi Nagai 2017-01-23