インターネット&PC120%活用:PC活用編

FORTRAN90以降のコーディング書式(自由形式)


FORTRAN77以前の固定形式と言われるコーディング書式(→「FORTRANコーディング書式とRERAD,WRITE」)
は非常に堅苦しい書式でしたが、FORTRAN90以降では自由形式というもっと自由な書式が許されています。

1.固定形式と自由形式の主な相違点

(1) 固定形式
行 :72桁以内。1行には一つの文しか書けない。
1〜5桁:文番号を書く。
6桁目 :必要なら継続行の印を書く。
7〜72桁:文を書く。
注釈行 :1桁目に文字「C」または「*」印がついた行
継続行 :文が2行以上にまたがる場合,2行目からは6桁目に任意の文字(数字,記号を含む)を書いて,上の文に続くことを表す。
空白 :一つのキーワードや変数の途中に空白があってもよい。
例 READ*,XY と R E A D *, X Y や,END と E N D は同じ。

(2) 自由形式
行 :132桁以内。セミコロン「;」で区切れば1行に複数の文が書ける。
注釈行 :先頭に「!」のついた行。行の途中で「!」が書かれた場合,以下は注釈となる。(文字定数の中の!記号は除く。)
継続行 :文の最後に「 & 」記号がつくと,文は次行へ継続となる。
なお、文字定数が2行以上にわたる場合などで継続行の先頭位置を明示したいときには,先頭位置にも「 & 」を書く。
これ以外は,文の途中の「 & 」は単なる & 文字とみなされる。
空白 :一つのステートメントや変数の途中に空白を入れてはならない。また,空白の必要なところには必ず空白を一つ以上入れる。
ただし,GOTO とGO TO や,ELSEIF と ELSE IF のように,2通りの書き方ができるものもある。


(3) 実際のコーディング例の比較
全て入力した数値をそのまま出力するプログラムです。

実行例
出力書式で'I4'(整数4ケタ)を指定しているので、5ケタ以上の数値が入力された場合は
(一番下の"123456"を入力したケースなど)****が表示される。




FORTRAN77以前(固定形式)


C program practice READ(5,*)k WRITE(6,100)k 100 FORMAT('SUU=', I4) END

FORTRAN90以降(自由形式)
7ケタ目から文を書く必要がない。
READで入力デバイスの番号指定をしなくてよい。
WRITE文も使えるが出力にはPRINT文を使える。PRINT文では出力デバイスの番号指定をしなくてよい

program suu
 read *,k
 print 100,k
100 format('SUU=', I4)
 stop
 end program suu 

FORTRAN90以降(自由形式)その2
PRINT文の中で出力書式を指定することもできる。→FORMAT文不要

program suu2
 read *,k
 print '(I4)',k
 stop
 end program suu2123






TopPage


inserted by FC2 system