実験物理と計算機

3学期 Fortran Tips 1

参考書
Unix計算機を使った物理学実験」(新井/板倉)
第1章、プログラムの構成 戻る 次へ

1-1、FORTRANプログラムの構成

FORTRANのプログラムは
によって構成される。

メインプログラム

  1. プログラム実行の主単位
    実行時、最初に呼ばれる
  2. 副次単位(サブルーチンや関数)の呼び出し(CALL文)を含む
  3. PROGRAM文(省略可)で始まり、END文で終わる

    PROGRAM name
    ...
    CALL SUB1(A1,A2)
    ...
    CALL SUB2(B1,B2,B3)
    ...
    VALUE=FUNC(C1,C2,C3,C4)
    ...
    END

サブルーチン

  1. プログラム実行の副次単位
    プログラムの階層化;情報の隠蔽化
  2. 他のサブルーチンや関数を含む
  3. SUBROUTINE文で始まり、途中にRETURN文を含み、END文で終わる

    SUBROUTINE name(arg1,arg2,...)
    ...
    ...
    RETURN
    ...
    END

関数

  1. プログラム実行の副次単位
    プログラムの階層化;情報の隠蔽化
  2. 他のサブルーチンや関数を含む
  3. FUNCTION文で始まり、途中にRETURN文を含み、END文で終わる

    FUNCTION name(arg1,arg2,...)
    ...
    ...
    RETURN
    ...
    END

ブロック・データ

  1. プログラム実行の副次単位
    プログラムで使う共通変数の初期値設定
  2. COMMON文、DATA文の集まり;実行文を一切含まない
  3. BLOCK DATA文で始まり、END文で終わる

    BLOCK DATA
    COMMON /ALPHA/... DATA A/...
    ...
    ...
    END

1-2、プログラム書法 -基本の「き」-

コラム(桁)の使い方

  1. 各行の左端から順に第1コラム - 第72コラムまでが有効。
  2. 第1コラム - 第6コラムは用途が予約済み。
    • 第1カラムが(大)文字のCの場合、注釈行となる。
    • 第6コラムが空白でない場合、直前の行の続きとなる。
    • 必要に応じて、第1コラム - 第5コラムには文番号を書く。

注釈行について

  1. プログラムには注釈が不可欠。
  2. FortranやCなどの高次言語では、プログラム自体が注釈。
  3. いずれにしても、注釈は必要最小限にとどめる。

プログラムを読みやすくする工夫

  1. 変数名、関数名、サブルーチン名は分かりやすいものにする。
  2. 字下げをして、ブロック構造をはっきりさせる。

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!