I. MỤC TIÊU BÀI HỌC.
1. Kiến thức.
- Biết khai báo biến tệp văn bản.
- Biết các bước làm việc với tệp: Gắn tên cho biến tệp, mở tệp, đọc/ghi tệp, đóng tệp.
- Biết khai báo biến tệp và các thao tác cơ bản với tệp văn bản.
- Biết sử dụng một số hàm và thủ tục chuẩn làm việc với tệp.
GIÁO ÁN TIN HỌC 11 CHƯƠNG 5: TỆP VÀ THAO TÁC VỚI TỆP Bài 15 . THAO TÁC VỚI TỆP MỤC TIÊU BÀI HỌC. Kiến thức. Biết khai báo biến tệp văn bản. Biết các bước làm việc với tệp: Gắn tên cho biến tệp, mở tệp, đọc/ghi tệp, đóng tệp. Biết khai báo biến tệp và các thao tác cơ bản với tệp văn bản. Biết sử dụng một số hàm và thủ tục chuẩn làm việc với tệp. Kỹ năng. Khai báo đúng tệp văn bản. Có thể tạo chương trình đọc dữ liệu từ một tệp hoặc lưu trữ dữ liệu dưới dạng tệp văn bản. PHƯƠNG TIỆN DẠY HỌC 1. Chuẩn bị của giáo viên Máy vi tính, máy chiếu projector để giới thiệu ví dụ. 2. Chuẩn bị của học sinh Sách giáo khoa. PHƯƠNG PHÁP GIẢNG DẠY. Phương pháp đàm thoại. Phương pháp diễn giải – nếu vấn đề. Phương pháp diễn giảng. HOẠT ĐỘNG DẠY-HỌC ỔN ĐỊNH LỚP. KIỂM TRA BÀI CŨ: Câu 1: Cấu trúc khai báo kiểu bản ghi, biến kiểu bản ghi? Trả lời: Các thông tin cần khái báo gồm: tên kiểu bản ghi, tên các thuộc tính, kiểu dữ liệu của mỗi thuộc tính. Type = record : ; : ; End; var : ; Câu 2: Có mấy cách gán giá trị cho kiểu bản ghi? Trả lời: Có 2 cách: Dùng lệnh gán trực tiếp: A:=B. Gán giá trị cho từng trường: Có thể thực hiện bằng lệnh gán hoặc nhập từ bàn phím. TỔ CHỨC HOẠT ĐỘNG DẠY VÀ HỌC. Hoạt động của giáo viên và học sinh Nội dung HĐ1: Dẫn dắt vào bài học - GV: Giới thiệu nội dung tổng quát của bài học - Đặt vấn đề: Trước khi vào phần chính của bài học hôm nay cô có một số câu hỏi dành cho các em. - Dẫn dắt : “ 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 là gì, để có thể sử dụng được biến đó???” - HS trả lời: Khai báo biến - GV: Khai báo như thế nào? - HS trả lời: Trong Pascal mọi biến đều phải được đặt tên và khai báo kiểu dữ liệu của nó. Trong Pascal , khai báo biến bắt đầu bằng từ khóa Var và có dạng: Var :; HĐ 2: Khai báo biến tệp văn bản. GV đặt vấn đề: Tại sao phải sử dụng biến tệp? HS trả lời: 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. GV: Với cách khai báo tương tự như khai báo kiểu dữ liệu trong Pascal em nào có thể đưa ra cách khai báo biến tệp? HS trả lời: var : text; GV: Quy cách khai báo tệp như thế nào? HS trả lời: Tên biến tệp phải tuân theo đúng quy cách đặt tên (trong tên biến không có khoảng trắng, , ., !, #, $, %, &, @) Trong các kiểu khai báo dưới đây thì cách nào đúng, cách nào sai? Vì sao? Ví dụ 1: var tep vb : text; Ví dụ 2: var tep1,tep2 : text. GV: Yêu cầu học sinh cho ví dụ cụ thể dựa vào cấu trúc khai báo về tệp văn bản HS trả lời GV: Phân biệt tên tệp với biến tệp? - HS trả lời: 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. - Chuyển sang đề mục tiếp theo: Chúng ta đã biết cách khai báo biến tệp. Sau đây là cách sử dụng biến tệp để tham chiếu tới các phần tử của tệp 1. Khai báo biến tệp văn bản 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. Các phần tử của tệp không có tên và việc truy nhập không thể tùy tiện được. Vì vậy để làm việc với dữ liệu kiểu tệp ta phải sử dụng biến tệp. Khai báo biến: Tệp văn bản: VAR : TEXT; Chú ý: Tên biến tệp phải tuân theo đúng quy cách đặt tên (trong tên biến không có khoảng trắng, , ., !, #, $, %, &, @) 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ụ hằng xâu: assign(tep1,‘DULIEU.DAT’);- Ví dụ biến xâu: tentep=’DL.INP’; assign(tep1, tentep); - Ví dụ 3: assign(tep1, ‘C:\\DIEM.TXT’); Mặt khác biến tệp là biến sử dụng để tham chiếu tới các phần tử của tệp. HĐ 2: Thao tác với tệp - GV: Đưa ra sơ đồ tổng quát của quá trình thao tác với tệp. - Như đã biết ở trên, chúng ta không thể thao tác trực tiếp với tệp bằng tên tệp mà phải thông qua biến tệp. Bởi vậy ta phải tạo một tham chiếu giữa tên tệp và biến tệp. - GV: Đưa ra ví dụ gán tên tệp. - GV: Gọi học sinh cho một ví dụ khác. - GV: Đưa ra cú pháp mở tệp - HS nghe và chép bài. - GV: Nếu bây giờ thực hiện thao tác mở tệp để đọc thì sao, để ghi thì sao? - HS trả lời: + Với trường hợp mở tệp để ghi: Tự tạo ra + Với trường hợp mở tệp để đọc: Báo lỗi. - GV: Liệu rằng khi mở tệp mà không tồn tại tên tệp trong thủ tục mở tệp thì có gì xảy ra? - HS đọc SGK và nêu lên: Tệp sẽ được tạo với nội dung rỗng - GV: Yêu cầu học sinh cho ví dụ về mở tệp. - GV: Giới thiệu, diễn giải cách đọc ghi tệp. - GV: Hỏi học sinh có so sánh với cách đọc/ghi từ bàn phím/màn hình trong Pascal. - GV: Để hổ trợ các thao tác đọc ghi tệp người ta đưa ra một số hàm chuẩn sau. - GV: Tại sao phải đóng tệp? - HS trả lời: 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. - GV: Yêu cầu học sinh nhắc lại các thao tác với tệp và ghi sơ đồ vào tập. Cho ví dụ minh họa. -Lắng nghe và chép bài. 2. Thao tác với tệp Trình tự thao tác với tệp: Gán tên tệp. Mở tệp. Đọc/ghi dữ liệu. Đóng tệp Ghi dữ liệu vào tệp Đọc dữ liệu từ tệp Gá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 a. Gán tên tệp Để thao tác với tệp, trước hết phải gắn tên tệp với đại diện của nó là biến tệp bằng thủ tục: 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ự. => Tất cả các phép toán trên biến tệp sẽ tác động tới tệp tên tệp. Sự liên kết giữa tên tệp và biến tệp chỉ kết thúc khi có lời gọi assign khác cũng sử dụng biến tệp này. - Độ dài lớn nhất của tên tệp là 79 ký tự. b. Mở tệp Mở tệp có 2 kiểu: Mở để đọc và mở để ghi. - Mở tệp để ghi dữ liệu có dạng: rewrite(); Ví dụ: assign(tep1, ‘C:\KQ.DAT’); rewrite(tep1); - Mở tệp để đọc dữ liệu từ tệp. reset(); Ví dụ: assign(tep2, ‘C:\KQ.DAT’); reset(tep2); Lưu ý: Cả 2 trường hợp trên biến tệp phải được gắn với tên tệp bằng thủ tục assign. c. Đọc/ghi tệp văn bản: - Cú pháp đọc tệp văn bản: read (,); readln (,); Danh sách biến là dãy tên biến 1, tên biến 2,, tên biến N. Các dữ liệu cần đọc trong 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. - Cú pháp ghi tệp văn bản: write (,); writeln (,); Danh sách kết quả là dãy kết quả 1, kết quả 2 ,, kết quả N. Các hàm và thủ tục thông dụng: - Hàm eof(); cho giá trị TRUE nếu con trỏ tệp đang chỉ tới cuối tệp. - Hàm eoln () trả về giá trị TRUE nếu con trỏ tệp đang chỉ tới cuối dòng. d. Đóng tệp: Sau khi làm việc xong với tệp cần phải đóng tệp. Cú pháp: Close (); Các thao tác với tệp: CŨNG CỐ - VẬN DỤNG BÀI HỌC- DẶN DÒ BÀI MỚI. Các yêu cầu: - Nắm được cấu trúc gán tệp, mở tệp, đọc/ghi tệp văn bản, đóng tệp. - Yêu cầu HS về nhà xem lại bài học, đọc SGK, nhất là các phần ví dụ, chỗ nào khó hiểu, không hiểu đánh dấu vào, tiết sau giải đáp. - Cài đặt chương trình các ví dụ mẫu để làm quen với các thao tác với tệp.: - Yêu cầu học sinh lên ghi lại các câu lệnh ứng với thao tác với tệp theo sơ đồ. NHẬN XÉT VÀ RÚT KINH NGHIỆM Nhận xét: Phê duyệt của giáo viên hướng dẫn Ngày tháng năm 2010 Giáo sinh thực tập Nguyễn Thị Mỹ Phúc
Tài liệu đính kèm: