はじめに3つの実数の値を読み込んで、その平均を求める。次に新たに実数値を読み込んで、先に求めた平均値と比較し、平均値より大きいか等しければその実数値と「大」を、小さければ実数値と「小」を表示するプログラムを作成する。平均値と比較する実数値は1つではない。 例題2のプログラム例 は、3つの実数を1組読み込んでその平均を求めるものです。このプログラムに、実数値を読み込んで平均値と比較する処理を追加します。
例題4のプログラム例について説明します。 入力した3つの実数値の平均を求めるのは、例題2と同じです。次に実数値を読み込んでそのデータについて平均との比較や出力などの一連の処理を終えたら、次のデータを読み込むように実行の流れを戻します。この部分の流れは例題3と同じです。 18行目の go to文で、実行の流れを指定された文番号(ここでは 1001)を持つ文に無条件に移動します。 12行目のread文にファイル終了指定子を指定し、データが終わりの時は通常の計算をせずに、「 計算終わり 」と表示して終わるようにしています。 13行目から17行目は読み込んだ実数値と平均値を比較して、平均値より大きいか等しければその実数値と「大」を、小さければ実数値と「小」を表示する部分です。 13行目 if(a.ge.av) then 14行目 write(*,*) a, ' 大 ' 15行目 else 16行目 write(*,*) a, ' 小 ' 17行目 end if この部分のプログラムの流れは次のようになっています。 if(a.ge.av) then ────────────┐ ──────────── │ │write(*,*) a, ' 大 ' │ ifブロック │ ──────────── │ else │ ブロックif ──────────── │ │write(*,*) a, ' 小 ' │ elseブロック │ ──────────── │ end if ────────────┘ ブロックifは( )の中の論理式 |