Ngày soạn : 24/03/09 Ngày dạy : 28/03/09 Lớp dạy : 11/10 SVTT : Nguyễn Văn Triển GVHD : Hoàng Khánh Châu §16. Ví dụ làm việc với tệp I. MỤC TIÊU: 1.Kiến thức: Củng cố lại kiến thức đã học về tệp: khai báo tệp, các thao tác với tệp thông qua các ví dụ. 2. Kĩ năng - Nhận biết được các cách hoạt động của tệp. - Biết sử dụng các thủ tục và hàm liên quan để giải quyết bài toán. - Nắm được chức năng của các thủ tục và hàm để thao tác với tệp II. CHUẨN BỊ: - GV: Giáo án, SGK, Máy chiếu. - HS: SGK,. III. PHƯƠNG PHÁP PHƯƠNG TIỆN: 1.Phương pháp: - Kết hợp phương pháp giảng dạy như: Thuyết trình, vấn đáp. 2.Phương tiện: - SGK, máy tính, máy chiếu, bảng viết. IV. TIẾN TRÌNH 1.Ổn định lớp, kiểm tra sĩ số. 2.Kiểm tra bài cũ. - Em hãy khai báo một tệp văn bản, viết thao tác gán tên tệp cho ví dụ minh họa. - Em hãy nêu các thao tác với tệp. 3.Nội dung bài giảng: Nội dung Hoạt động của GV và HS §16. Ví dụ làm việc với tệp 1. Củng cố các kiến thức về tệp: - Var <Tªn_biÕn_tÖp>: Text; -Assign(<Tªn_biÕn_tÖp>,<tªn_tÖp>); - Rewrite(>Tªn_biÕn_tÖp>); - Reset (>Tªn_biÕn_tÖp>); -Read(<tªn_biÕn_tÖp>,<danh_s¸ch_biÕn>); -Write(<tªn_biÕntÖp>,<danh_s¸ch_kÕtqu¶>); - Close(>Tªn_biÕn_tÖp>); GV: Cách khai báo kiểu dữ liệu tệp? Cho ví dụ minh họa HS: Var <tên biến tệp>: text; Var tepa, tepb: text; GV: Các thao tác cơ bản nào khi làm việc với tệp? HS: -Assign(<Tªn_biÕn_tÖp>,<tªn_tÖp>); - Rewrite(>Tªn_biÕn_tÖp>); - Reset (>Tªn_biÕn_tÖp>); 2. Ví dụ về tệp: Ví dụ 1: Viết chương trình nhập vào 2 số a, b và ghi nó vào tệp Songuyen.txt. Program bai1; Uses crt; Var tep: TEXT; a,b: Integer; Begin Clrscr; ASSIGN(tep, 'D:\Songuyen.txt’); REWRITE (tep); Write(‘Nhap 2 so a , b '); Readln(a,b); Write(tep,a,b); Close(tep); Readln; END. Ví dụ 2: Viết chương trình mở tệp Songuyen.txt , in 2 số a, b trong tệp ra màn hình. Program Vidu2; Uses crt; Var tep: TEXT; a,b: Integer; Begin Clrscr; ASSIGN(tep, 'D:\TP\Songuyen.txt’); RESET(tep); Begin Readln(tep,a,b); Writeln(a,b); End; Close(tep); Readln; -Read(<tªn_biÕn_tÖp>,<danh_s¸ch_biÕn>); -Write(<tªn_biÕntÖp>,<danh_s¸ch_kÕtqu¶>); - Close(>Tªn_biÕn_tÖp>); GV: Chia nhỏ bài toán thành từng phần và gọi học sinh lên làm? GV: Yêu cầu học sinh viết phần khai báo? HS: Lên bảng làm bài? GV: Yêu cầu học sinh viết câu lệnh gán tệp? HS: Lên bảng làm bài? GV: Yêu cầu học sinh viết câu lệnh mở tệp ra để ghi? HS: Lên bảng làm bài? GV: Yêu cầu học sinh viết đoạn nhập 2 số a, b? HS: Lên bảng làm bài? GV: Nhận xét các phần của học sinh làm và sửa lại cho đúng? GV: Yêu cầu bài toán là ghi 2 số a, b vào tệp ’Songuyen.text’. Vậy em nào có thể cho Thầy biết câu lệnh ghi tệp? HS: Write(tep,a,b); GV: Sau khi ghi tệp rồi giờ ta phải đóng tệp, em nào cho Thầy biết cú pháp của câu lênh đóng tệp? HS: Close(tep); GV: Tổng hợp lại và đưa ra chương trình bài toán hoàn chỉnh. GV: Chia nhỏ bài toán thành từng phần và yêu cầu học sinh lên bảng làm. GV: Yêu cầu học sinh viết phần khai báo? HS: Lên bảng làm bài? GV: Yêu cầu học sinh viết câu lệnh gán tệp? HS: Lên bảng làm bài? GV: Yêu cầu học sinh viết câu lệnh mở tệp ra để đọc? HS: Lên bảng làm bài? GV: Nhận xét các phần của học sinh làm và sửa lại cho đúng? GV: Yêu cầu học sinh viết câu lệnh đọc tệp HS: Readln(tep,a,b); GV: Yêu cầu học sinh viết câu lệnh in ra màn hình dãy số? HS: Trả lời : Writeln; GV: Sau khi ghi tệp rồi giờ ta phải đóng tệp, em nào cho Thầy biết cú pháp của câu lênh đóng tệp? HS: Close(tep); END. Ví dụ 3 : (SGK- 87) Program vidu3; Uses crt; Var tep : TEXT; d : real; x,y : Integer; BEGIN Clrscr; ASSIGN(tep, ‘TRAI.INP’); RESET(tep); While not eof(tep) do Begin read(tep,x,y) ; d:=sqrt(x*x+y*y); Writeln(‘Khoang cach:’,d:10:2); End; Close(tep); Readln; END. GV: Tổng hợp lại và đưa ra chương trình bài toán hoàn chỉnh GV: Chia nhỏ bài toán thành từng phần và yêu cầu học sinh lên bảng làm. GV: Yêu cầu học sinh nêu cách tính khoảng cách giữa 2 điểm khi biết tọa độ của chúng Hs: Trả lời GV: Yêu cầu học sinh lên viết từng phần nhỏ bài toán: Khai báo, các thao tác bài toán? HS: Lên bảng làm bài GV: Nhận xét bài làm và sửa lại cho đúng GV: Tổng hợp các phần học sinh làm và hoàn chỉnh bài toán. V. CỦNG CỐ DẶN DÒ: - Củng cố: Các kiến thức về tệp: Khai báo tệp và các thao tác với tệp. - Dặn dò: Các em về xem lại 2 ví dụ trên và về nhà làm cho thầy bài tập sau: Nhập vào một mảng số nguyên và ghi vào tệp Mang.txt. VI.RÚT KINH NGHIỆM: Đà Nẵng, ngày 24 Tháng 3 năm 2009 BCĐTTSP GVHD SVTT Kí duyệt Kí duyệt Kí ghi rõ họ và tên . Triển GVHD : Hoàng Khánh Châu 16. Ví dụ làm việc với tệp I. MỤC TIÊU: 1.Kiến thức: Củng cố lại kiến thức đã học về tệp: khai báo tệp, các thao tác với tệp thông qua các ví dụ. 2. Kĩ năng . bài cũ. - Em hãy khai báo một tệp văn bản, viết thao tác gán tên tệp cho ví dụ minh họa. - Em hãy nêu các thao tác với tệp. 3.Nội dung bài giảng: Nội dung Hoạt động của GV và HS 16. Ví. viết từng phần nhỏ bài toán: Khai báo, các thao tác bài toán? HS: Lên bảng làm bài GV: Nhận xét bài làm và sửa lại cho đúng GV: Tổng hợp các phần học sinh làm và hoàn chỉnh bài toán. V. CỦNG CỐ