実験物理と計算機
3学期
Fortran Tips 1
参考書
「
Unix
計算機を使った物理学実験」(新井/板倉)
第1章、プログラムの構成
戻る
次へ
1-1、FORTRANプログラムの構成
FORTRANのプログラムは
1つのメインプログラム
任意の数のサブルーチン、関数、ブロック・データ
によって構成される。
メインプログラム
プログラム実行の主単位
実行時、最初に呼ばれる
副次単位(サブルーチンや関数)の呼び出し(CALL文)を含む
PROGRAM文(省略可)で始まり、END文で終わる
例
PROGRAM name
...
CALL SUB1(A1,A2)
...
CALL SUB2(B1,B2,B3)
...
VALUE=FUNC(C1,C2,C3,C4)
...
END
サブルーチン
プログラム実行の副次単位
プログラムの階層化;情報の隠蔽化
他のサブルーチンや関数を含む
SUBROUTINE文で始まり、途中にRETURN文を含み、END文で終わる
例
SUBROUTINE name(arg1,arg2,...)
...
...
RETURN
...
END
関数
プログラム実行の副次単位
プログラムの階層化;情報の隠蔽化
他のサブルーチンや関数を含む
FUNCTION文で始まり、途中にRETURN文を含み、END文で終わる
例
FUNCTION name(arg1,arg2,...)
...
...
RETURN
...
END
ブロック・データ
プログラム実行の副次単位
プログラムで使う共通変数の初期値設定
COMMON文、DATA文の集まり;実行文を一切含まない
BLOCK DATA文で始まり、END文で終わる
例
BLOCK DATA
COMMON /ALPHA/... DATA A/...
...
...
END
1-2、プログラム書法 -基本の「き」-
コラム(桁)の使い方
各行の左端から順に第1コラム - 第72コラムまでが有効。
第1コラム - 第6コラムは用途が予約済み。
第1カラムが(大)文字のCの場合、注釈行となる。
第6コラムが空白でない場合、直前の行の続きとなる。
必要に応じて、第1コラム - 第5コラムには文番号を書く。
注釈行について
プログラムには注釈が不可欠。
FortranやCなどの高次言語では、プログラム自体が注釈。
いずれにしても、注釈は必要最小限にとどめる。
プログラムを読みやすくする工夫
変数名、関数名、サブルーチン名は分かりやすいものにする。
字下げをして、ブロック構造をはっきりさせる。
1-3、簡単なFORTRANプログラムの作成/実行
"Hello World!"を印刷するFORTRANプログラム
メインプログラム(ファイル名:h_world.f)
PROGRAM h_world
WRITE(6,*) "Hello World!"
STOP
END
各行とも先頭7桁は空白(FORTRANの規則!)
コンパイル(実行コードへ翻訳)
%f90 h_world.f -o h_world
実行
%./h_world
Hello World!