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.
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ò 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); 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; 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: 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. 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. 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.
Tài liệu đính kèm: