Trước khi tôi bắt đầu, tôi phải bắt đầu bằng cách nói rằng tôi là người mới khi nói đến FORTRAN. Tôi đang duy trì một đoạn mã kế thừa từ năm 1978. Mục đích của nó là đọc một số giá trị dữ liệu từ một tệp, xử lý các giá trị và sau đó xuất các giá trị đã xử lý sang một tệp văn bản khác.FORTRAN WRITE()
Với mã FORTRAN sau:
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)
Câu hỏi của tôi là liên quan đến báo cáo kết quả WRITE()
.
Tôi hiểu rằng (2,80)
đề cập đến các dòng sản lượng tập tin mở và trỏ đến file 'out'
và tham chiếu bởi chữ số 2. Tôi hiểu rằng 80 đề cập đến báo cáo kết quả định dạng tham chiếu bởi nhãn 80.
STUB
được sử dụng để lưu trữ các giá trị đọc từ đầu vào tệp 1. Các giá trị này là những gì được xử lý và được lưu vào MDS(I,J)
trong phần !-- data processing --!
mà tôi đã bỏ qua.
Tôi có đúng là giả định rằng (MDS(I,J),J=1,24)
sẽ ghi 24 giá trị số nguyên vào tệp đầu ra không? Nói cách khác, lặp lại từ 1 đến 24?
@Fortranner Khi thêm các thẻ, bạn cũng nên xóa các vấn đề về tạo hình hoặc các vấn đề khác trong câu hỏi. –