第3講 繰り返し処理をさせよう(For文を理解しよう)。 
第4話 円周率πを求めよう。

まだ、Visual Basic 基礎のはじめの方ですが、すでにこの段階で円周率πの計算ができます。
For文を使えば円周率πが結構な近似で求められるのです。
円周率πは半径1の円の面積に等しいので、半径の円の面積を求めればよいのです。
中心が原点で半径の1円の方程式は、です。の範囲内では
という式になります。これをの範囲で積分すれば1/4円の面積が求まります。
そして、それを4倍すれば円の面積すなわち円周率になるというわけです。
サンプルプログラムをダブルで開いて、Alt+F11でVisual Basicを開いてみてください。
プログラムは、次の単純なものです。
Private Sub CommandButton1_Click()
    Dim x, dx, s As Double
    dx = Cells(1, 12)
    s = 0
    For x = dx To 1 Step dx
        s = s + Sqr(1 - x * x) * dx
    Next
    Cells(3, 12) = 4 * s
End Sub
Sqr(1 - x * x)はに相当します。Sqr()は()内の数の平方根を求める式です。
エクセルに戻って頂くとわかりますが、デフォルトは刻み幅0.00001になっていますが、いろいろ変更して実行ボタンを押してください。
刻み幅0.1だと2.9045・・・、0.01なら3.120・・・、0.001なら3.139・・・、0.0001なら3.14139・・・、
0.00001なら3.14157・・・、0.000001なら3.14159・・・というように刻み幅を小さくしていけばπ(=3.141592・・・)に近づいていくことがわかると思います。


このプログラムは、dx = 0.00001なら横幅0.00001の長方形(すなわち、100,000個の長方形)に円を分割して、
長方形の面積の総和を取っているのです。Sqr(1 - x * x) * dxの部分が長方形1個の面積です。これを100,000個加えていけば、
円の面積の1/4に近づいていくというわけです。




第3話へ   第4講第1話へ

講義トップへ

数学研究室に戻る