tin11 chuong 05 bai 15

26
GIÁO VIÊN: Nguyễn Thị Hồng Cẩm Châu Cẩm Bài 15: THAO TÁC VỚI TỆP TRƯỜNG THPT NGUYỄN TRUNG TRỰC

Upload: cam-tu-chau

Post on 04-Jul-2015

732 views

Category:

Education


2 download

DESCRIPTION

Slide bài giảng môn tin học lớp 11 chương 05 bài 15

TRANSCRIPT

Page 1: Tin11 chuong 05 bai 15

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

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

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

1.Khai báo tệp

2.Thao tác với tệp

NỘI DUNG

Page 5: Tin11 chuong 05 bai 15

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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