初期条件などは、プログラムの中に書いておくべきではない。 キーボードかファイルから読み込むようにする。 理由は、無駄なコンパイルを避けるためである。

次のようなことは、ありがちだが、好ましくない:

プログラムを書く → コンパイル → 1回だけ実行 → 初期条件の行だけ書き直す → コンパイル → また1回だけ実行 → また初期条件の行だけ書き直す → コンパイル → また1回だけ実行 → …

これは、要するに「コンパイルの使い捨て」ではないか。 服を1回着るたびに捨てて新しく買い直しているようなものである。 せっかく服を買う以上は、 いろいろ使い回せるように考えるほうが得だし、 環境にも優しいはずなのだが…。

プログラムも同じである。 いちどコンパイルしたら何度でも使い回せるように工夫しておきたい。 そうでないと、下手をすると 初期条件の数だけプログラムがあるなどという事態に なりかねない。

同じ理由で、初期条件だけでなく 入出力用のファイル名も キーボードから指定できるようにしておくのが良い。


あとになって「さて、キーボードから入力した値は何だっけ」ということを 思い出す必要が生じることがある。 こういうときにあわてないようにするには、 出力データの一部に「コメント記号 + 初期条件」を含めておくとよい。 たとえば、出力データの処理に GNUPLOTを用いる場合は、コメント記号は # である。 したがって、たとえば
write(*,*) '# ', '(L0, θ0) = ', L0, theta0
などと 書いておけばよい。


入力データの読み込み用に、 get.f を ダウンロードして利用することができる。 自分のプログラムでは、たとえば次のように書く:

call get2r('initial condition: X, Y =', Xinit,Yinit)

コンパイルするときは、次のようにすれば良い:

% g77 自分のプログラム.f get.f -o 自分のプログラム

ブラウザの「戻る」ボタンで戻ってください。


[講評一覧]