Chµo mõng ThÇy C«
gi¸o vÒ dù giê líp
11A
Tiết PPCT: 38
Giáo viên thực hiện: Bàng Thị Yến
Tiết PPCT: 38
1. Vai trò của
kiểu tệp:
2. Phân loại tệp và thao tác
với tệp
1. Vai trò của kiểu tệp:
Đặc điểm:
? Em hãy kể tên các kiểu dữ liệu đã học
•
•
•
•
•
•
Số nguyên
Số thực
Kí tự
Logic
Mảng
Xâu
Trường THPT Trại Cau
Kiểu dữ liệu tệp
khắc phục được
! Khi tình
chạytrạng
chương
trình,
đó
dữ liệu này được lưu trữ
tạm thời trên bộ nhớ trong
(Ram)
1. Vai trò của kiểu tệp:
Đặc điểm:
- 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.
Trường THPT Trại Cau
2. Phân loại tệp và thao tác với tệp:
a. Phân loại:
* Xét theo cách tổ chức dữ liệu:
Tệp văn bản
Tệp có cấu trúc
Là tệp mà dữ liệu được ghi Là tệp mà các thành phần của nó
dưới dạng các kí tự theo mã được tổ chức theo một cấu trúc
ASCII.
nhất định.
Trường THPT Trại Cau
2. Phân loại tệp và thao tác với tệp:
a. Phân loại:
* Xét theo cách thức truy cập:
Tệp truy cập tuần tự
Tệp truy cập trực tiếp
Truy cập đến dữ liệu bằng Tham chiếu đến dữ liệu cần truy
cách bắt đầu từ đầu tệp và đi cập bằng cách xác định trực tiếp
qua lần lượt tất cả các dữ liệu vị trí (số hiệu) của nó.
trước nó.
Trường THPT Trại Cau
2. Phân loại tệp và thao tác với tệp:
a. Phân loại:
* Xét theo cách thức truy cập:
Du lieu 1 Du lieu 2 Du lieu 3
Du lieu 4 Du lieu 5 Du lieu 6
…………………
Tệp truy cập trực
tuần tiếp
tự
Trường THPT Trại Cau
2. Phân loại tệp và thao tác với tệp:
b. Thao tác với tệp:
+ Đọc dữ liệu từ tệp
Trường THPT Trại Cau
+ Ghi dữ liệu vào tệp
1. Khai báo
2. Thao tác với tệp
Lưu ý: Chỉ xét với tệp văn bản trong Pascal
1. Khai báo:
VAR <tên biến tệp>:
tệp> TEXT;
Ví dụ:
Var tep1 : Text;
tep2, tep3 : Text;
Trường THPT Trại Cau
Program vd1;
Uses crt;
Var tep1: Text;
tep2, tep3: Text;
2. Thao tác với tệp
Gắn tên tệp
Mở tệp để ghi
Mở tệp để đọc
Đọc tệp
Ghi dữ liệu ra tệp
Đóng tệp
Trường THPT Trại Cau
Sơ đồ các thao tác với tệp
2. Thao tác với tệp
a. Gắn tên tệp
Assign (<biến tệp>,
tệp>);
tệp>
Trong đó: <tên tệp> là biến xâu hoặc hằng xâu.
Tác dụng: Gắn <tên tệp> với đại diện của nó là <biến tệp>
Ví dụ:
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’); BEGIN
Biến tep2 được gắn với tệp
có tên BAITAP.INP trong
thư mục TP ở ổ đĩa D.
END.
Trường THPT Trại Cau
2. Thao tác với tệp
a. Gắn tên tệp
Assign (<biến tệp>,
tệp>);
tệp>
Ví dụ:
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
Biến tep2 được gắn với tệp
có tên BAITAP.INP trong
thư mục TP ở ổ đĩa D.
Program vd1;
Var tep2: Text;
BEGIN
Assign(tep2, ‘D:\TP\BAITAP.INP’);
END.
Trường THPT Trại Cau
2. Thao tác với tệp
b. Mở tệp
+ Mở tệp để đọc dữ liệu
Reset (<biến tệp>);
Ví dụ:
Reset(tep1);
Program vd1;
Var
tep1: Text;
BEGIN
Assign(tep1,‘D:\baitap.txt’);
Reset(tep1);
END.
Trường THPT Trại Cau
2. Thao tác với tệp
b. Mở tệp
+ Mở tệp để ghi dữ liệu
Rewrite (<biến tệp>);
Ví dụ:
Rewrite(tep1);
Lưu ý: Nếu như trên ổ D
chưa có tệp baitap.txt thì tệp
sẽ được tạo rỗng. Nếu đã có,
thì tệp cũ bị xoá và tạo tệp
mới để chuẩn bị ghi dữ liệu.
Trường THPT Trại Cau
Program vd1;
Var
tep1: Text;
BEGIN
Assign(tep1,‘D:\baitap.txt’);
Rewrite(tep1);
END.
2. Thao tác với tệp
c. Đọc/ghi tệp
+ Đọc dữ liệu từ tệp
Read (<biến tệp>, <danh sách biến> );
Hoặc Readln (<biến tệp>, <danh sách biến> );
Trong đó: Danh sách biến là một hoặc nhiều biến đơn
Trường THPT Trại Cau
2. Thao tác với tệp
c. Đọc/ghi tệp
+ Đọc dữ liệu từ tệp
Ví dụ
a
Trường THPT Trại Cau
b
c
2. Thao tác với tệp
c. Đọc/ghi tệp
+ Đọc dữ liệu từ tệp
Ví dụ
Program vd2;
Var
tep1: Text;
a,b,c : integer;
BEGIN
Assign(tep1, ‘D:\baitap.txt’);
Reset(tep1);
Read (tep1,a,b,c);
Trường THPT Trại Cau
a
b
c
2. Thao tác với tệp
c. Đọc/ghi tệp
+ Ghi dữ liệu vào tệp
Write (<biến tệp>, <danh sách kết quả> );
Hoặc Writeln(<biến tệp>, <danh sách kết quả> );
Trong đó: Danh sách kết quả có thể là một hoặc nhiều
phần tử
Trường THPT Trại Cau
2. Thao tác với tệp
c. Đọc/ghi tệp văn bản
+ Ghi dữ liệu vào tệp
Ví dụ
Trường THPT Trại Cau
2. Thao tác với tệp
c. Đọc/ghi tệp
+ Ghi dữ liệu vào tệp
Program vd2;
Var
tep1: Text;
BEGIN
Assign(tep1, ‘D:\baitap.txt’);
Rewrite(tep1);
Write (tep1,’Xin chao cac ban’);
Trường THPT Trại Cau
2. Thao tác với tệp
c. Đọc/ghi tệp
Một số hàm chuẩn dùng khi đọc /ghi tệp văn bản:
EOF (<biến tệp>);
Cho biết con trỏ tệp đã ở vị trí cuối tệp hay chưa.
Nếu trỏ tệp ở cuối tệp thì hàm EOF trả lại giá trị TRUE.
EOLN (<biến tệp>);
Cho biết con trỏ tệp đã ở vị trí cuối dòng hay chưa.
Nếu trỏ tệp ở cuối dòng thì hàm EOLN trả lại giá trị TRUE.
Trường THPT Trại Cau
2. Thao tác với tệp
d. Đóng tệp
Close (<biến tệp>);
Tác dụng của lệnh:
- Đóng tệp để tránh mất mát thông tin.
- Đây là việc làm cần thiết để đảm bảo an toàn dữ liệu.
Trường THPT Trại Cau