Cấu trúc và phân loại tệp

Một phần của tài liệu Lap trinh PASCAL can ban (Trang 68)

Các phần tử của một Array (Mảng) hoặc Record cĩ thể truy cập được tuỳ ý

(Random Access) thơng qua tên biến, chỉ số hoặc tên trường. Các phần tử của tệp khơng cĩ tên và việc truy cập khơng thể tuỳ tiện được. Các phần tử của tệp được sắp xếp thành một dãy và ở mỗi thời điểm chương trình chỉ cĩ thể truy nhập vào một phần tử của tệp thơng qua giá trị của biến đệm (Tampon Variable). Biến đệm dùng để đánh dấu vị trí truy nhập hay cịn gọi là cửa sổ của tệp. Ta cĩ thể hình dung một tệp như là một cuộn phim chụp ảnh. Mỗi một ảnh là một phần tử và ống kính là cửa sổ để nhìn vào nên tại mỗi thời điểm chỉ nhìn thấy một ảnh. Sau mỗi lần chụp, cửa sổ sẽ nhìn vào ảnh ở vị trí kế tiếp.

Ta cĩ thể dùng lệnh làm dịch chuyển cửa sổ sang vị trí tiếp theo hoặc về vị trí đầu tệp. Mỗi tệp đều được kết thúc bằng dấu hiệu đăc biệt để báo hiệu hết tệp, hay gọi là EOF(F) (End Of File F). Pascal cĩ một hàm chuẩn EOF trả về giá trị kiểu Boolean với tham số là biến tệp để xem cửa sổ đã đặt vào vị trí kết thúc tệp đĩ chưa. Nếu chưa đến cuối tệp thì hàm EOF trả về giá trị False.

Việc phân loại tệp dựa trên việc bố trí các phần tử của tệp trong bộ nhớ ngồi và cách truy cập vào tệp: Tệp truy nhập tuần tự (Sequential Access) hoặc tệp truy nhập trực tiếp (Direct Access).

Đối với tệp truy nhập tuần tự việc đọc một phần tử bất kỳ của tệp phải đi qua các phần tử trước đĩ; muốn thêm một phần tử vào tệp, phải đặt cửa sổ vào vị trí cuối tệp. Bộ nhớ ngồi tương ứng với cấu trúc này là băng từ. Tệp truy nhập tuần tự đơn giản trong việc tạo lập hay xử lý nhưng kém tính linh hoạt.

Đối với tệp truy nhập trực tiếp, ta cĩ thể đặt cửa sổ vào một vị trí bất kỳ của tệp. Bộ nhớ ngồi điển hình là đĩa từ (do đầu từ khi đọc cĩ thể được điều khiển đặt vào một chớ bất kỳ trên đĩa tại mọi thời điểm).

Tệp truy nhập trực tiếp chỉ được định nghĩa ở Turbo Pascal, Pascal chuẩn khơng cĩ. Khi khơng nĩi rõ là tệp loại gì thì đĩ được mặc định là tệp truy nhập tuần tự.

Một phần của tài liệu Lap trinh PASCAL can ban (Trang 68)

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

(90 trang)