メインルーチンでもサブルーチンでも、
必ず implicit none
と書く習慣をつけよう。
メインルーチンの場合、
冒頭(もしprogram
文があればその次の行)に
implicit none
と書く。
サブルーチンの場合は、subroutine
と書いた次の行に書く。
これが必要なのは、FORTRAN77の「暗黙の宣言」という悪名高い機能(?)を オフにするためである。
今のプログラムでは、L
は角運動量であり、
もちろん実数になってもらわないと困る。
ところが、FORTRAN77には
「i,j,k,l,m,n で始まる変数は整数」という「暗黙の宣言」があるため、
黙っていると L
は 整数にされてしまう。
もちろん「real L
」と宣言すれば良いのだが、
それを忘れるのが人間というものなので、
忘れた場合は適切なエラーメッセージを出してもらう必要がある。
ところが、「暗黙の宣言」のおそろしいところは、
real宣言を書き忘れても何のエラーメッセージも出ない と
いうことである。
実行結果を検討すると 確かに何かがおかしいのだが、
コンパイル時には何もエラーが発生しないので、原因がつきとめられないのだ。
このような邪悪な機能をオフにするのが「implicit none
」であり、
宣言を忘れた場合に きちんとエラーメッセージが出るようになる。
ブラウザの「戻る」ボタンで戻ってください。
[講評一覧]