or1ko's diary

日々を書きます

数値解析の授業

高専の時の数値解析でFortran90を教わったことがある。もうほとんど覚えていないけれど、配列の添字、暗黙の型宣言、復素型のサポート、出力フォーマット(そんな名前だったけ)の指定は印象的だった。某所のエントリーを見て思い出した。

添字が1番目から始まるのは、数式をプログラムにするときにすこし便利だった。教科書にある数式の添字は1から書かれていることが多く、プログラムにするには一つずらしてあげなければならない。Fortran90の場合はそのままでかける。当時、数値解析ではFortranがメジャーな言語と聞いていたので、このことを重要視しての言語設計なのかと思っていた。

個人的には添字が1番目ということよりも、添字の範囲を指定できることのほうが驚きだった。

INTEGER, DIMENSION (10:20) :: nums

と、10から20の範囲を指定できるだけでなく、

INTEGER, DIMENSION (-10:10) :: nums

と、-10といった負の整数でもいい。教わったときは、なにに使うのかさっぱりわからなかったけれど、-10から10にfor文を回したいときに活躍したのを覚えている(なんで、そんなことをしたのか覚えてないけど)。

暗黙の型宣言の存在を知ったのもこの言語だった。型宣言を省略して変数名をi,j,kにしたら、INTEGER型にされるといったものだった。授業の先生が推奨しなかったので、一度も使かわなかった。先生はIMPLICIT NONEを必ず書くように指導していた。

懐かしい。もうFortran90なんてこの先使うことはないだろうな〜。