始める前に、私は FORTRAN に関しては初心者であることを前置きしておく必要があります。私は 1978 年の古いコードを保守しています。その目的は、ファイルからいくつかのデータ値を読み込み、値を処理し、処理された値を別のテキスト ファイルに出力することです。
次の FORTRAN コードがあるとします。
INTEGER NM,STUBS,I,J,K
PARAMETER (NM=67,STUBS=43)
INTEGER*4 MDS(STUBS,NM)
CALL OPEN$A(A$RDWR,'/home/test/data.txt', MAXPATHLEN,1)
CALL OPEN$A(A$WRIT,'out',11,2)
DO 90 I=1,2
READ(1,82) STUB
!-- data processing --!
WRITE(2,80) STUB,(MDS(I,J),J=1,24)
90 CONTINUE
80 FORMAT(/1X,A24,25I5)
82 FORMAT(1X,A24,25F5,1)
私の質問は、WRITE()
声明に関するものです。
は(2,80)
、開かれたファイル出力ストリームを参照し、ファイルを指し'out'
、数字 2 で参照されていることを理解しています。80 は、ラベル 80 で参照されているフォーマット ステートメントを参照していることを理解しています。
STUB
ファイル入力 1 から読み取った値を格納するために使用されます。これらの値は処理され、省略MDS(I,J)
したセクションに保存されます。!-- data processing --!
(MDS(I,J),J=1,24)
出力ファイルに 24 個の整数値が書き込まれると仮定して正しいでしょうか? つまり、1から24までループ?