Fortranのプログラムファイルについての注意

 Fortranではプログラムの各行の先頭、5文字分がプログラムの行番号を書く領域として確保されており、さらに、+1文字の計6文字には命令を書くことが出来ない。よって、命令を書く場合には各行の最初に6文字分のスペースを挿入し、決してこの部分に命令を書いてはいけない。

 また、行番号を書く場合は、行の先頭から5文字目に行番号の最後の位(一桁目)が来なければいけない。つまり、2桁の行番号を付けようと思えば先頭から3文字、3桁の行番号を付けようと思えば先頭から2文字分をスペースで埋める。

| <=(行の先頭、以下、アンダースコア_でスペースを表している。)
_ _ _ _ _ _(命令)
_ _ _ _ _ _(命令)
_ _ _ _ _ _(命令)
_ _ _ 1 0 _(命令)
_ _ 1 0 0 _(命令)

具体的には

_ _ _ _ _ _ READ(*,*) N
_ _ _ _ _ _ DO 10 K=1,M
_ _ _ _ _ _ _ _ _ IF ((MOD(M,K).EQ.0).AND.(MOD(N,K).EQ.0)) G=K
_ _ _ 1 0 _ CONTINUE

の様になる。


LINUX上でのプログラムの作り方

 まず、エディターを使って、プログラムを打ち込み、ファイルをセーブする。このとき、ファイル名(ここではXXXXXXとする)には“.f”を付けて XXXXXX.f とする。“.f”がFortranのソースファイルであることを表す。また、ファイル名はアルファベットや数字等(つまり、漢字やひらがな等は使わない)で8〜10文字程度までの方が良い。

 次に、ターミナル(Kterm)画面で“g77 XXXXXX.f”と入力すればプログラムが実行可能な形式(ここでは“a.out”、“.out”が実行可能なファイルであることを示す)にコンパイルされる。ただし、プログラムの記述におかしい箇所があればエラーメッセージとともにコンパイルもされない場合もある。この場合はエラーの内容を確認してプログラムを修正し、再度、コンパイルをかける。

[c4-00@a-02 c4-00]$ g77 XXXXXX.f
[c4-00@a-02 c4-00]$ ls
・・・XXXXXX.f a.out・・・

エラーのある場合

[c4-00@a-02 c4-00]$ g77 XXXXXX.f
・・・
(エラーメッセージが出力される)・・・

 コンパイルをかけるときに、実行用ファイルの名前を指定しないと、全て“a.out”というファイルになるので、新しいプログラムをコンパイルすると、前の実行ファイルは上書きされてしまう。また、“a.out”では何の実行ファイルかよくわからないので、コンパイルをかけた後、ファイルの名前を変更しておくと良い。

[c4-00@a-02 c4-00]$ ls
・・・XXXXXX.f a.out・・・
[c4-00@a-02 c4-00]$ mv a.out XXXXXX.out
[c4-00@a-02 c4-00]$ ls
・・・XXXXXX.f XXXXXX.out・・・

 プログラムを実行するときは、"./"に続けてファイル名を入力すればよい。

[c4-00@a-02 c4-00]$ ./XXXXXX.out


<戻る>