次のプログラムを書いてみよう.
real*8 a,b,c open(1,FILE='081009_1.dat') open(2,FILE='081009_2.dat') read(1,*) a,b c=a+b write(2,*) c end
また, 内容が次のファイル081009_1.datを作成してください.
2.1D0 5.4D0
以上二つのファイルが作成できたらコンパイル後実行してください.
プログラムから数値を読み込む場合, 通常はファイルから読み込ませます. キーボードから読み込ませることもできますが, そうすると入力した数値が後で判らなくなってしまうことが多いからです. また, 計算結果も通常はファイルに書き込ませます. ファイルを開くには上の例のようにopen文を用います. 書式は次の通り.
open文 | open(n,FILE='ファイル名') |
n | 外部装置識別子(5,6を除いた整数を使う) |
---|
次のプログラムを書いてみよう.
real*8 a,c integer n,i a=1.D0 c=0.D0 n=10 do i=1,n c=c+a enddo write(6,*) c,n end
これは,整数iを1からnまで一つづつ増やしつつenddo文までを反復しなさいというプログラムである.フォートランでは反復計算をDOループを用いて行なう. 基本的な書き方は次の通り:
DOループ | do i=m1,m2,m3 .......... enddo |
i | 制御変数(整数型を使う) |
---|---|
m1 | 制御変数の初期値 |
m2 | 制御変数の終値 |
m3 | 制御変数の増分(省略すると1になる) |
DOループは重ねてつかうことができる. 例として:
integer i,j do i=1,10 do j=1,5 write(6,*) i,j enddo enddo end
プログラムを作成し実行せよ. iとjがどのように増えていくか着目すること.