GIÁO ÁN GIÁO ÁN Người soạn: Trần Hồng Thắm Bộ môn: Tin học Lớp: 11 TIẾT: BÀI TẬP VỀ TỆP I. Mục tiêu 1. Kiến thức: • Củng cố việc sử dụng các thủ tục và hàm thao tác trên tệp; • Các giải thuật và bài toán cơ bản. 2. Kỹ năng: • Học sinh có thể hiểu và sử dụng biến tệp có kiểu trong lưu và xử lý dữ liệu. 3. Thái độ • Học sinh tích cực chủ động, nghiêm túc trong việc giải quyết bài tập. II. Chuẩn bị • GV: Tài liệu, các thiết bị trực quan, giáo án. • HS: Sách, vở, bút, thước… III. Phương pháp dạy học dự kiến • Gợi ý, thuyết trình, vấn đáp với học sinh. • Hoạt động theo nhóm IV. Nội dung bài giảng 1. Ổn định lớp- kiểm tra sỹ số 2. Kiểm tra bài cũ 3. Nội dung bài mới Hoạt động 1: Nhắc lại các kiến thức đã học về tệp. GV- Yêu cầu học sinh nhắc lại các thao tác về tệp HS- Độc lập suy nghĩ để trả lời câu hỏi. Hoạt động 2: Rèn luyện kỹ năng thao tác với tệp Nội dung ghi bảng Hoạt động của thầy và trò Người soạn: Trần Hồng Thắm 1 GIÁO ÁN Bài 1: Cho tệp DATA.INP, mỗi dòng chứa một số nguyên. Hãy lập trình tính trung bình cộng các số. 1. Phân tích bài toán Input: Dữ liệu được đọc ở tệp DATA.INP; Output: Trung bình cộng các số 2. Diễn tả thuật toán: Bước 1: Gán và mở tệp (f, ’DATA.INP’), dem:=0; s:=0; Bước 2: Nếu eof(f) thì qua bước 3 Còn không: - read(f,n); - s:=s+n; - dem:=dem+1; - Quay lại bước 2; Bước 3: Nếu dem>0 thì trung bình cộng là s/dem Còn không thì file rỗng; Bước 4: Đóng file. 3. Viết chương trình VAR f:text; s,n,dem:integer; begin assign(f,'DATA.TXT'); RESET(f); dem:=0; s:=0; while not eof(f) do begin read(f,n); GV: Ra đề bài tập. HS: Chép lại đề bài tập và suy nghĩ cách giải. GV: Hãy nêu input và output của bài toán? HS: Input: Dữ liệu được đọc ở tệp DATA.INP; Output: Trung bình cộng các số GV: Một em hãy nêu ý tưởng để giải quyết bài toán? HS: Đọc từng dòng dữ liệu từ tệp, cộng dồn các số trong tệp và đếm số phần tử của tệp. GV: Gọi một HS lên bảng mô tả thuật toán.Dùng sơ đồ khối hoặc cách liệt kê. HS: Một em lên bảng viết bài. Các bạn khác ngồi dưới viết. GV: Chữa bài của hs viết. HS: Theo dõi bài. GV: Yêu cầu HS viết chương trình cài đặt. HS: Lên viết chương trình. GV: Sửa lỗi cho học sinh. Mở rộng GV: Từ bài toán các em có thể mở rộng đề giải các bài toán tương tự như: - Tính tổng của các giá trị trong file; - Đếm số phần tử của file văn bản. Người soạn: Trần Hồng Thắm 2 GIÁO ÁN s:=s+n; dem:=dem+1; end; if dem>0 then write('trung binh cong la:',s/dem:12:2) else write('file rong'); close(f); readln; end. Bài 2: Cho tệp DATA.TXT chứa các số nguyên. Hãy lập trình tìm các số chia hết cho 3 và ghi vào tệp KETQUA.TXT. 1. Xác định bài toán Input: Dữ liệu được đọc ở tệp DATA.TXT; Output: Tệp KETQUA.TXT chứa các số chia hết cho 3. 2. Diễn tả thuật toán Bước 1: Gán và mở tệp (f, ‘DATA,TXT), gán và mở tệp (f1,KETQUA.TXT) để ghi kết quả; Bước 2: Nếu eof(f) thì qua bước 3 Còn không: - read(f,n); - Nếu n mod 3=0 thì ghi vào tệp KETQUA.TXT; - Quay lại bước 2; Bước 3: close(f), close(f1). 3. Viết chương trình Var f,f1: text; n: integer; GV: Giao bài tập thứ 2. Đọc đề cho HS. HS: Chép lại đề bài tập và suy nghĩ cách giải. GV: Hãy nêu input và output của bài toán? HS: Input: Dữ liệu được đọc ở tệp DATA.INP; Output: Tệp KETQUA.INP chứa các số chia hết cho 3. GV: Một em hãy nêu ý tưởng để giải quyết bài toán? HS: Duyệt từng phần tử của file nếu chia hết cho 3 thì ghi vào tệp KETQUA.INP GV: Gọi một HS lên bảng mô tả thuật toán.Dùng sơ đồ khối hoặc cách liệt kê. HS: Một em lên bảng viết bài. Các bạn khác ngồi dưới viết. GV: Chữa bài của hs viết. HS: Theo dõi bài. Người soạn: Trần Hồng Thắm 3 GIÁO ÁN Begin Assign(f,’DATA.TXT’); Reset(f); Assign(f1,’KETQUA.TXT’); Rewrite(f1); While not eof(f) do Begin Read(f,n); If n mod 3=0 then writeln(f1,n); End; Close(f); Close(f1); Readln; End. GV: Yêu cầu HS viết chương trình cài đặt. HS: Lên viết chương trình. GV: Sửa lỗi cho học sinh. Mở rộng: GV: Từ bài toán trên ta có thể mở rộng để giải các bài toán tương tự sau: - Ghi vào một tệp khác chứa các số nguyên dương. V. Củng cố, dặn dò - Củng cố các kiến thức liên quan trong chương này và các loại bài tập thường có. - Làm các bài tập trong sách bài tập để rèn luyện kỹ năng về tệp. Người soạn: Trần Hồng Thắm 4 . cố các kiến thức liên quan trong chương này và các loại bài tập thường có. - Làm các bài tập trong sách bài tập để rèn luyện kỹ năng về tệp. Người soạn: Trần Hồng Thắm 4 . Nội dung bài giảng 1. Ổn định lớp- kiểm tra sỹ số 2. Kiểm tra bài cũ 3. Nội dung bài mới Hoạt động 1: Nhắc lại các kiến thức đã học về tệp. GV- Yêu cầu học sinh nhắc lại các thao tác về tệp HS-. integer; GV: Giao bài tập thứ 2. Đọc đề cho HS. HS: Chép lại đề bài tập và suy nghĩ cách giải. GV: Hãy nêu input và output của bài toán? HS: Input: Dữ liệu được đọc ở tệp DATA.INP; Output: Tệp KETQUA.INP