例題1 プログラムの流れ

3つの実数 11.5, 25.7, 3.5 の平均を求めるプログラムを作成する。

 例題1のフローチャートとプログラムの例を示します。

プログラム
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
c Example 1     プログラムの流れ
c  機械工学科 1年  xxxxxxx  my name
c         Filename = reidai01.f
      real a1,a2,a3,asum,av
      a1=11.5
      a2=25.7
      a3=3.5
      asum=a1+a2+a3
      av=asum/3.0
      write(*,*) ' a= ',a1,a2,a3,' 平均 ', av
      stop
      end


 例題1のプログラム例について説明します。

1行目  c Example 1     プログラムの流れ
2行目  c  機械工学科 1年  xxxxxxx  my name
3行目  c         Filename = reidai01.f

 1行目から3行目のように、1カラム目に c が記述されている行はコメント行で、プログラムの実行には関係ありません。自由に覚え書きなどを記述できます。1行目には問題番号とプログラムの処理内容、2行目には作成者の所属(学科、学年)と学生証番号と名前、3行目には、保存ファイル名を記述しています。

 4行目から12行目までは Fortranの文で、記述形式にしたがって 7 カラム以降に記述します。

4行目        real a1,a2,a3,asum,av

 real文は型宣言文で、並び(変数などをカンマ ,で区切って並べたもの)に記述された項目を実数型と定義する文です。例題1では、3つの値 11.5, 25.7, 3.5 は実数で、求める平均も実数ですから、これらの値を格納するために asum,av と名前をつけた変数を実数型と定義しています。

5行目        a1=11.5
6行目        a2=25.7
7行目        a3=3.5

 5行目から7行目までは代入文実定数 11.5を変数 a1 に代入し、実定数 25.7 を変数 a2 に、実定数 3.5 を変数 a3 に代入します。

8行目        asum=a1+a2+a3
9行目        av=asum/3.0

 8行目と9行目は和と平均を計算する部分です。変数などの名前を演算子でつなげたもの(例えば a1 + a2 )をといいます。特に算術演算に使用される演算子を算術演算子といいます。計算した和と平均はそれぞれ、変数 asum、av に代入します。

10行目       write(*,*) ' a= ',a1,a2,a3,' 平均 ', av

 write文は、並び(変数などをカンマ ,で区切って並べたもの)に記述された項目の値を、その順番に出力する文です。ここでは変数 a1,a2,a3,avの値をその順に画面に出力します。

11行目       stop

 stop文は実行の終わりを示す文です。

12行目       end

 end文はプログラムの終わりを示す文です。


プログラムの各行は翻訳時、実行時に次のように処理されます。
 1行目から3行目までのコメント行は、翻訳時、実行時ともに無視されます。4行目の型宣言文(real文)は、翻訳時に翻訳され、定義した変数を格納する領域を確保し、実行文に変数の型などの情報を与えます。5行目から12行目までは実行文で、翻訳時に翻訳され、実行時に文の記述にしたがって実行されます。



Fortranの文法参照