はじめに
ここでは、Fortranの初心者がつまづきそうなきまりのみをピックアップして記載しています。
「これも載せた方がいい!」や「間違ってるよ!」ということがあればコメント等で教えていただければと思います。
この記事の方針としては__「厳密なきまりを全て載せる」のではなく__、初心者が最低限知っておくべきことのみを取り上げている点をご了承いただければと思います。
こちらも参考にどうぞ!
前々回の記事:[Fortran 90/95 で "Hello, world!"][1]
[1]:https://qiita.com/TakuroKoike/items/954a49ff21479e1379fe
前回の記事:[Fortran 90/95 で コメントアウトをする & ループ処理で足し算][2]」
[2]:https://qiita.com/TakuroKoike/items/fe886c14a44d9d4c3bbe
プログラムの構成
Fortran 90/95 におけるプログラムの構成はこんな感じです。
program プログラムの名称
宣言文(変数の宣言 など)
実行文
end program プログラムの名称
program
文から始まり、end
文で終わるプログラムを__主プログラム__と言います。
一般的なプログラムは、この主プログラムと副プログラムからなります(副プログラムについては後日)。
なお、宣言文は実行文よりも先に書かなければなりません。
program
文
program
文には、プログラムの名称を記述します。
省略することもできますが、プログラムの可読性を良くするために、書いた方がbetter。
プログラム名と変数名のきまり
名称の決め方は、以下の決まりがあります。
- 先頭の文字は英字のみが使える
- 2番目以降の文字には英数字と下線記号
_
が使える - 大文字・小文字の区別はしない
特に、3番目については、例えば変数answer
とAnswer
とANSWER
は同じものとして扱うということです。
気をつけましょう。
NGな名称の例
-
2nd_answer
:先頭に数字があるのでNG -
Sum1-Sum2
:-
(マイナス)は使えないのでNG -
good.choice
:.
(ピリオド)は使えないのでNG -
こたえ
:変数名として2バイト文字(日本語など)は使えないのでNG
implicit none って何?
さて、一旦数学の話をしましょう。
例えば、二次方程式の解の公式を思い出すと
ax^2 + bx +c =0
の解は
x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}
となります。
このとき、数学が得意な人は、無意識に「$a,b,c$は実数の定数、$x$は変数だな」と思います。
また、数列の和の公式
\sum_{i=1}^{n} k = \frac{1}{ \ 2 \ } \ n \ (n+1)
を見たときには「$i,k,n$は整数だな」と、あらかじめ指定されずとも暗黙の了解で思うわけです。
こんな風に、Fortran 90/95 (またはレガシーなFORTRAN) にも暗黙の了解があります。
それは、「暗黙の変数の型に関する規約」で
- 変数の先頭がアルファベット順で i から n までの範囲の文字であれば__整数__
- それ以外は__実数__
というものです。
この規約、昔は便利だったようです。
しかし、現在は思わぬエラーを防止するために、「暗黙の変数の型に関する規約」を無効にする宣言文を用いることが強く推奨されています。
それがimplicit none
です。
おわり
お疲れ様でした。
もし良ければ他の記事も見てみてください!
前々回の記事:[Fortran 90/95 で "Hello, world!"][1]
[1]:https://qiita.com/TakuroKoike/items/954a49ff21479e1379fe
前回の記事:[Fortran 90/95 で コメントアウトをする & ループ処理で足し算][2]」
[2]:https://qiita.com/TakuroKoike/items/fe886c14a44d9d4c3bbe