1. Trang chủ
  2. » Giáo án - Bài giảng

Một số biện pháp khắc phục lỗi cơ bản của học sinh khi làm các bài tập liên quan đến kiểu dữ liệu tệp trong chương trình tin học 11 ở tr

15 509 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 229 KB

Nội dung

A PHẦN MỞ ĐẦU I Lý chọn đề tài Trong chương trình “Tin học 11” kiểu liệu phần đầu kiểu liệu chuẩn kiểu mảng Đó kiểu liệu được lưu trữ bộ nhớ (RAM), đặc điểm bộ nhớ liệu sẽ bị mất tắt máy Với mợt sơ tốn có khơi lượng liệu lớn, yêu cầu lưu trữ để xử lý nhiều lần liệu kiểu tệp (file) giải qút tơt nhất yêu cầu Tuy nhiên với thời lượng chương trình dành cho phần tệp khơng nhiều vậy học sinh rất mơ hồ gặp nhiều lỗi viết chương trình với kiểu liệu Vì nhiều thao tác so với kiểu liệu khác mà em cảm thấy phức tạp, khó hiểu, khó vận dụng vào tập dẫn đến mất hứng thú học tập Từ thực tiễn giảng dạy về kiểu liệu tệp (file) đã rút một sô kinh nghiệm hướng dẫn em làm tập chương V “Tin học 11” có hiệu tơi viết sáng kiến kinh nghiệm: “Một số biện pháp khắc phục lỗi học sinh làm tập liên quan đến kiểu liệu tệp chương trình Tin học 11 trường THCS THPT Nghi Sơn – huyện Tĩnh Gia” II Phạm vi đối tượng nghiên cứu Phạm vi nghiên cứu: Trong đề tài xây dựng đề xuất một sô biên pháp khắc phục lỗi hướng dẫn học sinh làm một sô tập liên quan đến kiểu liệu tệp chương trình Tin học 11 Đôi tượng nghiên cứu: Học sinh khôi 11 trường THCS THPT Nghi Sơn – Tĩnh Gia – Thanh Hóa III Mục đích đề tài Giúp học sinh hiểu, nắm vững tránh được lỗi thường gặp làm tập về tệp “chương V - Tin học 11” Từ em vận dụng yêu thích làm tập có sử dụng kiểu liệu tệp B NỘI DUNG I Cơ sở lý luận Tất liệu thuộc kiểu liệu đã xét đều được lưu trữ bợ nhớ (RAM) liệu sẽ bị mất tắt máy Với một sô tốn có khơi lượng liệu lớn, có u cầu lưu trữ để xử lý nhiều lần, cần có kiểu liệu tệp (file) Xét theo cách tổ chức liệu, phân tệp thành hai loại: Tệp văn tệp có cấu trúc (trong chương trình Tin học 11 xét đến tệp văn bản) Tệp văn tệp mà liệu được ghi dưới dạng kí tự theo mã ASCII Trong tệp văn bản, dãy kí tự kết thúc kí tự xuông dịng hay kí tự kết thúc tệp tạo thành mợt dịng [1] Tệp mợt kiểu liệu có cấu trúc Định nghĩa tệp có phần giơng mảng chỗ chúng đều tập hợp phần tử liệu có kiểu Song mảng được định nghĩa khai báo chương trình với sơ phần tử đã xác định cịn sơ phần tử tệp khơng được xác định định nghĩa Để làm việc với tệp cần phải khai báo biến têp Các thao tác với tệp văn bao gồm: - Gắn tên tệp, mở tệp để đọc mở tệp để ghi; - Đọc liệu từ tệp, ghi liệu vào tệp; - Đóng tệp II Thực trạng vấn đề Khi dạy “Chương V-Tin học 11” tại trường THCS THPT Nghi Sơn nhận thấy em rất lúng túng thường mắc lỗi làm tập với kiểu liệu tệp Các em không hiểu được chất, ý nghĩa từng câu lệnh thao tác với tệp nên viết chương trình thường mắc lỗi Thực tế giảng dạy đặt vấn đề: làm thế để học sinh hiểu tránh được sai lầm thường gặp điều quan trọng Tuy nhiên, để giải quyết vấn đề không đơn giản Nên đã áp dụng SKKN: “Một số biện pháp khắc phục lỗi học sinh làm tập liên quan đến kiểu liệu tệp chương trình Tin học 11 trường THCS THPT Nghi Sơn – huyện Tĩnh Gia” vào giảng dạy “Chương V-Tin học 11” III Nguyên nhân Học sinh không nhớ kiến thức cũ để giải quyết tập Dữ liệu kiểu tệp khác hoàn toàn với kiểu liệu em đã được học Bài tập tương đôi phức tạp với mức học em Các em khơng hiểu vai trị, ý nghĩa từng câu lệnh IV Các biện pháp tiến hành để giải vấn đề Các tập giúp học sinh rèn luyện kỹ thao tác với tệp tránh những lỗi hay gặp Hướng dẫn học sinh cách tạo tệp văn Cách 1: Tạo tệp có Pas Khi vừa mới làm quen với kiểu liệu tệp, em chưa hiểu được cách tạo tệp kiểm tra liệu tệp, vậy nên để thuận tiện cho việc xem kết thao tác ghi liệu vào tệp đọc liệu từ tệp có đúng hay khơng trước hết nên hướng dẫn em cách tạo tệp xem liệu tệp Pascal với tệp có phần đuôi Pas Bài tập: Hãy tạo tệp ‘Songuyen.pas’ để lưu trữ sô nguyên từ đến 10, sô cách ít nhất một dấu cách trông Hướng dẫn Bước 1: Khởi động Turbo Pascal (Free Pascal) Bước 2: Chọn File -> New Bước 3: Nhập sô nguyên từ đến 10 sô cách một dấu cách trông Bước 4: Lưu tệp lại với tên ‘Songuyen.pas’ (có thể khơng gõ phần đi, Pascal tự mặc định đuôi Pas) Hướng dẫn học sinh thực máy theo bước nêu trên, sau hướng dẫn học sinh mở tệp để xem kết quả: Cách 2: Tạo tệp Notepad: Hướng dẫn học sinh tạo tệp Notepad Bài tập : Hãy tạo tệp ‘dulieu.inp’ có cấu trúc Notepad có cấu trúc: - Gờm mợt dịng lần lượt sô nguyên, sô cách ít nhất một dấu cách trông Hướng dẫn: Bước 1: Mở Notepad Start -> Program -> Accessorie -> Notepad Bước 2: Nhập liệu theo đúng cấu trúc đề yêu cầu; Bước 3: Lưu liệu đúng tên tệp phần đầu phần mở rộng Hướng dẫn học sinh thực máy theo ba bước thực tạo tệp theo yêu cầu tập: Ví dụ một tệp tạo theo cấu trúc ra: Cách 3: Tạo tệp viết chương trình: Có thể hướng dẫn học sinh viết mợt chương trình tạo mợt tệp văn cách nhập liệu từ bàn phím Bài tập: Em hãy viết chương trình tạo tệp ‘dulieu.inp’ có cấu trúc: Gờm mợt dịng lần lượt sơ ngun, sơ cách ít nhất mợt dấu cách trơng Chương trình cài đặt ví dụ: Program taotep; Var i,x,N: integer; f: text; Begin assign(f,'dulieu.inp'); rewrite(f); write('nhap so phan tu cua tep N:'); read(N); for i:=1 to N begin read(x); write(f,x, ' '); end; close(f); readln; End Khắc phục lỗi quên đóng tệp Bài tập 1: Chương trình sau chương trình đọc liệu từ tệp văn Songuyen.inp Tính tổng phần tử tệp đưa liệu tệp Songuyen.out Tệp văn Songuyen.inp có cấu trúc: - Dịng đầu ghi sơ ngun N sơ phần tử tệp; - Dịng thứ hai gờm đúng N sô nguyên Mỗi sô cách một dấu cách trông Tệp văn Songuyen.out có cấu trúc: Mợt sơ nhất ghi tổng N phần tử Ví dụ: Songuyen.inp Songuyen.out 20 12683 Đưa ví dụ một tệp Songuyen.inp để học sinh thấy rõ cấu trúc tệp: Chương trình cài đặt: Program Var Baitap1; i, N, x, S: integer; f1, f2: text; Begin assign(f1,'Songuyen.inp'); reset(f1); assign(f2,'Songuyen.out'); rewrite(f2); readln(f1,N); S:=0; for i:=1 to N begin read(f1,x); S:=S+x; end; Write(f2,S:4); close(f1); End Câu hỏi 1: Em hãy nhập chương trình chạy thử Kiểm tra tệp Songuyen.out cho kết nào? Hướng dẫn: Tệp Songuyen.out tệp trơng khơng có liệu Câu hỏi 2: Tìm lỡi chương trình dẫn đến tệp songuyen.out tệp khơng có dữ liệu? Ở câu hỏi phần lớn khơng tìm được ngun nhân qn đóng tệp f2 Chú ý cho học sinh: Mỗi thao tác với tệp, làm việc với tệp gán tên tệp mở tệp (để đọc để ghi) sau làm việc xong phải đóng tệp Nếu qn đóng tệp chạy chương trình sẽ khơng báo lỗi, ghi liệu vào tệp Vì vậy chương trình cần thêm lệnh đóng tệp f2 sau: Program Var Baitap1; i, N, x, S: integer; f1, f2:text; Begin assign(f1,'Songuyen.inp'); reset(f1); assign(f2,'Songuyen.out'); rewrite(f2); readln(f1,N); S:=0; for i:=1 to N begin read(f1,x); S:=S+x; end; Write(f2,S:4); close(f1); close(f2); End Sau sửa lỡi qn đóng tệp tệp Songuyen.out sau: Khắc phục lỡi đọc ghi dữ liệu khơng đúng chưa hiểu rõ lệnh: read readln; write writeln Bài tập 2: Cho tệp văn Dulieu.inp có cấu trúc: - Dịng đầu ghi sơ ngun N sơ phần tử tệp - Dịng thứ hai gờm đúng N sơ nguyên Mỗi sô cách một dấu cách trông a Viết chương trình đọc liệu từ tệp Dulieu.inp ghi liệu vào tệp Dulieua.out (tệp Dulieua.out có cấu trúc: mợt dịng lần lượt sơ ngun tệp Dulieu.inp, sô cách một dấu cách trông) b Viết chương trình đọc liệu từ tệp Dulieu.inp ghi liệu vào tệp Dulieub.out (tệp Dulieub.out có cấu trúc: Gờm N dịng lần lượt sơ ngun tệp Dulieu.inp, sơ mợt dịng) Hướng dẫn: Đưa một ví dụ tệp văn Dulieu.inp để học sinh thấy rõ cấu trúc tệp: Hướng dẫn: Đưa hai chương trình cài đặt câu a câu b: Program Baitap2a; Var i, x, N:integer; f1,f2:text; Begin assign(f1,'Dulieu.inp'); reset(f1); assign(f2,'Dulieua.out'); rewrite(f2); readln(f1,N); for i:=1 to N begin read(f1,x); write(f2,x:3); end; close(f1); close(f2); End Program Baitap2b; Var i, x, N:integer; f1,f2:text; Begin assign(f1,'Dulieu.inp'); reset(f1); assign(f2,'Dulieub.out'); rewrite(f2); readln(f1,N); for i:=1 to N begin read(f1,x); writeln(f2,x:3); end; close(f1); close(f2); End Câu hỏi 1: Hãy quan sát hai chương trình cài đặt giải thích ghi liệu vào tệp chương trình “Baitap2a” sử dụng câu lệnh “write(f2,x:3);” cịn chương trình “Baitap2b” sử dụng câu lệnh “writeln(f2,x:3);”? Trả lời: Vì chương trình “Baitap2a” tệp Dulieua.out có cấu trúc gờm mợt dịng lần lượt sơ ngun tệp Dulieu.inp, sơ cách mợt dấu cách trơng Cịn chương trình “Baitap2b” tệp Dulieub.out có cấu trúc gờm N dịng lần lượt sơ ngun tệp Dulieu.inp, sơ mợt dịng Đưa hai tệp Dulieua.out Dulieub.out sau thực chương trình để giải thích rõ để học sinh phân biệt được cần sử dụng câu lệnh write writeln: Tệp văn Dulieua.out: Tệp văn Dulieub.out: Câu hỏi 2: Hãy quan sát chương trình cài đặt “Baitap2a” đoạn lệnh đọc liệu từ tệp giải thích đọc sơ phần tử tệp N dùng câu lệnh Readln (readln(f1,N);) đọc phần tử tệp dùng lệnh Read (read(f1,x);)? Trả lời: Vì cấu trúc tệp Dulieu.inp gờm hai dịng: - Dịng đầu ghi sô nguyên N sô phần tử tệp - Dịng thứ hai gờm đúng N sơ ngun Mỗi sơ cách một dấu cách trông 10 Nên sau đọc sơ phần tử tệp N trỏ cḥt phải nằm đầu dịng tiếp theo để đọc tiếp liệu vậy dùng câu lệnh Readln (readln(f1,N);) Các phần tử tệp nằm mợt dịng nên sau đọc phần tử tệp trỏ cḥt phải nằm trước phần tử tiếp theo dịng để đọc tiếp cho tới hết vậy dùng câu lệnh Read (read(f1,x);) Bài tập 3: Cho tệp văn Sothuc.inp có cấu trúc: Gờm sơ thực, dịng mợt sơ Viết chương trình đọc liệu từ tệp, tính đưa tổng sô tệp Kết đưa tệp Sothuc.out Hướng dẫn: Một sô câu hỏi hướng dẫn học sinh trước viết chương trình: Câu hỏi 1: Sô lượng phần tử tệp đã biết trước chưa? Trả lời: Sô lượng phần tử tệp chưa biết trước Câu hỏi 2: Khi chưa biết sô lượng phần tử tệp để thao tác đọc/ ghi với tệp văn thường sử dụng hàm chuẩn Trả lời: Hàm eof() trả về giá trị true nếu trỏ tệp tới cuôi tệp Câu hỏi 3: Em hãy viết đoạn lệnh đọc liệu từ tệp Sothuc.inp tính tổng phần tử tệp Trả lời: Đoạn lệnh s:=0; while not eof(f1) Begin readln(f1,x); S:=S+x; end; Bài tập giúp học sinh củng cô lại thao tác làm việc với tệp Đưa một ví dụ về tệp 11 Sothuc.inp để học sinh thấy cấu trúc tệp sẽ giúp em thực yêu cầu dễ Cài đặt: Program Baitap3; Var i:integer; x,S:real; f1,f2:text; Begin assign(f1,'Sothuc.inp'); reset(f1); assign(f2,'Sothuc.out'); rewrite(f2); s:=0; while not eof(f1) begin readln(f1,x); S:=S+x; end; write(f2,S:6:2); close(f1); close(f2); End Sau thực chương trình đưa tệp Sothuc.out để em quan sát: 12 Tệp Sothuc.out thu sau thực chương trình: V Hiệu SKKN Trong năm học 2014 - 2015 thấy học sinh làm tập “Chương VTin học 11” thường gặp phải lỗi giông Để khắc phục, năm 2015 – 2016 năm 2016 - 2017 đã vận dụng phương pháp giảng dạy kết đã khác rất nhiều, học sinh đã hiểu làm tập tôt Các lỗi thường gặp em đã sửa được nhất em say mê với môn học, tham gia đội tuyển học sinh giỏi môn tin trường kỹ thao tác với tệp rất quan trọng Kết được thể qua bảng liệt kê tỷ lệ kiểm tra nội dung kiến thức chương V qua năm: Năm học chưa áp dụng SKKN Năm học 2014 – 2015 STT LỚP 11A1 11A2 Sĩ sô 40 38 Sô lượng TB trở lên 26 22 Tỉ lệ % TB 65% 58% Năm học đã áp dụng SKKN Năm học 2016 - 2017 STT LỚP 11A 11B Sĩ sô 40 39 Sô lượng TB trở lên 39 31 Tỉ lệ % TB 97,5% 79,4% 13 C.KẾT LUẬN Những mặt đạt chưa đạt Những mặt đạt được - Phần lớn học sinh nắm được kiến thức học vận dụng vào làm tập - Các em đã khắc phục được lỗi hay mắc phải viết chương trình sử dụng kiểu liệu tệp - Có thái độ tích cực học tập, yêu thích môn học - Các em có hứng thú giờ thực hành Những mặt chưa đạt được - Một sơ em tiếp xúc ít với máy tính nên cịn chậm thao tác thực hành - Một sô học sinh chậm việc áp dụng lý thuyết vào tập Nguyên nhân Khách quan - Môn tin mơn học khó mới đơi với học sinh - Sơ em gia đình có máy tính cịn ít - Do môn tin môn học không thi tôt nghiệp thi đại học nên học sinh không đầu tư học Chủ quan - Học sinh chưa chịu khó giành thời gian cho mơn học; - Điều kiện sở vật chất, trang thiết bị, đồ dùng dạy học nhà trường thiếu, chưa đáp ứng đủ nhu cầu cho học sinh Tĩnh Gia, ngày 10 tháng 05 năm 2017 XÁC NHẬN CỦA THỦ TRƯỞNG ĐƠN VỊ Tơi xin cam đoan SKKN viết, không chép nội dung người khác Nguyễn Thị Lập 14 TÀI LIỆU THAM KHẢO Sách giáo khoa Tin học 11, NXBGD Sách Bài tập tin học 11, NXBGD Sách giáo viên tin học 11, NXBGD Lí luận dạy học tin học trường phổ thông (Trương Trọng Cần, ĐHV) 15 ... lần, cần có kiểu liệu tệp (file) Xét theo cách tổ chức liệu, phân tệp thành hai loại: Tệp văn tệp có cấu trúc (trong chương tr? ?nh Tin học 11 xét đến tệp văn bản) Tệp văn tệp mà liệu được... Các thao tác với tệp văn bao gồm: - Gắn tên tệp, mở tệp để đọc mở tệp để ghi; - Đọc liệu từ tệp, ghi liệu vào tệp; - Đóng tệp II Thực tr? ??ng vấn đề Khi dạy ? ?Chương V -Tin học 11? ?? tại tr? ?ờng... End Khắc phục lỡi qn đóng tệp Bài tập 1: Chương tr? ?nh sau chương tr? ?nh đọc liệu từ tệp văn Songuyen.inp Tính tổng phần tử tệp đưa liệu tệp Songuyen.out Tệp văn Songuyen.inp có cấu trúc:

Ngày đăng: 17/10/2017, 09:30

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w