メインルーチンでもサブルーチンでも、 必ず implicit none と書く習慣をつけよう。

メインルーチンの場合、 冒頭(もしprogram文があればその次の行)に implicit none と書く。
サブルーチンの場合は、subroutine と書いた次の行に書く。

これが必要なのは、FORTRAN77の「暗黙の宣言」という悪名高い機能(?)を オフにするためである。

今のプログラムでは、Lは角運動量であり、 もちろん実数になってもらわないと困る。 ところが、FORTRAN77には 「i,j,k,l,m,n で始まる変数は整数」という「暗黙の宣言」があるため、 黙っていると L は 整数にされてしまう。 もちろん「real L」と宣言すれば良いのだが、 それを忘れるのが人間というものなので、 忘れた場合は適切なエラーメッセージを出してもらう必要がある。 ところが、「暗黙の宣言」のおそろしいところは、 real宣言を書き忘れても何のエラーメッセージも出ない と いうことである。 実行結果を検討すると 確かに何かがおかしいのだが、 コンパイル時には何もエラーが発生しないので、原因がつきとめられないのだ。 このような邪悪な機能をオフにするのが「implicit none」であり、 宣言を忘れた場合に きちんとエラーメッセージが出るようになる。


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


[講評一覧]