PROGRAM REIDAI2_2
IMPLICIT NONE
REAL :: A,H,S
READ (*,*) A,H
S=A*H/2.0
WRITE (*,*) S
STOP
END PROGRAM REIDAI2_2
このプログラムはつぎのように改良すると,操作しやすくなる.
PROGRAM REIDAI2_2
IMPLICIT NONE
REAL :: A,H,S
WRITE (*,*) 'A,H='
READ (*,*) A,H
S=A*H/2.0
WRITE (*,*) 'S=', S
STOP
END PROGRAM REIDAI2_2
R = 1/((1/R_1)+(1/R_2))
の値を計算して表示するプログラムを作ってみよう(教科書29ページの問4).
青色の字はプログラムの解説です.実際のプログラムとは無関係ですし,これをプログラム中に書き込んではいけません.
問4のプログラム
PROGRAM REPORT_no2
IMPLICIT NONE
REAL :: R, RA, R1, R2
WRITE(*,*) '抵抗R1の値を入力してください' この行は本質的にはプログラムと関係ないが,実行した際に対話型のプログラムとなる工夫である
READ(*,*) R1 抵抗R1の値を読み込み
WRITE(*,*) '抵抗R2の値を入力してください' この行は本質的にはプログラムと関係ないが,実行した際に対話型のプログラムとなる工夫である
READ(*,*) R2 抵抗R2の値を読み込み
R=1.0/R1+1.0/R2 Rの分母の値を計算
RA=1.0/R Rの値を計算
WRITE(*,*) '2つの抵抗R1とR2を並列につないだときの抵抗値は', RA, 'です' 計算結果を表示
STOP
END PROGRAM REPORT_no2
PROGRAM BOUNUS_no2
IMPLICIT NONE
REAL :: A, B, H, S
WRITE(*,*) '上底と下底と高さを入力してください.' 色々と工夫してください
READ(*,*) A,B,H 入力するデータの読み込み
S=(A+B)*H/2.0 台形の面積を計算し,結果を変数Sに代入
WRITE(*,*) '台形の面積は', S, 'です' 変数Sをディスプレイに表示
STOP
END PROGRAM BOUNUS_no2
円の面積と円周を求めるプログラム
PROGRAM BOUNUS_no2_2
IMPLICIT NONE
REAL :: R, PI, MENSEKI, ENSHU
WRITE(*,*) '半径を入力してください' この行は本質的にはプログラムと関係ないが,実行した際に対話型のプログラムとなる工夫である
READ(*,*) R 入力するデータの読み込み
PI=3.14 円周率の値を変数PIに代入
MENSEKI=PI*R*R 円の面積を計算し,結果を変数MENSEKIに代入
ENSHU=2.0*PI*R 円の円周を計算し,結果を変数ENSHUに代入
WRITE(*,*) '円の面積は以下の値になります.'
WRITE(*,*) MENSEKI 変数MENSEKIをディスプレイに表示
WRITE(*,*) '円の円周は以下の値になります.'
WRITE(*,*) ENSHU 変数ENSHUをディスプレイに表示
STOP
END PROGRAM BOUNUS_no2_2
注意
数名の人が合成抵抗計算のプログラムにおいて
R=1/(1/R1+1/R2)
としていました.皆さんが扱うデータや科学技術計算で取り扱う変数はほとんどが実数ですから, 計算内で数値が直接出てくる場合は1.0などのように小数点以下の数値も入れてください.
また数名の人が
R=R1*R2/(R1+R2)
と式変形をしてプログラムを作成していましたが,数値計算において与えられた式をそのままプログラムにする,
ということが非常に重要です.
今後は与えられた式を変形せず,そのままプログラム化することを心がけてください.
ボーナス課題について
プログラムが間違っているかどうかは簡単な手計算で確かめられます .各自確かめてからレポートを提出すること.
プログラムを作成することと上記注意は矛盾しているようにも思えますが,まずは 作成したプログラムが間違っていないかを確認する癖を付けましょう.
他人の作成したプログラムを見ても構いませんが、必ず内容を理解してください.
そうでないと、自分の実力になりませんし、テストのときに困りますよ.
All rights reserved.