Chào mừng thầy, cô về dự giờ
Lớp 11A9
- Khi chạy chương trình pascal tính tổng 2 số nguyên, nếu không nhập 2 số nguyên từ bàn phím thì chương trình có thực hiện và cho ta kết quả hay không?
Đặt vấn đề:
Vẫn thực hiện và tính toán được nếu như dữ liệu được lấy từ một tệp tin nào đó.
Giới thiệu bài toán:
Đọc tệp -> xử lý dữ liệu -> in kết quả.

Dữ liệu trong tệp ‘C:\dulieumau\tepmau.txt’
B�i 15
THAO TÁC VỚI TỆP
THAO TÁC VỚI TỆP
1. Khai báo
2. Thao tác với tệp
1. Khai báo:
1. Khai báo:
VAR : TEXT;
VD:
Var tep1,tep2 : Text;
Var tep1,tep2: TEXT;
2. Thao tác với tệp:
a. Gắn tên tệp
b. Mở tệp:
c. Đọc/ghi tệp văn bản:
d. Đóng tệp:
2. Thao tác với tệp:
a. Gắn tên tệp
Tác dụng:
Gắn với đại diện của nó là
Trong đó, là biến xâu hoặc hằng xâu.
ASSIGN (F, ‘C:\dulieumau\tepmau.txt’);
Biến F được gắn với tệp tepmau.txt đã có trong thư mục dulieumau ở ổ đĩa c.
Ví dụ:
2. Thao tác với tệp:
a. Gắn tên tệp
Sau lệnh gắn tên tệp ta sẽ thực hiện thao tác gì tiếp theo với tệp?
MỞ TỆP
Mở để đọc
Mở để ghi
2. Thao tác với tệp:
b. Mở tệp:
Cú pháp:
b1. Mở tệp để ghi dữ liệu:
BEGIN
REWRITE ();
2. Thao tác với tệp:
Ví dụ:
Assign(tep,‘D:\ketqua.txt’);
Rewrite (tep);
Var
tep: TEXT;
BEGIN
Assign(tep,‘D:\ketqua.txt’);
Rewrite(tep);
b. Mở tệp:
b1. Mở tệp để ghi dữ liệu:
2. Thao tác với tệp:
RESET ();
b2. Mở tệp để đọc dữ liệu:
Cú pháp:
Var
F: TEXT;
BEGIN
Assign(F,‘c:\dulieumau\tepmau.txt’);
Reset(F);
Ví dụ: Assign(F,‘C:\dulieumau\tepmau.txt’);
Reset (F);
b. Mở tệp:
2. Thao tác với tệp:
Sau khi mở tệp ta tiếp tục thực hiện thao tác gì?
ĐỌC TỆP
GHI TỆP
2. Thao tác với tệp:
c. Đọc/ghi tệp văn bản:
* Thủ tục đọc dữ liệu từ tệp:
 Danh sách biến là một hoặc nhiều biến.
READ (, );
READLN (, );
VD:
Cú pháp:
Hoặc
2. Thao tác với tệp:
* 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.
WRITE (, );
WRITELN (, );
Write (tep,a+b);
VD:
Hoặc
c. Đọc/ghi tệp văn bản:
2. Thao tác với tệp:
+ Hàm eof() trả về true nếu con trỏ tệp đang chỉ tới cuối tệp.
18
Một số hàm chuẩn:
+ Hàm eoln() trả về true nếu con trỏ tệp đang chỉ tới cuối dòng.
2. Thao tác với tệp:
Thao tác cuối cùng khi làm việc với tệp là gì?
ĐÓNG TỆP
d. Đóng tệp:
 Đóng tệp để tránh mất mát thông tin.
Ví dụ: Close(F);
Close(tep);
2. Thao tác với tệp:
Sơ đồ liên hệ giữa các thao tác với tệp
Em hãy điền vào chỗ trống để hoàn thiện chương trình ghi xâu ‘Chao lop 11a9’ vào tệp ‘D:\Baitap.txt.’
BÀI TẬP CỦNG CỐ
Var tep:text;
Begin
Assign(.......(1)............);
.....(2)......;
Write(........(3)...........);
.....(4).......;
Readln
End.
Var tep:text;
Begin
Assign(tep,’D:\Baitap.txt’);
Rewrite(tep);
Write(tep,’Chao lop 11a9’);
Close(tep);
Readln
End.
BÀI TẬP MỞ RỘNG
Viết chương trình đọc tệp C:\bt.txt chứa hai số nguyên trên hai dòng. Tính tổng 2 số nguyên đó và in ra màn hình.
Về học bài và xem trước bài 16 ví dụ làm việc với tệp.
BÀI TẬP CỦNG CỐ
Câu 2 Hãy chọn thứ tự hợp lý nhất khi thực hiện các thao tác đọc dữ liệu từ tệp?
A.Mở tệp => Đọc dữ liệu từ tệp => Gắn tên tệp với biến tệp => Đóng tệp.
B.Gắn tên tệp với biến tệp => Đọc dữ liệu từ tệp => Mở tệp => Đóng tệp
C.Mở tệp => Gắn tên tệp với biến tệp => Đọc dữ liệu từ tệp => Đóng tệp
D.Gắn tên tệp với biến tệp => Mở tệp => Đọc dữ liệu từ tệp => Đóng tệp
I. Hãy chọn phương án trả lời đúng nhất
BÀI TẬP CỦNG CỐ
Câu 1. Để thao tác với tệp?
A. Ta có thể gắn tên tệp cho biến tệp, hoặc sử dụng trực tiếp tên tệp cũng được.
B. Ta nên sử dụng trực tiếp tên tệp trong chương trình.
C. Ta nhất thiết phải gắn tên tệp cho biến tệp.
D. Ta nhất thiết phải sử dụng trực tiếp tên tệp trong chương trình.
I. Hãy chọn phương án trả lời đúng nhất
Close(F1);
Ghi dữ liệu ra tệp
Đọc dữ liệu từ tệp
nguon VI OLET