Прежде чем начать, я должен предисловие, заявив, что я новичок, когда дело доходит до Фортрана. Я поддерживаю устаревший фрагмент кода с 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?