Machin's method by VBA
さて、円周率の計算にマチンの式が使えることが分かったところで、Excel の VBA でマクロを組んでみました。
- [[ VBA 版 pi の計算 ]](ファイル名 "machinpi.xls";サイズ 58KB)
ここからファイルをダウンロードして、自由に試してください(プラウザ上でファイルを開くことができるかもしれませんが、これはダウンロードして実行することが前提のファイルです)。
ARRAYS と書かれたボックスに適当な数値---初期値は 10 にしてある---を入力して [Calculate] ボタンを押せば、入力値の 4 倍の桁数の円周率を計算してくれます。したがって、初期値では 40 桁分の計算をします。(ただし、最後の数桁は誤差を含んでいることに注意してください。)より多くの桁数を計算させたければ、当然ボックスに入力する数値を大きくすればよいのですが、いきなり大きすぎる数値を入れると後悔することになるかもしれません。
後悔しないためにも「Calc about 1 / 5^n」等で示される残りの計算回数を有効に利用してください。これは、コンピュータがどのあたりを計算しているか知るためのものですが、このカウンタの減る速さを目安に入力する数値を決めればよいでしょう。
コードには、チューンアップの余地が山のようにあることは確かです。それは各自の楽しみということで、是非コードを書き換えてください。ちなみに、この [[ VBA 版 pi の計算 ]] は Microsoft Excel 97-2004 以降のバージョンで動作するはずです。Mac OS + Excel 2011, 2016 でのみ動作確認をしただけですが、Windows でも動作すると思います。
ただチューンアップをしようにも、Excel for Mac(Macintosh 版 Excel)では多くのバージョンで UserForm 等のデザイン編集ができないようです。そこで、UserForm を MsgBox で代替したファイルも用意しました。UserForm のような細かな設計はできませんが、工夫の楽しみはあると思います。Mac OS + Excel 2016 以降でのみ動作確認をしただけですが、こちらもWindows で動作すると思います。
- [[ VBA 版 pi の計算 for Mac ]](ファイル名 "machinpi_Mac.xls";サイズ 49KB)