I. Mục đích yêu cầu
1. Kiến thức
- Học sinh biết được vai trò của kiểu dữ liệu tệp
- Học sinh biết được có 2 cách phân loại tệp.
- Học sinh biết khai báo biến tệp và thao tác cơ bản với tệp văn bản
2. Kỹ năng
Dần dần hình thành kỹ năng về thao tác với tệp văn bản
3. Thái độ
- Rèn luyện cho học sinh có ý thức lưu trữ dữ liệu một cách khoa học, phòng chống mất mát thông tin hoặc nhiễm vi rút
II. Phương pháp, dụng cụ
- Sử dụng thuyết trình, giảng giải, gợi ý nêu vấn đề.
- Dùng bảng in sẵn hinhg 16 SHK và chuẩn bị máy chiếu
III. Nội dung
Chương V. Tệp và thao tác với tệp Bài 14+15: Kiểu dữ liệu tệp và thao tác với tệp I. Mục đích yêu cầu 1. Kiến thức - Học sinh biết được vai trò của kiểu dữ liệu tệp - Học sinh biết được có 2 cách phân loại tệp. - Học sinh biết khai báo biến tệp và thao tác cơ bản với tệp văn bản 2. Kỹ năng Dần dần hình thành kỹ năng về thao tác với tệp văn bản 3. Thái độ - Rèn luyện cho học sinh có ý thức lưu trữ dữ liệu một cách khoa học, phòng chống mất mát thông tin hoặc nhiễm vi rút II. Phương pháp, dụng cụ - Sử dụng thuyết trình, giảng giải, gợi ý nêu vấn đề. - Dùng bảng in sẵn hinhg 16 SHK và chuẩn bị máy chiếu III. Nội dung Nội dung - Hoạt động của giáo viên Hoạt động của học sinh HĐ1: Đặt vấn đề Trong các giờ thực hành đã học, sau khi chạy chương trình ta thấy kết quả in trên màn hình, tuy nhiên muốn sử dụng kết quả đó về sau thì không được (nó không lưu trữ lâu dài được) Để khắc phục nhược điểm đó ta nghiên cứu dữ liệu kiểu tệp 1. Vai trò của tệp C_hỏi: Trong máy tính có những loại bộ nhớ nào ? loại bộ nhớ nào không bị mất dữ liệu khi tắt máy ? C_hỏi 2: Vậy theo em thì có các kiểu dữ liệu đã học được lưu trữ ở bộ nhớ nào ? C-Hỏi 3: Bộ nhớ trong hay bộ nhớ ngoài có dung lượng lớn hơn ? Gv: Chốt lại: Dữ liệu kiểu tệp được lưu trữ lâu dài ở bộ nhớ ngoài (Đĩa từ, CD, và không bị mất khi tắt nguồn điện. Lượng dữ liệu lưu trữ dữ liệu trên tệp có thể rất lớn và chỉ phụ thuộc vào dung lượng đĩa. 2. Phân loại tệp và thao tác với tệp Gv: Giới thiệu cho học sinh có 2 loại tệp ( không đòi hỏi học sinh hiểu cặn kẽ 2 loại tệp). - Theo cách tổ chức dữ liệu: ỉ Tệp văn bản là tệp được ghi dưới dạng các kí tự theo bảng mã ASCII. Trong tệp văn bản dãy kí tự kết thúc bởi kí tự xuống dòng hay kí tự kết thúc tệp tạo thành một dòng. ỉ Tệp dữ liệu có cấu trúc là 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. - Theo cách thức truy cập Tệp truy cập tuần tự: Bằng cách đi từ đầu tệp và đi qua lần lượt các dữ liệu đến vị trí cần truy cập. 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 đó. GV Có 2 thao tác cơ bản đối với tệp là đọc và ghi dữ liệu ta xem xét trong ngôn ngữ lập trình Pascal các thao tác đó đựơc thể hiện như thế nào đối với tệp văn bản ? 3. Khai báo: Khai báo biến tệp văn bản có dạng Var : Text; Vd: Var tep1,tep2:text; 4. Thao tác với tệp a. Gắn tên tệp. Gv: Giải thích cho học sinh tại sao phải gắn tên tệp cho biến tệp, rồi đưa ra thủ tục. Để truy cập đến tệp ta thông qua tên tệp. Tên tệp là biến xâu hoặc hằng xâu ví dụ: 'Dulieu.dat' Trong lập trình ta không thao tác trực tiếp trên tệp mà thông qua biến tệp. Biến tệp được NNLT sử dụng làm đại diện cho tệp. Do vậy để thao tác với tệp trước hết ta phải gắn tên tệp cho biến tệp bằng thủ tục. Assign(, ); Trong đó: Biến tệp là biến được khai báo ở mục 3 Tên tệp là biến xâu hoặc hằng xâu. Ví dụ: tên tệp:='Kq.txt' Tên tệp:='C:\TP\BaiTap\dulieu.int' Ví dụ gắn tên tệp vào biến: Assign(tep1,'kq.txt'); assign(tep2,'C;\Tp\baitap\dulieu.int'); b.Mở tệp Xét 2 tình huống: em cần mở mở tin học ra: Mở ra để đọc và mở ra để ghi. Thủ tục mở tệp để ghi dữ liệu: Rewrite(); {mở ra để ghi dữ liệu vào} Khi gọi thủ tục này thì tệp chưa có tên thì tệp sẽ được tạo ra với nội dung rỗng còn nếu đã có tên thì nội dung cũ sẽ bị xoá và chuẩn bị ghi dữ liệu mới. ví dụ: assign(tep1,'kq.txt'); Rewrite(tep1); Thủ tục mở tệp để đọc dữ liệu Reset(); {mở ra để đọc dữ liệu vào} ví dụ assign(<tep2,'c:\tp\baitap\dulieu.int'); reset(tep2); Nhấn mạnh trước khi sử dụng 2 thủ tục trên ta phải gắn tên tệp cho biến tệp đồng thời biến tệp phải được khai báo từ trước. c. Đọc, ghi tệp văn bản Gv: Để nhập dữ liệu từ bàn phím và để in dữ liệu lên màn hình ta dùng thủ tục gì ? Gv: Giới thiệu các thủ tục đọc dữ liệu từ tệp và ghi dữ liệu vào tệp. Thủ tục đọc dữ liệu từ tệp: Read(,); Hoặc Readln(,); Ghi dữ liệu và tệp: Write(,); Hoặc Writeln(,); Ví dụ ta khai báo như sau: Var tep1, tep2:text; begin assign(tep1,'Dulieu.int'); reset(tep1); assign(tep2,'Dulieu.out'); rewrite(tep2); { có thủ tục đọc tệp: tep1 và ghi tệp: tep2 như sau:} read(tep1,a,b); readln(tep1,a,b,c); write(tep2,c,d); writeln(tep2,a,c,(-b+sqrt(delta))/(2*a):5:2); * Một số hàm thường dùng đối với tệp văn bản Hàm eof(); Trả về kết quả true khi cuối tệp và ngược lại Hàm eoln(); Trả và kết quả true khi con trỏ văn bản đang ở cuối dòng d. Đóng tệp Đưa ra lý do phải đóng tệp Vì khi không đóng tệp với việc ghi dữ liệu sẽ không tồn tại dữ liệu ở trong tệp. Câu lệnh : Close(); ví dụ: Close(tep1); Close(tep2); HS: Chú y nghe giảng Hs Trả lời Tệp dữ liệu dạng văn bản xuất hiện ở dạng ở đâu ? Ví dụ: Tệp hình ảnh, âm thanh Học sinh lấy ví dụ minh hoạ Học sinh chú ý nghe và ghi Hs tự đưa ra cách khai báo tên tệp. Nếu học sinh khá giỏi ta có thểt đưa thêm lệnh {$I-} trước lệnh Reset(bien tệp); Hàm IoResult =0 nếu mở thành công và khác 0 nếu có tệp tồn tại. Tương tự với lệnh Rewrite Học sinh ghi chép Học sinh tự lấy ví dụ Hs trả lời câu hỏi Hs ghi và trả lời sự khác nhau giữa thủ tục nhập vào từ bản phím và thủ tục nhập, và ghi dữ liệu vào tệp. IV. Củng cố - Gọi học sinh khái quát lại vai trò của tệp và phân loại tệp. - Học sinh khái quát lại các thao tác phải thực hiện đọc và ghi dữ liệu từ tệp. - Cho học sinh làm một số bài tập trắc nghiệm khách quan. Hãy khoanh tròn vào đáp đúng trong những câu hỏi sau: Câu 1: Để gán tệp cho biến tệp ta dùng thủ tục a. assign(,); b. assign(,); c. assign(;); b. assign(.); Câu 2: Sau khi gán tên tệp cho biến tệp ta mở tệp để ghi dữ liệu vào tệp ta dùng thủ tục: a. Reset(); b. Reset(); c. Rewrite(); d. Rewrite(); Câu 3: Để đọc dữ liệu từ tệp ra biến ta dùng thủ tục a. Read(,); b. Read(,); c. Write(,); d. writeln(,); Câu4: Dữ liệu kiểu tệp được lưu trữ a. Trên Rom b. Chỉ trên đĩa cứng c. Được lưu trữ trên Ram d. Trên bộ nhớ ngoài. Câu 5. Trong Pascal để khai báo biến tệp văn bản ta sử dụng cú pháp a. Var : Text; b. Var : String; c. Var : Text; c. Var : String; Câu6: Để 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 nhất thiết phải gán tên tệp cho tên biến tệp. c. Ta sử dụng trực tiếp tên tệp trong chương trình d. Ta nhất thiết phải sử dụng trực tiếp tên tệp trong chương trình.
Tài liệu đính kèm: