Sử dụng tuỳ chọn END

Một phần của tài liệu Giáo trình Fortran (Trang 73 - 74)

D On in d= ini, li m, inc

File dữ liệu và tổ chức file dữ liệu trong Fortran 6.1 Khái niệm về file dữ liệu và tổ chức lưu trữ dữ liệu

6.3.3. Sử dụng tuỳ chọn END

trong Fortran có một tuỳ chọn giúp kiểm tra sự kết thúc của file và rẽ nhánh sang một lệnh được chỉ định nếu phát hiện hết file. Lệnh READ với tuỳ chọn này có dạng sau:

READ (Số hiệu file , * , END = n) Danh sách các biến

Khi nào còn dữ liệu trong file lệnh này thực hiện giống như lệnh READ (Số hiệu file , *) Danh sách các biến

Tuy nhiên, nếu dòng dữ liệu cuối cùng đã đọc xong và ta thực hiện lệnh READ với tùy chọn END thì thay vì phạm lỗi thực hiện lệnh, điều khiển được chuyển tới lệnh có nhãn n trong tuỳ chọn END. Nếu lệnh READ thực hiện một lần nữa sau khi đã đạt đến cuối file, thì lỗi chạy chương trình sẽ xuất hiện.

Lệnh READ với tuỳ chọn END thực sự là một dạng đặc biệt của vòng lặp điều kiện While: 5 READ (10, *, END = 15) TEMP

SUM = SUM + TEMP N = N +1

GOTO 5

15 PRINT * , SUM

Dạng đặc biệt này của vòng lặp điều kiện chỉ nên thực hiện khi nào ta không biết số dịng dữ liệu và khơng có dịng ký hiệu báo hết dữ liệu. Việc chọn kỹ thuật hợp lý để đọc dữ liệu từ file phụ thuộc vào thơng tin trong file dữ liệu.

Thí dụ 16: Sử dụng tùy chọn END. Với file dữ liệu nội dung như trong thí dụ 14, giả sử khơng có dịng đầu tiên thơng báo về độ dài chuỗi dữ liệu, ta thực hiện

chương trình tính các trị số trung bình như sau:

INTEGER N, K

REAL ND, DA, AS, NDTB, DATB, ASTB

OPEN (UNIT = 2, FILE = 'SOLIEU.DAT', STATUS = 'OLD') NDTB = 0.0

DATB = 0.0 ASTB = 0.0 N = 0

C Nếu đọc hết số liệu tùy chọn END = 15 sẽ chuyển đến lệnh 15

Một phần của tài liệu Giáo trình Fortran (Trang 73 - 74)