Dòng ký hiệu kết thúc dữ liệu

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

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.2. Dòng ký hiệu kết thúc dữ liệu

Những giá trị đặc biệt dùng để đánh dấu sự kết thúc của file dữ liệu gọi là ký hiệu kết thúc (Trailer hay Flags). Khi tạo lập file, ta thêm một số con số đặc biệt trong dòng ghi cuối cùng. Về sau, nếu ta thêm hoặc xoá đi một số số liệu trong file, sẽ không phải sửa lại số ghi tổng số số liệu. Tuy nhiên, nếu dùng phương pháp này để đánh dấu hết file, thì phải cẩn thận sao cho chương trình của chúng ta khơng được đưa những giá trị đặc biệt vào xử lý như các giá trị bình thường khác. Có thể chúng ta phải ghi chú về điều này ở dòng đầu file. Ngồi ra, nếu dịng số liệu bình thường chứa bao nhiêu giá trị thì dịng ký hiệu kết thúc cũng nên có chừng đó giá trị đặc biệt để đảm bảo cho lệnh đọc không mắc lỗi chạy chương trình. Người ta thường chọn các giá trị đặc biệt sao cho chúng khác hẳn với những giá trị bình thường, dễ nhận ra khi xem bằng mắt các số liệu trong file, thí dụ như số nguyên lớn nhất 32767, một tập hợp các số chín như 99999. Ta cũng có thể dùng cách này để đánh dấu những giá trị khuyết trong các chuỗi số liệu (Flags - cờ hiệu báo hết file hoặc khuyết số liệu).

Thí dụ 15: Cách đọc file có dịng số liệu đánh dấu hết file ở cuối file và cờ hiệu báo khuyết số liệu. Giả sử file dữ liệu với nội dung như trong thí dụ 14, nhưng được

tạo ra theo cách đánh dấu kết thúc dữ liệu bằng dịng gồm ba cụm số 99999. Ngồi ra, trong các dịng số liệu bình thường có những giá trị khuyết, không quan trắc, được đánh dấu bằng con số 32767. Chương trình sau đây cho phép đọc và tính tốn đúng các trị số trung bình của ba đại lượng:

INTEGER N1, N2, N3

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

OPEN (UNIT = 2, FILE = 'SOLIEU.DAT', STATUS = 'OLD') N1 = 0 N2 = 0 N3 = 0 NDTB = 0.0 DATB = 0.0 ASTB = 0.0 60 READ (2, *) ND, DA, AS

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

Tải bản đầy đủ (PDF)

(153 trang)