STEP.01 Fortranの基礎その1-write,四則演算

ここではプログラムを書くために必要となるFortranの基礎的な文法について解説します。 サンプルのプログラムも載せますが、決してコピー&ペーストせずに自分でメモ帳などのテキストエディタに打ち込み、 コンパイル・実行を行ってください。プログラミングができるようになるためには、自分の手でプログラムを書くことが重要です。

01 文字を出力させる-write文

まずはSTEP.00でも出てきた画面に文字を出力するプログラムについて見ていきましょう。

program main
write(*,*)'Hello,World!!'
end

このプログラムをコンパイル実行すると、画面に Hello,World!! と表示されます。
プログラムの1行目に書かれている program main は、「ここから”main”という名前のプログラムが始まる。」 ということを表しています。”main” の部分は自分の好きなように名前を付けることができます。
2行目の write(*,*) は出力の命令文です。かっこの中の部分で出力先や書式を指定することができますが、 ここでは(*,*)と書いておけば画面に出力されるということだけ理解してもられば良いです。
write文の最後の ‘Hello,World!!’ が出力される内容です。クォーテーション(‘)で囲んでいる場合は、その中の文字列が 出力されます。
そして3行目の end が「ここでプログラムが終わる。」ということを表している文です。
余談ですが、ここで紹介した “Hello,World!!” と出力するプログラムは俗に Hello world と呼ばれ、 最も基本的なプログラムであるので最初の例題としてよく取り上げられます。 このため「世界一有名なプログラム」と呼ばれることもあります。

02 コンピュータに計算させてみる-四則演算

次にコンピュータに簡単な計算をさせてみましょう。 次のプログラムはコンピュータに四則演算やべき乗を計算させるものです。

program main
implicit none
real(8) a,b,c,d,e,f,g

a=2.0
b=3.0
c=a+b
d=a-b
e=a*b
f=a/b
g=a**b

write(*,*)'a =',a
write(*,*)'b =',b
write(*,*)'a+b =',c
write(*,*)'a-b =',d
write(*,*)'a*b =',e
write(*,*)'a/b =',f
write(*,*)'a**b=',g

end

このプログラムも上かる順番に見ていきましょう。
まず2行目に書かれているimplicit noneですが、これは次に説明する宣言文で宣言されていない変数をプログラム中で使用できなくする文です。 デバッグの助けとなるので、おまじないだと思って必ず書くようにしましょう。
3行目の real(8) は宣言文と呼ばれるものの一つで、プログラムの中でどのような変数がどんな型で使われるのかを指定するものです。 例えば、この場合は変数a,b,c,d,e,f,gは実数変数であることを宣言しています。 real(8)の代わりに integer を用いれば、a,b,c,d,e,f,gは整数変数として取り扱われるようになります。 5行目から始まる a=2.0 と b=3.0 は変数aとbにそれぞれ2.0と3.0を入れる操作を行っています。
続いて8行目から12行まではaとbに入っている数を使って計算を行っています。 例えば c=a+b は a に入っている数字と b に入っている数字を足したものを c に入れる操作を行います。 その他の記号の -,*,/,** はそれぞれ引き算、掛け算、割り算、べき乗を表しています。
最後に write 文で計算結果の出力をしてプログラム終了となります。
ここでは、実数変数 real(8) についての計算を行いましたが、整数変数 integer についての計算も 同様に書くことができます。ただし整数同士の割り算は、答えの小数点以下が切り捨てられて、整数の値が返ってくることに注意してください。 このことを上のプログラムを整数変数に対する計算に書き換えて確認してみましょう。

前ページへ次ページへ