Bài 17
kiểu dữ liệu tệp và thao tác với tệp
Giáo án điện tử tin học lớp 11
1. Vai trò kiểu tệp
Dữ liệu kiểu tệp được lưu trữ lâu dài ở bộ nhớ ngoài (đĩa từ, CD, ...) và không bị mất khi tắt nguồn điện.
Lượng thông tin lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc vào dung lượng đĩa.
Có hai loại tệp thường dùng:
Tệp định kiểu
Tệp văn bản
Là tệp mà các phần tử có cùng một kiểu. Số lượng phần tử không xác định trước.
Gồm các kí tự được phân chia thành một hoặc nhiều dòng.
Dưới đây ta chỉ xét các khai báo và làm việc với tệp văn bản.
2. Khai báo tệp văn bản
Var : TEXT;
Ví dụ:
tep1,tep2 : Text;
Program vd1;
Uses crt;
Var
tep1,tep2: TEXT;
3. Thao tác với tệp
Gán tên tệp
Mở tệp để ghi
Mở tệp để đọc
Ghi dữ liệu ra tệp
Đọc dữ liệu từ tệp
Đóng tệp
a. Gán tên tệp
ASSIGN(,);
Tên tệp: Là biến xâu hoặc hằng xâu.
ASSIGN(tep1, ‘DULIEU.DAT’);
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
Ví dụ:
Biến tep1 được gắn với tệp có tên DULIEU.DAT
Biến tep2 được gắn với tệp có tên BAITAP.INP trong thư mục TP ở ổ đĩa D.
b. Mở tệp
REWRITE ();
Thủ tục mở tệp để ghi kết quả:
Nếu như trên ổ D:\TP chưa có tệp BAITAP.INP, thì tệp sẽ được tạo rỗng. Nếu đã có, thì nội dung cũ bị xoá để chuẩn bị ghi dữ liệu mới.
Thủ tục ghi dữ liệu ra tệp
? Danh sách kết quả gồm một hay nhiều phần tử. Phần tử có thể là biến, hằng xâu hoặc biểu thức.
c. Ghi dữ liệu ra tệp
WRITE(, );
WRITELN (, );
Giá trị hai biến a=3, b=5 được ghi ở trong tệp BAITAP.INP.
RESET ();
Thủ tục mở tệp để đọc dữ liệu
Thủ tục đọc dữ liệu từ tệp:
? Danh sách biến là một hoặc nhiều biến đơn.
d. Đọc dữ liệu từ tệp
READ(, );
READLN (, );
Close(tep2);
Close(tep2);
e. Thủ tục đóng tệp
CLOSE(< tên biến tệp>)
Ghi dữ liệu ra tệp
Đọc dữ liệu từ tệp
f. Một số hàm chuẩn thường dùng trong xử lí tệp văn bản
EOF();
Cho giá trị đúng nếu con trỏ đang chỉ tới cuối tệp.
EOFLN();
Cho giá trị đúng nếu con trỏ đang chỉ tới cuối dòng.
Hãy nhớ!
? Khai báo tệp văn bản:
Var < Tên biến tệp>: Text;
Gán tên tệp:
ASSIGN();
Mở tệp:
- Để đọc: RESET();
- Để ghi: REWRITE(< Tên biến tệp>);
Đóng tệp
CLOSE(< tên biến tệp>);
Đọc/ghi tệp
Đọc: READ(, biến nhận);
Ghi: REWRITE(< Tên biến tệp>,biến đưa ra);
nguon VI OLET