Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
361,62 KB
Nội dung
SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THCS VÀ THPT NGHI SƠN SÁNG KIẾN KINH NGHIỆM “BIỆN PHÁP GIÚP HỌC SINH THỰC HÀNH VỚI KIỂU DỮ LIỆU TỆP TRONG CHƯƠNG TRÌNH TIN HỌC 11 Ở TRƯỜNG THCS VÀ THPT NGHI SƠN” Người thực hiện: Nguyễn Thị Lập Chức vụ: Giáo viên SKKN thuộc lĩnh vực (môn): Tin học THANH HOÁ NĂM 2020 TIEU LUAN MOI download : skknchat@gmail.com TIEU LUAN MOI download : skknchat@gmail.com MỤC LỤC 1.MỞ ĐẦU 1.1 Lý chọn đề tài 1.2 Phạm vi đối tượng nghiên cứu 1.3 Mục đích đề tài 1.4 Phương pháp nghiên cứu NỘI DUNG SÁNG KIẾN KINH NGHIỆM .2 2.1 Cơ sở lý luận sáng kiến kinh nghiệm .2 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm 2.3 Các giải pháp sử dụng để giải vấn đề 2.3.1 Thao tác với tệp 2.3.2 Hướng dẫn tạo tệp văn 2.3.3 Các bài 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 2.4 Hiệu sáng kiến kinh nghiệm hoạt động giáo dục, thân, đồng nghiệp nhà trường .14 KẾT LUẬN, KIẾN NGHỊ 15 3.1 Kết luận 15 3.2 Kiến nghị đề xuất .15 TIEU LUAN MOI download : skknchat@gmail.com DANH MỤC CHỮ VIẾT TẮT THUẬT NGỮ Ngơn ngữ lập trình Tài liệu tham khảo Sách giáo khoa Sách giáo viên Ví dụ Chương trình VIẾT TẮT NNLT TLTK SGK SGV VD CT TIEU LUAN MOI download : skknchat@gmail.com 1.MỞ ĐẦU 1.1 Lý chọn đề tài Theo chương trình SGK Tin học 11 hướng dẫn điều chỉnh nội dung dạy học học kỳ II năm học 2019 -2020 Bộ giáo dục đào tạo, kiểu liệu tệp thao tác với tệp nội dung quan trọng Tuy nhiên, thời lượng chương trình dành cho phần tê ̣p khơng nhiều, đó: Mục Phân loại tệp thao tác với tệp §14 Kiểu liệu tệp Ví dụ §16 Ví dụ làm việc với tệp Hai nội dung không dạy, khuyến khích học sinh đọc thêm, vâ ̣y nên học sinh mơ hồ gặp nhiều lỗi viết chương trình với kiểu dữ liê ̣u này Vì nhiều thao tác so với các kiểu dữ liê ̣u khác mà các 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 Trước thực trạng tơi nghĩ nên chọn cách dạy đầy đủ dễ hiểu cho học sinh Từ giúp học sinh ngày hứng thú với ngơn ngữ lập trình Từ thực tiễn giảng dạy lớp kết hợp hướng dẫn học sinh học nhà phương pháp trực tuyến kiểu liệu tệp (file) đã rút mô ̣t số kinh nghiê ̣m để giúp học sinh làm bài tâ ̣p ở chương V “Tin học 11” có hiê ̣u quả nên tơi viết sáng kiến kinh nghiệm: “Biện pháp giúp học sinh thực hành với kiểu liệu tệp chương trình Tin học 11 trường THCS THPT Nghi Sơn” 1.2 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 số biện pháp hướng dẫn học sinh làm số tập đơn giản liên quan đến kiểu liệu tệp chương trình Tin học 11 để học sinh nắm bắt thao tác tránh gặp phải lỗi làm việc với tệp (file) Đối tượng nghiên cứu: Học sinh khối 11 trường THCS THPT Nghi Sơn – Thanh Hóa 1.3 Mục đích đề tài Giúp học sinh hiểu rõ, nắm vững và tránh được các lỗi thường gă ̣p làm bài tâ ̣p tệp “chương V - Tin học 11” Từ đó các em có thể vận dụng yêu thích làm các bài tâ ̣p có sử dụng kiểu dữ liê ̣u tê ̣p 1.4 Phương pháp nghiên cứu - Lựa chọn ví dụ tập cụ thể từ đơn giản đến phức tạp để hướng dẫn học sinh tiếp cận với kiểu liệu tệp (file) từ phân tích tỉ mỉ sai lầm học sinh, vận dụng hoạt động lực tư kỹ vận dụng kiến thức học sinh để từ học sinh viết chương trình hồn chỉnh - Phương pháp quan sát: phương pháp thu thập thơng tin q trình giáo dục sở tri giác trực tiếp hoạt động sư phạm cho ta tài liệu sống TIEU LUAN MOI download : skknchat@gmail.com thực tiễn giáo dục để khái quát nên quy luật nhằm đạo tổ chức trình giáo dục tốt hơn1 - Phương pháp thực nghiệm sư phạm: phương pháp thu nhận thông tin thay đổi số lượng, chất lượng nhận thức hành vi đối tượng giáo dục giáo viên tác động đến số câu hỏi tập kiểm tra2 NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 Cơ sở lý luận sáng kiến kinh nghiệm Tất liệu thuộc kiểu liệu xét lưu trữ nhớ (RAM) liệu bị tắt máy Với 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)3 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 ghi 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 dịng”.4 Tệp kiểu liệu có cấu trúc Định nghĩa tệp có phần giống mảng chỗ chúng tập hợp phần tử liệu có kiểu Song mảng đị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 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 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm Khi dạy “Chương V-Tin học 11” trường THCS THPT Nghi Sơn nhận thấy em lúng túng và thường mắc lỗi làm bài tâ ̣p với kiểu dữ liê ̣u tê ̣p Các em không hiểu được bản chất, ý nghĩa củ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 Học sinh không nhớ kiến thức cũ để giải tập Dữ liê ̣u kiểu tê ̣p khác hoàn toàn với các kiểu dữ liê ̣u các em đã được học Bài tâ ̣p cũng tương đối phức tạp với mức học của các em Các em không hiểu vai trò, ý nghĩa của từng câu lê ̣nh Được trích dẫn từ TLTK số [1] Được trích dẫn từ TLTK số [1] Được trích dẫn từ TLTK số [2] Được trích dẫn từ TLTK số [2] TIEU LUAN MOI download : skknchat@gmail.com Thực tế giảng dạy đặt vấn đề: làm để học sinh hiểu tránh được những sai lầm thường gă ̣p là điều quan trọng Tuy nhiên, để giải vấn đề không đơn giản Nên áp dụng SKKN: “Biện pháp giúp học sinh thực hành với kiểu liệu tệp chương trình Tin học 11 trường THCS THPT Nghi Sơn” vào giảng dạy “Chương V-Tin học 11” 2.3 Các giải pháp sử dụng để giải vấn đề 2.3.1 Thao tác với tệp Để học sinh tiếp thu kiến thức tệp cách dễ dàng, trước hết giáo viên cần làm rõ cho học sinh hiểu vai trò kiểu tệp (chỉ xét đến tệp văn bản) phân biệt được: tệp liệu vào, tệp lưu trữ chương trình, tệp liệu Đối với NNLT Pascal giáo viên nên trình chiếu hướng dẫn sơ thao tác làm việc với tệp sau: Gắn tên tệp cho biến điều khiển Tệp Output Tệp Input Mở tệp để đọc liệu Chứa biến điều khiển việc đọc/ghi liệu tệp Mở tệp để ghi liệu Tệp chương trình Ghi liệu vào tệp Đọc liệu từ tệp vào biến Đóng tệp TIEU LUAN MOI download : skknchat@gmail.com Sau học sinh bước đầu hình dung việc tương tác chương trình tệp, giáo viên bắt đầu vào giới thiệu thao tác cụ thể ngơn ngữ lập trình a Khai báo Trong NNLT để làm việc với liệu kiểu tệp ta phải sử dụng biến tệp Việc đọc (ghi) liệu tệp thực thông qua biến tệp Khai báo biến tệp văn NNLT Pascal có dạng: Var : text;5 Trong đó: tên người lập trình đặt theo quy tắc đặt tên NNLT Pascal Ví dụ: Var f1, f2: text; b Gắn tên tệp Để gắn tên tệp với biến tệp ta sử dụng thủ tục sau: Assign(,); Trong đó: biến xâu xâu; khai báo phần khai báo chương trình Ví dụ1: Assign (f1,’songuyen.inp’); Ví dụ 2: Để đọc liệu từ tệp INP.DAT thư mục gốc ổ đĩa C, ta cần gắn tệp với biến tệp, ví dụ tep2 thủ tục: Assign (tep2,’C:\INP.DAT’);6 c Mở tệp Trước mở tệp ta phải gắn tên tệp cho biến tệp thủ tục assign, tệp dùng để chứa kết liệu vào nên cách mở tệp khác Mở tệp để đọc liệu ta dùng thủ tục: Reset (); VD: Để đọc liệu từ tệp ‘songuyen.inp’ ta viết sau: Assign (f1,’songuyen.inp’); Reset(f1); Mở tệp để ghi liệu vào ta dùng thủ tục: Rewrite(); VD: Assign (f2,’bai2.out); Rewrite(f2); d Đọc/ghi tệp văn Thủ tục dùng để đọc liệu từ tệp có dạng: Read (,); hoặc: Readln (,); VD: Giả sử có khai báo đầy đủ biến tệp ‘SONGUYEN.INP’ lưu trữ số nguyên Ta đọc tệp sau: Được trích dẫn từ TLTK số [2] Được trích dẫn từ TLTK số [2] TIEU LUAN MOI download : skknchat@gmail.com Read (f1,x,y,z); Thủ tục dùng để ghi liệu vào tệp có dạng: Write (,); hoặc: Writeln (,); VD: Ghi giá trị kq vào tệp ta viết: Write(f2,kq); Hoặc writeln(f2,kq); Giáo viên cần giải thích thực hành thủ tục NNLT để học sinh biết đ Đóng tệp Thủ tục đóng tệp có dạng: Close (); VD: close (f1); Sau làm việc xong với tệp cần phải đóng tệp, việc đóng tệp quan trọng Và đặc biệt quan trọng ghi liệu vào tệp, hệ thống thực hoàn tất việc ghi liệu tệp 2.3.2 Hướng dẫn tạo tệp văn Tệp liệu vào (tệp Input) tệp liệu (tệp Output) tạo nhiều cách khác khơng nằm tệp chương trình Nhiều học sinh nhầm lẫn ba tệp dẫn đến thao tác tệp lệnh bị sai, tệp chương trình tệp soạn thảo NNLT Pascal, C, C++,…Khi học kiểu tệp lớp em học thao tác khai báo, gắn tên tệp, mở tệp, đọc/ghi liệu tệp đóng tệp Lúc em chưa hình dung tệp Input tệp Output đâu nằm chỗ nào, nên giáo viên nên giúp học sinh trả lời câu hỏi Vì tơi dùng biện pháp hướng dẫn học sinh tạo tệp Input cách sau: Cách 1: Tạo tệp Input có pas Khi vừa làm quen với kiểu liệu tệp, em chưa hiểu cách tạo tệp kiểm tra liệu tệp, 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ó 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 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 dấu cách trống TIEU LUAN MOI download : skknchat@gmail.com Bước 4: Lưu tệp lại với tên ‘Songuyen.pas’ (có thể không gõ phần đuô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’ Notepad có cấu trúc: Gồm dòng lần lượt là các sớ ngun, số cách 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 cấu trúc đề yêu cầu; Bước 3: Lưu liệu 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ụ tệp tạo theo cấu trúc ra: TIEU LUAN MOI download : skknchat@gmail.com Cách 3: Tạo tệp viết chương trình Có thể hướng dẫn học sinh viết chương trình tạo tệp văn cách nhập liệu từ bàn phím Bài tập: Em viết chương trình tạo tệp ‘dulieu.inp’ có cấu trúc: Gồm dòng lần lượt là các sớ ngun, số cách 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 Như học sinh tự tạo, xem sửa nội dung file Input theo yêu cầu đề bài, từ giáo viên hướng đến thao tác đọc kiểm tra liệu đọc từ file Input hay sai File Output tạo từ việc thực chương trình, giáo viên nên hướng dẫn học sinh cách kiểm tra kết input đơn giản để học sinh nắm kiến thức tệp TIEU LUAN MOI download : skknchat@gmail.com 2.3.3 Các bài 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 Bài tâ ̣p 1: Chương trình sau là chương trình đọc dữ liê ̣u từ tê ̣p văn bản Songuyen.inp Tính tổng các phần tử tê ̣p và đưa dữ liê ̣u tê ̣p Songuyen.out Tê ̣p văn bản Songuyen.inp có cấu trúc: - Dòng đầu ghi số nguyên N là số phần tử của 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 bản Songuyen.out có cấu trúc: Mô ̣t số nhất ghi tổng N phần tử Ví dụ: Songuyen.inp 12683 Songuyen.out 20 Đưa ví dụ tệp Songuyen.inp để học sinh thấy rõ cấu trúc tệp: Chương trình cài đặt: Program Baitap1; Var 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; TIEU LUAN MOI download : skknchat@gmail.com for i:=1 to N begin read(f1,x); S:=S+x; end; Write(f2,S:4); close(f1); End TIEU LUAN MOI download : skknchat@gmail.com Câu hỏi 1: Em hãy nhâ ̣p chương trình và chạy thử Kiểm tra têp̣ Songuyen.out cho kết quả thế 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 là têp̣ không có dữ liê ̣u? Ở câu hỏi phần lớn khơng tìm ngun nhân quên đó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 khơng báo lỗi, khơng thể ghi liệu vào tệp Vì chương trình cần thêm lệnh đóng tệp f2 sau: Program Baitap1; Var 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: TIEU LUAN MOI download : skknchat@gmail.com Bài tâ ̣p 2: Khắc phục lỗi đọc ghi dữ liê ̣u không đúng vì chưa hiểu rõ các lê ̣nh: read và readln; write và writeln Cho tê ̣p văn bản Dulieu.inp có cấu trúc: - Dòng đầu ghi số nguyên N là số phần tử của 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 dữ liê ̣u từ tê ̣p Dulieu.inp và ghi dữ 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 là các số nguyên của tê ̣p Dulieu.inp, mỗi số cách mô ̣t dấu cách trống) b Viết chương trình đọc dữ liê ̣u từ tê ̣p Dulieu.inp và ghi dữ 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 là các số nguyên của tê ̣p Dulieu.inp, mỗi số mô ̣t dòng) Hướng dẫn: Đưa ví dụ tệp văn Dulieu.inp để học sinh thấy rõ cấu trúc tệp: TIEU LUAN MOI download : skknchat@gmail.com 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 Program Baitap2b; Var i, x, N:integer; f1,f2:text; Begin assign(f1,'Dulieu.inp'); reset(f1); assign(f1,'Dulieu.inp'); reset(f1); assign(f2,'Dulieua.out'); rewrite(f2); readln(f1,N); for i:=1 to N begin read(f1,x); assign(f2,'Dulieub.out'); rewrite(f2); readln(f1,N); for i:=1 to N begin read(f1,x); write(f2,x:3); writeln(f2,x:3); end; Câu hỏi 1: Hãy quan sát hai chương trình cài đặt vàend; giải thích ghi close(f1); close(f1); 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 là các số nguyên của tê ̣p Dulieu.inp, mỗi 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 là các số nguyên của tê ̣p Dulieu.inp, mỗi 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ần sử dụng câu lệnh write writeln: Tệp văn Dulieua.out: TIEU LUAN MOI download : skknchat@gmail.com 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 là số phần tử của 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 Nên sau đọc số phần tử tệp N trỏ chuột phải nằm đầu dòng để đọc tiếp liệu dùng câu lệnh Readln (readln(f1,N);) Các phần tử tệp nằm dòng nên sau đọc phần tử tệp trỏ chuột phải nằm trước phần tử dịng để đọc tiếp hết dùng câu lệnh Read (read(f1,x);) Bài tâ ̣p 3: Cho tê ̣p văn bản Sothuc.inp có cấu trúc: Gồm số thực, mỗi dòng mô ̣t số Viết chương trình đọc dữ liê ̣u từ tê ̣p, tính và đưa tổng các số tê ̣p Kết quả đư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 TIEU LUAN MOI download : skknchat@gmail.com 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ả giá trị true trỏ tệp tới cuối tệp Câu hỏi 3: Em 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 ví dụ tệp Sothuc.inp để học sinh thấy cấu trúc tệp 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 TIEU LUAN MOI download : skknchat@gmail.com 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: Tệp Sothuc.out thu sau thực chương trình: 2.4 Hiệu sáng kiến kinh nghiệm hoạt động giáo dục, thân, đồng nghiệp nhà trường Qua nhiều năm giảng dạy Tin học 11 thấy làm bài tâ ̣p Chương V Tệp thao tác với tệp học sinh thường gă ̣p phải những lỗi giống Để khắc phục, năm 2018 – 2019 và năm 2019 - 2020 đã vâ ̣n dụng các phương pháp giảng dạy thì kết quả đã khác rất nhiều, học sinh đã hiểu bài và làm bài tâ ̣p tốt Các lỗi thường gă ̣p các em đã sửa được nhất là những em say mê với môn học, tham gia đô ̣i tuyển học sinh giỏi môn tin của trường các kỹ thao tác với tê ̣p là rất quan trọng Các em vận dụng kiến thức thực hành với ngơn ngữ lập trình khác C, C++ Kết thể qua bảng liệt kê tỷ lệ kiểm tra nội dung kiến thức chương V Tệp thao tác với tệp hai lớp có chất lượng tương đương học sinh lớp11A1 11A2 trường THCS THPT Nghi Sơn, lớp 11A1 áp dụng biện pháp đề tài lớp 11A2 không áp dụng: Lớp Sĩ số Điểm < 11A1 43 Số lượng 11A2 42 Điểm