Tin11 chuong 05 bai 15
-
Upload
cam-tu-chau -
Category
Education
-
view
732 -
download
2
description
Transcript of Tin11 chuong 05 bai 15
![Page 1: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/1.jpg)
GIÁO VIÊN: Nguyễn Thị Hồng Cẩm
Châu Cẩm Tú
Bài 15:
THAO TÁC VỚI TỆP
TRƯỜNG THPT NGUYỄN TRUNG TRỰC
![Page 2: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/2.jpg)
Câu 1: Xét theo cách tổ chức dữ liệu thì tệp có
mấy loại? đó là những loại nào?
Câu 2: Dữ liệu kiểu tệp được lưu ở đâu?
![Page 3: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/3.jpg)
Xét theo cách tổ chứ dữ
liệu thì tệp được phân
làm 2 loại: tệp văn bản
và tệp có cấu trúc.
Kiểu dữ liệu tệp được
lưu trữ lâu dài ở bộ nhớ
ngoài (đĩa CD, đĩa từ…).
![Page 4: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/4.jpg)
1.Khai báo tệp
2.Thao tác với tệp
NỘI DUNG
![Page 5: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/5.jpg)
I. Khai báo tệp
Trong chương trình Pascal
khi chúng ta muốn dùng
một biến để chứa dữ liệu,
thì việc đầu tiên chúng ta sẽ
làm gì?
Khai báo
biến
![Page 6: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/6.jpg)
I. Khai báo tệp
Tại sao phải
sử dụng tệp tin?
Dữ liệu không bị mất khi tắt
điện và dữ liệu được lưu trữ
trên tệp có dung lượng lớn.
![Page 7: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/7.jpg)
I. Khai báo tệp
Khai báo biến
như thế nào?
Var <danh sách biến>:<Kiểu dữ liệu>;
![Page 8: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/8.jpg)
I. Khai báo tệp
Vậy khai báo
biến tệp
như thế nào?
var <tên biến tệp> : text;
Chú ý:
-Tên biến tệp: Không được
bắt đầu bằng số, trong tên
biến không có khoảng
trắng, không chứa các kí tự
đặc biệt… , , ., !, #, $, %,
&, @)
![Page 9: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/9.jpg)
I. Khai báo tệp
var tep vb : text; var tep1,tep2 : text.
ĐúngSai
Khai báo nào
đúng?
![Page 10: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/10.jpg)
II. Thao tác với tệp1. Gán tên tệp
Trong lập trình, ta không thao tác trực tiếp với tệp dữ
liệu trên đĩa mà thông qua biến tệp.
Gắn tên tệp với biến tệp thực chất là tạo một tham
chiếu giữa tệp trên đĩa và biến tệp trong chương tình, làm
cho biến tệp trở thành đại diện cho tệp.
![Page 11: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/11.jpg)
II. Thao tác với tệp
GHI DỮ LIỆU VÀO TỆP ĐỌC DỮ LIỆU TỪ TỆPGá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
Hình: Sơ đồ tổng quát
![Page 12: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/12.jpg)
II. Thao tác với tệp1. Gán tên tệp
assign(<biến tệp>,<tên tệp>);
Trong đó:
- tên tệp: Là hằng xâu ký tự hoặc giá trị của một biểu thức
kiểu xâu ký tự.
- Độ dài lớn nhất của tên tệp là 79 ký tự.
![Page 13: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/13.jpg)
II. Thao tác với tệp1. Gán tên tệp
Phân biệt tên tệp với biến tệp:
- Mỗi tệp có một cái tên, tên tệp là biến xâu hay hằng xâu.
+Ví dụ 1: assign(tep1,‘DULIEU.DAT’);+Ví dụ 2: tentep=’DL.INP’;
assign(tep1, tentep); +Ví dụ 3: assign(tep1, ‘C:\\DIEM.TXT’);
- Biến tệp là biến sử dụng để tham chiếu tới các phần tử của
tệp.
![Page 14: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/14.jpg)
II. Thao tác với tệp2. Mở tệp
2 kiểu
Mở tệp để ghi Mở tệp để đọc
rewrite(<biến tệp>); reset(<biến tệp>);
Ví dụ: assign(tep1, ‘KQ.DAT’);rewrite(tep1);
Ví dụ: assign(tep2, ‘KQ.DAT’);
reset(tep2);
![Page 15: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/15.jpg)
II. Thao tác với tệp3. Đọc/ ghi tệp văn bản
Trong pascal, lệnh
nào dùng để đọc dữ
liệu? Lệnh nào dùng
để ghi dữ liệu?
Lệnh ghi là write
hoặc writeln
Lệnh đọc là read
hoặc readln
![Page 16: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/16.jpg)
II. Thao tác với tệp3. Đọc/ ghi tệp văn bản
Đọc tệpvăn bản:
Ghi tệpvăn bản:
read(<biến tệp>,<danh sách biến>);readln(<biến tệp>,<danh sách biến>);
write(<biến tệp>,<danh sách kếtquả>);writeln(<biến tệp>,<danh sách kếtquả>);
![Page 17: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/17.jpg)
II. Thao tác với tệp3. Đọc/ ghi tệp văn bản
Ví dụ:
+ Để đọc dữ liệu từ tệp A ta viết:
read(tepA,x,y,z);
Hoặc readln(tepA,x,y,z);
Chú ý: Các dữ liệu cần đọc tệp gán vào danh sách
biến phải lần lượt có kiểu tương ứng với kiểu của
biến trong danh sách biến.
![Page 18: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/18.jpg)
II. Thao tác với tệp3. Đọc/ ghi tệp văn bản
Ví dụ:
+ Để ghi dữ liệu vào tệp B ta viết:
Write(tepB, ‘A=’,a, ‘B=’,b);
Hoặc Writeln(tepB, ‘A=’,a, ‘B=’,b);
Lưu ý: Khi hai kết quả liền nhau cùng là kiểu số
thì cần xen vào giữa hai kết quả này một kết quả
trung gian là hằng kí tự dấu cách.
Vd: write( tepB,1,’ ‘,2,’ ‘,3);
![Page 19: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/19.jpg)
II. Thao tác với tệp3. Đọc/ ghi tệp văn bản
Một số hàm và thủ tục thông dụng:
• Hàm EOF (<biến tệp>): trả về giá trị TRUE khi
con trỏ tệp đã ở vị trí cuối tệp.
• Hàm EOLN(biến tệp>): trả về giá trị TRUE khi
con trỏ tệp đã ở vị trí cuối dòng.
![Page 20: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/20.jpg)
II. Thao tác với tệp4. Đóng tệp văn bản
Sau khi làm
việc xong với
tệp ta phải làm
gì?
Tại sao ta phải
đóng tệp?
Sau khi làm việc xong với tệp cần phải
đóng tệp.
Chỉ có đóng tệp thì khi đó hệ thống mới
thực sự hoàn tất ghi dữ liệu ra tệp.
![Page 21: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/21.jpg)
II. Thao tác với tệp4. Đóng tệp văn bản
Câu lệnh dùng thủ tục đóng tệp:
Vd: Close (tepA);
Close (tepB);
Close (<biến tệp>);
![Page 22: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/22.jpg)
1. Cấu trúc khai báo tệp?2. Các thao tác với tệp?
var <tên biến tệp> : text;
![Page 23: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/23.jpg)
Củng cố
Câu
1:
Câu lệnh dùng mở tệp để ghi?
a. rewrite(<biến tệp>,<tên tệp>);
b. reset (<biến tệp>,<tên tệp>);
c. rewite(<biến tệp>);
d. reset(biến tệp);
![Page 24: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/24.jpg)
Củng cố
Câu
2:
(1)Var tepA, tepB,tep C: text;
(2)Begin
(3)assign (tepA, ‘Xoai.txt’);
(4)assign (tepB, ‘Me.txt’);
(5)reset(tepA);
(6)read(tepA,A,B,C);
(7)readln(tepA,D,E);
(8)rewrite(tepB);
(9)write(tepB, ‘A=’,A, ‘D=’,);
(10)writeln(tepB, ‘x1=’, (-B-SQRT(B*B-
4*A*C))/(2*A):5:3);
(11)close (tepA);
(12)Close (tepB);
(13)Readln;
(14)End.
Khai báotệp?
Gán têntệp?
Mở tệp?
Đóngtệp?
Đọc tệp?
Ghi tệp?
![Page 25: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/25.jpg)
BTVN:
Trả lời câu hỏi trong sách bài tập và
xem trước ví dụ 1, ví dụ 2 bài 16 trong
SGK.
![Page 26: Tin11 chuong 05 bai 15](https://reader033.fdocument.pub/reader033/viewer/2022060123/5596dd1d1a28abdb6a8b483e/html5/thumbnails/26.jpg)