04 02-2015 tep.ppt

19
CH CH ƯƠ ƯƠ NG V. TỆP VÀ THAO TÁC VỚI NG V. TỆP VÀ THAO TÁC VỚI TỆP TỆP Vai trò và các đặc điểm của kiểu dữ liệu tệp; Thao tác với tệp văn bản.

Upload: tranvansi-sivantran

Post on 14-Feb-2017

235 views

Category:

Education


0 download

TRANSCRIPT

CHCHƯƠƯƠNG V. TỆP VÀ THAO TÁC VỚI NG V. TỆP VÀ THAO TÁC VỚI TỆP TỆP

Vai trò và các đặc điểm của kiểu dữ liệu tệp;

Thao tác với tệp văn bản.

Tiết: 35Tiết: 35BÀI 14. KIỂU DỮ LIỆU TỆPBÀI 14. KIỂU DỮ LIỆU TỆPBÀI 15. THAO TÁC VỚI TỆPBÀI 15. THAO TÁC VỚI TỆP

BÀI 14: KIỂU DỮ LIỆU TỆP

1. Vai trò của kiểu tệp.

- Tất cả các kiểu dữ liệu đã học đều được lưu trữ ở bộ nhớ trong Ram.

Bộ nhớ RAM có những đặc điểm: Ghi nhớ thông tin trong khi máy tính làm việc, khi tắt máy các thông tin trong Ram sẽ bị xoá.

- Kiểu dữ liệu tệp có những đặc điểm sau:

+ Kiểu dữ liệu tệp được lưu trữ lâu dài ở bộ nhớ ngoài (đĩa từ, CD,...)

+ Lượng dữ liệu lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc dung lượng đĩa.

Em hãy cho biết các dữ liệu thuộc các kiểu dữ liệu đã học được lưu trữ ở bộ nhớ nào khi thực hiện chương trình?

Bộ nhớ Ram có những đặc điểm gì? Nghiên cứu SGK cho biết đặc điểm của kiểu tệp?

BÀI 14: KIỂU DỮ LIỆU TỆP

1. Vai trò của kiểu tệp. 2. Phân loại tệp và thao tác với tệp. Có 2 cách: Xét theo cách tổ chức dữ liệu. Xét theo cách thức truy cập.

* Xét theo cách tổ chức dữ liệu

- Tệp VB là tệp mà dữ liệu được ghi dưới dạng các kí tự theo mã ASCII và quản lí theo từng dòng.

- Tệp có cấu trúc là loại tệp mà các thành phần của nó được tổ chức theo một cấu trúc nhất định (VD: Tổ chức theo các phần tử cùng kiểu).

VD: Sách, tài liệu, giáo án, bài học, các chương trình nguồn viết bằng ngôn ngữ bậc cao.

VD: Dữ liệu âm thanh, ảnh,...

Phân loại tệp có mấy cách đó là những cách nào? Hãy trình bày khái niệm tệp văn bản và tệp có cấu trúc?

BÀI 14: KIỂU DỮ LIỆU TỆP

1. Vai trò của kiểu tệp. 2. Phân loại tệp và thao tác với tệp. Có 2 cách: Xét theo cách tổ chức dữ liệu. Xét theo cách thức truy cập.

* Xét theo cách thức truy cập:

- Tệp truy cập tuần tự cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần lượt tất cả các dữ liệu trước nó

- Tệp truy cập trực tiếp cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó.

Thế nào là tệp truy cập tuần tự và tệp truy cập trực tiếp? Nêu các thao tác cơ bản khi làm việc với tệp văn bản ?

BÀI 14: KIỂU DỮ LIỆU TỆP

1. Vai trò của kiểu tệp. 2. Phân loại tệp và thao tác với tệp.* Hai thao tác cơ bản với tệp văn bản là ghi dữ liệu vào tệp và đọc dữ liệu từ tệp. * Hầu hết các ngôn ngữ lập trình đều có qui tắc cho phép người lập trình xác định: - Khai báo biến tệp. - Mở tệp. - Đọc/ghi dữ liệu. - Đóng tệp.Chú ý: Khác với kiểu mảng, số lượng phần tử của tệp không cần xác định trước. Thao tác đọc/ghi với tệp được thực hiện với từng phần tử của tệp.

BÀI 15: THAO TÁC VỚI TỆP

1. Khai báo.

Cấu trúc chung của khai báo biến tệp:

Var <tên biến tệp>: Text;

Thủ tục gắn tên tệp:

VD: Var a,b:Text;

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

a. Gắn tên tệp.

Assign (<biến tệp>,<tên tệp>);

Trong đó: tên tệp là biến xâu hoặc hằng xâu.

VD: Assign(tep1,’DULIEU.DAT’);

Hãy cho ví dụ minh hoạ? Hãy cho ví dụ minh hoạ?

Đĩa từ T

ệp lưu tr

ên đĩa Tên tệp

Chương trình

Assign(tep,’VGA.DRV’)

Tên biến tệp trong chương trình

BÀI 15: THAO TÁC VỚI TỆP

1. Khai báo.

- Câu lệnh sử dụng thủ tục Reset mở tệp đã tồn tại để đọc dữ liệu:

2. Thao tác với tệp.a. Gắn tên tệp.

Reset(<biến tệp>);

VD: Assign(tep1,’DULIEU.DAT’); Reset(tep1);

b. Mở tệp.

