Fortranプログラムの書き方の例

FORTRANのプログラムの書き方の例
◆ FORTRANは、大文字と小文字の区別が出来ません
入力ファイル data.in
数字6個
課題5-9:
自動車が時速 a (km/h) で t1 (分) 、b (km/h) でt2 (分) 、c (km/h) で t3 (分) 走った。
a 、 t1 、b 、t2 、c 、t3 を読み込んで、全走行距離 S (km) と平均時速 Va (km/h) を求めなさい。
自動車3台の時速km/hを、それぞれ、a , b, c という変数に入れる。
走行時間 分 を、それぞれ t1 , t2 , t3 という変数に入れる。
プログラム
入力データ : READ文で読み込む
例) test5_9.f
結果を出力 : WRITEで書き出す
これは、入力データ(READ)である。
実際の数字を自分で入力する。
プログラムで、S , Va を求める計算式を書いて、計算した結果である S , Va それぞれの値を出力(WRITE)する。
全走行距離 S = a * t1 / 60 + b * t2 / 60 + c * t3 / 60
平均時速 Va = S / ( t1 / 60 + t2 / 60 + t3 / 60 )
注
釈
記
号
文番号
継
続
行
指
定
出力ファイル data.out
プログラムで計算した
このプログラムは、入力データをファイルから読み込むと記述しているので
プログラムを実行(a.out)する前に、data.in と言うファイルを作成し、
FORTRAN文
数字を6個、設定しておく。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
C 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 2 1 2 3 4 5 6 7 8 9 3 1 2 3
I M P L
I
C
I
T
N O N E
a , b , c
t 1 , t 2
S , V a
,
t
3
O P E N (
O P E N (
7
8
,
,
f
f
i
i
e =
e =
'
'
d a
d a
t
t
a
a
.
.
i n
o u
'
t
)
'
)
R E A D (
7
,
*
)
a
b
,
,
t
1
,
2
,
t
,
c
S =
……上記計算式
V a = ……上記計算式
W R
I
T E
(
8
,
C L O S E
C L O S E
(
(
7
8
)
)
説明
文字の位置を分かりやすくするための定規の様なコメント(注釈)行
先頭Cは、コメント行であることを示す
”プログラムの中で、使用する全ての変数の型を宣言します”という文章
a と b と c という文字に数字:実数を入れて使います。という宣言
*整数を使いたい場合は、REALでは無くて、INTEGER と書く
R E A L
R E A L
R E A L
l
l
・・・72まで
t
OPEN文は、ファイルを開く命令。OPEN( の後の数字は、5と6以外を書く。
3
OPEN(7,... で指定されたファイルに記載されている数字を、a,b,c…….の順に読み込む。
READ(*,*) の場合、データはファイルでなく、画面から入力する。
課題の計算式を記述する
*
)
S
,
計算結果を、WRITE文で出力する。WRITE(*,*)であれば、画面に出力される。
この場合は、WRITE(8, なので、 OPEN(8,..)で宣言したファイルに出力される。
V a
OPENしたファイルは、ENDの前に必ずCLOSEすること。
プログラムの終了を宣言する。
E N D
FORMAT文の書き方の例
1 0 0
W R I T E (
F O R M A T
*
(
, 1 0 0 )
a 4 , f 6
.
' a
2 )
'
,
a
WRITE(*,*)であれば、出力フォーマットはコンピュータにお任せ。
FORMAT文を使用する場合は、自分の指定した書式に合わせて出力される。
WRITE(*,*) 'シングルクォーテーションで囲んだ文字列は、そのまま表示される'
WRITE(*,*) 'a',a ← 文字a を出力した後に、aという変数に入っている数字を出力する