Comments
Description
Transcript
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という変数に入っている数字を出力する