Tên tệp có thể là một đường dẫn:<ổ đĩa>:\<tên thư mục>\<tên thư mục>\...\<tên thư mục>\<tên tệp>

VD: Assign(tep2,’C:\Window\System\VGA.DRV’);

- Câu lệnh sử dụng thủ tục Rewrite mở tệp để ghi dữ liệu:

Rewrite(<biến tệp>);

Hãy cho ví dụ minh hoạ?

BÀI 15: THAO TÁC VỚI TỆP

1. Khai báo.2. Thao tác với tệp.a. Gắn tên tệp.

VD: Assign(tep1,’Baitap.dat’); Rewrite(tep1);

b. Mở tệp.

- Cú pháp đọc tệp văn bản:

Read(<biến tệp>,<danh sách biến>);

Chú ý: Trước khi mở tệp, biến tệp phải được gắn tên tệp bằng thủ tục Assign.

c. Đọc/ghi tệp văn bản.

hoặc

Readln(<biến tệp>,<danh sách biến>);

Hãy cho ví dụ minh hoạ? Hãy viết cấu trúc chung của câu lệnh đọc/ghi dữ liệu đối với tệp văn bản?

BÀI 15: THAO TÁC VỚI TỆP

1. Khai báo.2. Thao tác với tệp.a. Gắn tên tệp.b. Mở tệp.

- Cú pháp đọc tệp văn bản:

Read(<biến tệp>,<danh sách biến>);

c. Đọc/ghi tệp văn bản.

hoặcReadln(<biến tệp>,<danh sách biến>);

Trong đó: Tên biến là một dãy tên biến 1, biến 2,..., biến N.

VD: Read(tep1,a,b,c);hoặc: Readln(tep1,i,x);

Giả sử tep1 được mở để đọc dữ liệu. Hãy viết thủ tục để đọc dữ liệu từ tệp tep1.

BÀI 15: THAO TÁC VỚI TỆP

1. Khai báo.2. Thao tác với tệp.a. Gắn tên tệp.b. Mở tệp.

- Cú pháp ghi tệp văn bản:

Write(<biến tệp>,<danh sách kq’>);

c. Đọc/ghi tệp văn bản.

hoặcWriteln(<biến tệp>,<danh sách kq’>);

Trong đó: Danh sách kết quả là dãy kết quả 1, kết quả 2,..., kết quả N.

VD: Write(tep1,’a=’,a,’b=’,b,’c=’,c);hoặc: Writeln(tep1,’x=’,(-b/a):4:2);

Giả sử tep1 được mở để ghi dữ liệu. Hãy viết thủ tục để ghi dữ liệu vào tệp tep1.

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ả số này một kết quả trung gian là hằng kí tự dấu cách. VD: Write(f,x,’ ’,y);

BÀI 15: THAO TÁC VỚI TỆP

1. Khai báo.2. Thao tác với tệp.a. Gắn tên tệp.b. Mở tệp.

- Cú pháp đóng tệp:

Close(<biến tệp>);

c. Đọc/ghi tệp văn bản.

Trong đó: Biến tệp đã được gắn với một tệp đang mở bằng Reset hoặc Rewrite.

VD: Close(tep1);

d. Đóng tệp.

Hãy cho ví dụ minh hoạ?

CỦNG CỐ KIẾN THỨC

* Các thao tác với tệp được mô tả qua hình sau:

* Cách khai báo tệp: Var <tên biến tệp>: text;

- Vai trò của kiểu dữ liệu tệp

- Tệp có mấy loại, đó là những loại nào?

* Xét theo cách tổ chức dữ liệu - Tệp văn bản - Tệp có cấu trúc

* Xét theo cách truy cập: - Tệp truy cập tuần tự - Tệp truy cập trực tiếp.

Assign(<biến tệp>,<tên tệp>);

Rewrite(<biến tệp>); Reset(<biến tệp>);

Read(<biến tệp>,<danh sách biến>); Write(<biến tệp>,<danh sách kết quả>);

Close(<biến tệp>);

GhiGhi ĐọcĐọc

CỦNG CỐ KIẾN THỨC

Assign(<biến tệp>,<tên tệp>);

Rewrite(<biến tệp>); Reset(<biến tệp>);

Read(<biến tệp>,<danh sách biến>); Write(<biến tệp>,<danh sách kết quả>);

Close(<biến tệp>);

Hãy giải thích ý nghĩa của sơ đồ?

- Ghi tệp: Gán tên tệp, tạo tệp mới, ghi thông tin, đóng tệp.

- Đọc tệp: Gán tên tệp, mở tệp, đọc thông tin, đóng tệp.

Ý nghĩa của sơ đồ:

GhiGhi ĐọcĐọc

1616

Câu 1. Câu lệnh dùng mở tệp để đọc?

A. open(<biến tệp>,<tên tệp>);B. reset (<biến tệp>,<tên tệp>);C. open(<biến tệp>);D. reset(biến tệp);

1717

Câu 2. Câu 2. Nối cấu trúc thích hợp?

1. Đóng tệp.2. Mở tệp.3. Gán tên tệp.4. Đọc/ghi tệp văn bản.

a. assign(<biến tệp>,<tên tệp>);b. reset(<biến tệp>);c. read(<biến tệp>,<danh sách biến>);d. write(<biến tệp>,<danh sách kết quả>);e. close(<biến tệp>);

1 – e2 – b3 – a

4 – c, d

1818

DẶN DÒ

Về nhà học lại toàn bộ kiến thức trong bài học.

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.