kiểm tra bài cũ
Câu hỏi: Nêu ý nghĩa kiểu dữ liệu tệp? Khi làm việc với tệp có những thao tác chính nào?
Trả lời:
* Ý nghĩa:
Dùng lưu trữ dữ liệu lâu dài ở bộ nhớ ngoài.
Khả năng lưu trữ dữ liệu lớn.
* Có hai thao tác chính là:
Đọc dữ liệu từ tệp.
Ghi dữ liệu vào tệp.
Bài 15:
THAO TÁC VỚI TỆP
Bài 15:
Thao tác với tệp
1. Khai báo
2. Thao tác với tệp
1. Khai báo
Cú pháp khai báo:
Ví dụ 1: Khai báo biến tệp có tên là f.
Var : text;
Var f : text;
Ví dụ 2: Khai báo 2 biến tệp có tên là f1, f2.
Var f1, f2 : text;
Cấu trúc khai báo biến trong pascal?
Gắn tên tệp
Mở tệp để ghi;
Mở tệp để đọc;
Ghi dữ liệu vào tệp;
Đọc dữ liệu từ tệp
Đóng tệp;
Ghi
Đọc
Thao tác với tệp
2. Thao tác với tệp
a) Gắn tên tệp
1. Khai báo
Tệp lưu trên đĩa
Tên tệp
Cú pháp:
Assign(, );
Chú ý: sau lệnh gắn trên tất cả các thao tác trên biến tệp thực chất là đang thao tác trên tên tệp.
Ví dụ 1: Thủ tục gắn tệp DULIEU.TXT cho biến tệp f như sau:
Assign (f, ‘DULIEU.TXT’);
Assign (f, ‘C:\SONGUYEN.DAT’);
Ví dụ 2: Tệp SONGUYEN.DAT nằm trên thư mục gốc của đĩa C, ta cần sử dụng thủ tục Assign như sau:
2. Thao tác với tệp
a) Gắn tên tệp
1. Khai báo
Cú pháp:
Assign(, );
2. Thao tác với tệp
a) Gắn tên tệp
1. Khai báo
Cú pháp:
Assign(, );
2. Thao tác với tệp
a) Gắn tên tệp
1. Khai báo
Cú pháp:
Assign(, );
2. Thao tác với tệp
a) Gắn tên tệp
1. Khai báo
b) Mở tệp
Thủ tục mở tệp để ghi dữ liệu:
Rewrite ();
Ví dụ:
Assign (f, ‘D:\DAYSO.TXT’);
Rewrite (f);
Lưu ý: Nếu như trên ổ D chưa có tệp DAYSO.DAT 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 mới.
2. Thao tác với tệp
b) Mở tệp
1. Khai báo
Thủ tục mở tệp để ghi dữ liệu:
a) Gắn tên tệp
Thủ tục mở tệp để đọc dữ liệu:
Rewrite ();
Ví dụ: Mở tệp SONGUYEN.TXT để đọc.
Assign (f, ‘SONGUYEN.TXT’);
Reset (f);
Reset ();
2. Thao tác với tệp
b) Mở tệp
1. Khai báo
a) Gắn tên tệp
c) Đọc, ghi tệp văn bản
Trong pascal, lệnh nào dùng để đọc dữ liệu từ bàn phím? Lệnh nào dùng để ghi dữ liệu ra màn hình?
Lệnh đọc là read/readln()
Lệnh ghi là write/writeln()
2. Thao tác với tệp
b) Mở tệp
1. Khai báo
a) Gắn tên tệp
c) Đọc, ghi tệp văn bản
Đọc DL từ tệp: read/readln(,)
Ghi DL vào têp:write/writeln(,)
Ví dụ:
- Đọc dl từ tệp f vào biến x :
Read(f,x);
- Ghi dl lưu trong biến a,b,c vào tệp f1 :
Write(f1,a,b,c);
2. Thao tác với tệp
b) Mở tệp
1. Khai báo
a) Gắn tên tệp
c) Đọc, ghi tệp văn bản
2. Thao tác với tệp
b) Mở tệp
1. Khai báo
a) Gắn tên tệp
c) Đọc, ghi tệp văn bản
2. Thao tác với tệp
b) Mở tệp
1. Khai báo
a) Gắn tên tệp
c) Đọc, ghi tệp văn bản
2. Thao tác với tệp
b) Mở tệp
1. Khai báo
a) Gắn tên tệp
c) Đọc, ghi tệp văn bản
* Hàm EOF() trả về giá trị TRUE nếu con trỏ tệp chỉ tới cuối tệp.
* Hàm EOLN() trả về giá trị TRUE nếu con trỏ tệp chỉ tới cuối dòng.
2. Thao tác với tệp
b) Mở tệp
1. Khai báo
a) Gắn tên tệp
c) Đọc, ghi tệp văn bản
d) Đóng tệp: tránh mất dữ liệu
Close();
Ví dụ: Đóng tệp f: Close(f);
Assign(,);
rewrite();
Reset();
Write/writeln(,);
read/readln(,);
close();
Ghi
Đọc
Thao tác với tệp
BÀI TẬP CỦNG CỐ
Câu 1: Trong Pascal để khai báo biến tệp văn bản ta sử dụng cú pháp
Var : Text;
Var : Text;
Var : string;
Var : string;
I. Hãy chọn phương án trả lời đúng nhất
Câu 2: Để gắn tệp KQ.TXT cho biến tệp f1 ta sử dụng câu lệnh:
f1:=‘KQ.TXT’;
KQ.TXT:=f1;
Assign(‘KQ.TXT’,f1);
Assign(f1, ‘KQ.TXT’);
BÀI TẬP CỦNG CỐ
Câu 3: Sắp xếp lại các câu lệnh sau để có thứ tự đúng trong chương trình?

Begin
Var f:text; a,b:integer;
Rewrite(f);
Assign(f,’songuyen.int’);
End.
A:=5; b:=15;
Write(f,a,b);
Close(f);

B.Var f:text; a,b:integer;
A. Begin
D. Assign(f,’songuyen.int’);
C. Rewrite(f);
F. A:=5; b:=15;
G. Write(f,a,’ ‘,b);
H. Close(f);
E. End.


BTVN:
Trả lời câu hỏi trong sách giáo khoa trang 89 và xem trước ví dụ 1, ví dụ 2 bài 16 trong SGK.
nguon VI OLET