資料館スタッフブログ

マチンの公式

おはようございます。子供には「としお」と名付けたいI.Yです

我々理科大生が作成したFACOM138Aプログラムの一つにマチンの公式というものがあります。 マチンの公式というのは円周率を求める公式で、コンピューターでは反復を用いて近似的に円周率を求めます。 実はこのマチンの公式は、私達がFACOM138Aのプログラムを勉強する際に見本としていただいたプログラムでもあります。 このプログラムを、勉強しつつ改良した(つもりの)ものを、実際に動かしたものが今回の企画展で展示されています。

改良と言いましたが、良いプログラムとはなんでしょうか。 FACOM138Aは、自由に使えるメモリは30個程です。上手く活用するため、後で使う数字は残し、使わない数字は上書きします。 これはプログラム全体を考えてアドレスの割り振りをする為、結構繊細な作業です。見本のプログラムを見た際に、私はこのアドレスの使い方の繊細さに感嘆しました。 とはいえ、私はJAVAからプログラムを学んだ人間ですので、サブルーチンを用いてプログラムのステップ数を2割程削減する事に成功しました。
 さて、これは改良でしょうか?今の私は否だと答えます。富士通の川崎工場に行くと、私達が作ったマチンの公式のプログラムが展示されていますが、展示されているプログラムはサブルーチンを使っていません。FACOM138Aにとって、サブルーチンを呼び出すだけでも大変な作業です。これを用いずに全て縦に並べて書くだけで計算時間は目に見えて短くなります。富士通のOBの方曰く、当時、回路や仕様を理解しているプログラマーが書いたプログラムは、計算時間に倍程の差が出るそうです。

今でもサブルーチンを使わずに計算時間を少しでも早くする方がいいなんて言いません。大規模なプログラムになるほど、可読性が重要になります。 しかし、環境によってプログラムの良さは大きく変わります。環境、そして仕様を理解し、その時に合った良いプログラムを作る。まさに職人技ですね。         

matin
マチンの公式のパンチカード