I. Kiểu dữ liệu tệp
1. Vai trò của kiểu tệp
Các bạn suy nghĩ và trả lời các câu hỏi sau nhé!
2. Phân loại tệp và thao tác với tệp
II. Thao tác với tệp
1. Khai báo
Cp: Var<Tên biến tệp>:Text;
Vd: Var f:Text;
2. Thao tác với tệp
a. Gắn tên tệp
Cp: Assign(< biến tệp>,<tên tệp>);
Vd: Gắn cho tệp f tên là ‘Songuyen.Dat’ trong ổ đĩa C: ta dùng lệnh:
Assign(f,’C:Songuyen.Dat’);
b. Mở tệp
Cp: Rewrite(<Biến tệp>); >> mở tệp để ghi dữ liệu;
Reset(<Biến tệp>); >> mở tệp để đọc dữ liệu
Vd1: Mở tệp mới ‘Songuyen.Dat’ để ghi dữ liệu vào ta sử dụng cặp lệnh:
Assign(f,’Songuyen.Dat’); Rewrite(f);
Vd2: Mở tệp ‘Songuyen.Dat’ đã có dữ liệu đọc dữ liệu ra ta sử dụng cặp lệnh:
Assign(f,’Songuyen.Dat’); Reset(f);
c. Đọc/ghi tệp văn bản
Cp: Write/Writeln(<Biến tệp>,<Danh sách kết quả>);
Write/Writeln(f,a,b,c); à Ghi giá trị của biến a,b,c vào tệp f
Cp: Read/Realn(<Biến tệp>,<Danh sách biến>);
Read/Readln(f,a,b); à Đọc từ tệp f lần lượtra biến a,b
- Hàm Eoln(f): trả về giá trị True nếu con trỏ ở cuối dòng.
- Hàm Eof(f): trả về giá trị True nếu con trỏ ở cuối tệp.
d. Đóng tệp
Khi không làm việc nữa (kết thúc các thao tác đọc/ghi), đóng tệp tránh mất mát dữ liệu.
(!) Sau khi đóng tệp, muốn mở lại tệp nếu vẫn sử dụng biến tệp cũ thì không cần dùng lệnh Assign.
Cp: Close(<biến tệp>); Vd: Close(f);
* Chú ý:
+ Tự tạo tệp văn bản để chứa dữ liệu: Dùng trình soạn thảo của Pascal để nhập dữ liệu và lưu lại theo phần mở rộng theo yêu cầu.
+ Để mở tệp văn bản đã có: Mở theo cách mở file của Pascal hoặc đặt con trỏ chuột tại tên tệp và nhấn tổ hợp phím Ctrl Enter.
SƠ ĐỒ LÀM VIỆC VỚI TỆP VĂN BẢN
Ví dụ: Cho tệp văn bản DATA.INP chứa các số nguyên được ghi trên cùng một hàng, mỗi số cách nhau một khoảng trắng. Lập chương trình tìm giá trị lớn nhất của các số trong tệp, ghi kết quả tìm được vào tệp DATA.OUT