Bài 15. Thao tác với tệp

Chia sẻ bởi Trần Thị Hòa | Ngày 10/05/2019 | 55

Chia sẻ tài liệu: Bài 15. Thao tác với tệp thuộc Tin học 11

Nội dung tài liệu:

Kiểm tra bài cũ
Câu 1: Kiểu dữ liệu tệp có đặc điểm gì? Có thể phân thành mấy loại tệp?
Trả lời:
Đặc điểm:
Dữ liệu kiểu tệp được lưu trữ lâu dài ở bộ nhớ ngoài và không bị mất khi tắt nguồn điện
Lượng dữ liệu lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc vào dung lượng đĩa.
Phân loại tệp :
Xét theo cách tổ chức dữ liệu phân làm hai loại:
Tệp văn bản
Tệp có cấu trúc
Xét theo cách thức truy cập phân thành hai loại:
Tệp truy cập tuần tự
Tệp truy cập trực tiếp



Kiểm tra bài cũ
Câu 2: Em hãy nêu khái niệm tệp văn bản? Các thao tác với tệp?
Tệp văn bản: là tệp mà dữ liệu được ghi dưới dạng các kí tự theo mã ASCII
Các thao tác với tệp :
Khai báo biến tệp
Mở tệp
Đọc/ghi dữ liệu
Đóng tệp


GIÁO VIÊN: Trần Thị Hòa
Bài 15:
THAO TÁC VỚI TỆP
TRƯỜNG THPT NGUYỄN HỮU CẢNH
Khai báo
Thao tác với tệp
Bài 15: THAO TÁC VỚI TỆP
1. Khai báo
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
1. Khai báo
Khai báo biến
như thế nào?
Var :;
1. Khai báo
Vậy khai báo
biến tệp
như thế nào?
var : 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… , , ., !, #, $, %, &, @)
1. Khai báo

Khai báo 1:
Var tep vb : text;

Khai báo 2:
Var tep1,tep2 : text;
Đúng
Sai
Khai báo nào đúng? Khai báo nào sai?
I. Khai báo
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.
2. Thao tác với tệp
Hình: Sơ đồ tổng quát
2. Thao tác với tệp
a. Gán tên tệp
assign(,);
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ự.
2. Thao tác với tệp
a. Gán tên tệp
Phân biệt tên tệp với biến tệp:

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.
assign(,);
2. Thao tác với tệp
b. Mở tệp
2 kiểu
Mở tệp để ghi
Mở tệp để đọc
rewrite();
reset();
Ví dụ:
assign(tep1, ‘KQ.DAT’);
rewrite(tep1);
Ví dụ:
assign(tep2, ‘KQ.DAT’);
reset(tep2);
2. Thao tác với tệp
c. Đọ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
2. Thao tác với tệp
c. Đọc/ ghi tệp văn bản
Đọc tệp văn bản:
Ghi tệp văn bản:
read(,);
readln(,);
write(,);
writeln(,);
2. Thao tác với tệp
c. Đọ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.
2. Thao tác với tệp
c. Đọ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.
Ví dụ: write( tepB,1,’ ‘,2,’ ‘,32);
2. Thao tác với tệp
c. Đọc/ ghi tệp văn bản
Một số hàm và thủ tục thông dụng:

Hàm EOF (): 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.
2. Thao tác với tệp
d. Đó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.
2. Thao tác với tệp
d. Đóng tệp văn bản

Câu lệnh dùng thủ tục đóng tệp:




Ví dụ: Close (tepA);
Close (tepB);
Close ();
1. Cấu trúc khai báo tệp:
var : text ;
2. Các thao tác với tệp:

Ghi nhớ
Câu hỏi củng cố
Câu 1:
Câu lệnh dùng mở tệp để ghi?

rewrite(,);
reset (,);
rewite();
reset(biến tệp);
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áo tệp?
Gán tên tệp?
Mở tệp?
Đóng tệp?
Đọc tệp?
Ghi tệp?


BTVN:
Trả lời câu hỏi trong sách bài tập và xem trước ví dụ 1 bài 16 trong SGK.
The End
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Trần Thị Hòa
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)