SKKN Nâng cao hiệu quả thực hành đối với kiểu dữ liệu tệp cho học sinh lớp 11 trường THPT Cầm Bá Thước

SKKN Nâng cao hiệu quả thực hành đối với kiểu dữ liệu tệp cho học sinh lớp 11 trường THPT Cầm Bá Thước

Ra trường và chính thức bước vào công tác giảng dạy bộ môn Tin học từ năm học 2009-2010 đến nay thấm thoát đã được 09 năm, trong quá trình dạy học bộ môn Tin học lớp 11, đặc biệt là những năm đầu mới nhận công tác tôi nhận thấy học sinh thực hiện các thao tác trên máy tính đối với kiểu dữ liệu tệp còn khó khăn và gặp nhiều lỗi khi thực hiện chương trình, từ đó dẫn đến chất lượng học tập của học sinh chưa cao.

Đối với một số bài toán cần lượng dữ liệu lớn và yêu cầu lưu trữ để xử lý nhiều lần thì việc sử dụng dữ liệu kiểu tệp là rất cần thiết. Tuy nhiên với thời lượng chương trình dành cho phần tệp không nhiều, học sinh phải thay đổi cách nhập dữ liệu đầu vào, đưa kết quả ra khi chạy chương trình, học sinh đa phần sinh sống tại các vùng có điều kiện kinh tế xã hội đặc biệt khó khăn, khả năng tiếp thu kiến thức có phần hạn chế, một bộ phận học sinh ít có cơ hội tiếp xúc và thao tác nhiều trên máy tính. Chính vì thế trong quá trình thực hành các em gặp phải nhiều khó khăn trong các bước như nhập dữ liệu vào tệp, đưa kết quả ra, kiểm tra kết quả thu được, sửa lỗi khi chạy chương trình., nếu không kịp thời giải quyết các vấn đề khó khăn trên cho các em lâu dần sẽ làm cho các em mất đi sự hứng thú làm ảnh hưởng không nhỏ đến chất lượng học tập.

Năm học 2013-2014 tôi đã viết sáng kiến kinh nghiệm “Một số phương pháp giúp học sinh khắc phục lỗi và rèn luyện kỹ năng thao tác trên máy khi làm bài tập về kiểu dữ liệu tệp” [1], được hội đồng khoa học nhà trường và ngành đánh giá cao, sau 04 năm gắn bó với công tác giảng dạy, bằng những kinh nghiệm đã có được, tôi mạnh dạn phát triển, điều chỉnh, bổ sung tiếp tục viết SKKN: “Nâng cao hiệu quả thực hành đối với kiểu dữ liệu tệp cho học sinh lớp 11 trường THPT Cầm Bá Thước”.

 

doc 17 trang thuychi01 6005
Bạn đang xem tài liệu "SKKN Nâng cao hiệu quả thực hành đối với kiểu dữ liệu tệp cho học sinh lớp 11 trường THPT Cầm Bá Thước", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
MỤC LỤC
1. Mở đầu
1.1. Lý do chọn đề tài
Ra trường và chính thức bước vào công tác giảng dạy bộ môn Tin học từ năm học 2009-2010 đến nay thấm thoát đã được 09 năm, trong quá trình dạy học bộ môn Tin học lớp 11, đặc biệt là những năm đầu mới nhận công tác tôi nhận thấy học sinh thực hiện các thao tác trên máy tính đối với kiểu dữ liệu tệp còn khó khăn và gặp nhiều lỗi khi thực hiện chương trình, từ đó dẫn đến chất lượng học tập của học sinh chưa cao. 
Đối với một số bài toán cần lượng dữ liệu lớn và yêu cầu lưu trữ để xử lý nhiều lần thì việc sử dụng dữ liệu kiểu tệp là rất cần thiết. Tuy nhiên với thời lượng chương trình dành cho phần tệp không nhiều, học sinh phải thay đổi cách nhập dữ liệu đầu vào, đưa kết quả ra khi chạy chương trình, học sinh đa phần sinh sống tại các vùng có điều kiện kinh tế xã hội đặc biệt khó khăn, khả năng tiếp thu kiến thức có phần hạn chế, một bộ phận học sinh ít có cơ hội tiếp xúc và thao tác nhiều trên máy tính. Chính vì thế trong quá trình thực hành các em gặp phải nhiều khó khăn trong các bước như nhập dữ liệu vào tệp, đưa kết quả ra, kiểm tra kết quả thu được, sửa lỗi khi chạy chương trình..., nếu không kịp thời giải quyết các vấn đề khó khăn trên cho các em lâu dần sẽ làm cho các em mất đi sự hứng thú làm ảnh hưởng không nhỏ đến chất lượng học tập.
Năm học 2013-2014 tôi đã viết sáng kiến kinh nghiệm “Một số phương pháp giúp học sinh khắc phục lỗi và rèn luyện kỹ năng thao tác trên máy khi làm bài tập về kiểu dữ liệu tệp” [1], được hội đồng khoa học nhà trường và ngành đánh giá cao, sau 04 năm gắn bó với công tác giảng dạy, bằng những kinh nghiệm đã có được, tôi mạnh dạn phát triển, điều chỉnh, bổ sung tiếp tục viết SKKN: “Nâng cao hiệu quả thực hành đối với kiểu dữ liệu tệp cho học sinh lớp 11 trường THPT Cầm Bá Thước”.
Đây là vấn đề không mới và quá phức tạp nhưng việc áp dụng nó đem lại những hiệu quả tốt trong công tác giảng dạy, góp phần nào đó nâng cao chất lượng học tập bộ môn đối với học sinh nhà trường.
1.2. Mục đích nghiên cứu
Xây dựng và đề xuất một số bài tập ví dụ, phương pháp hướng dẫn giúp học sinh nắm và hiểu rõ hơn về bản chất của kiểu dữ liệu tập, hạn chế và khắc phục được các lỗi thường gặp khi thực hành các chương trình liên quan đến kiểu dữ liệu tệp, từ đó làm tăng hứng thú cho các em khi thực hành và làm các bài tập có sử dụng kiểu dữ liệu tệp.
1.3. Đối tượng nghiên cứu
Học sinh lớp 11 trực tiếp giảng dạy tại trường THPT Cầm Bá Thước 
1.4. Phương pháp nghiên cứu
	Nghiên cứu qua quá trình giảng dạy thực tế, chất lượng thực hành của học sinh, khảo sát thông tin trực tiếp. 
1.5. Những điểm mới của SKKN
	Thay đổi về thứ tự, cách thức hướng dẫn học sinh thực hiện một số bài tập ví dụ đối với kiểu dữ liệu tệp.
	Bổ sung một số nội dung lưu ý cho các em học sinh trong quá trình thực hành và xử lý việc đọc, ghi dữ liệu kiểu tệp.
2. Nội dung
2.1. Cơ sở lý luận
Phương pháp dạy học ngôn ngữ lập trình từ một hoạt động lớn chia nhỏ thành những hoạt động nhỏ hơn để học sinh có thể dễ nắm bắt nội dung. 
Phương pháp phát vấn, phương pháp quy nạp. [1]
2.2. Thực trạng của vấn đề trước khi áp dụng SKKN
Khi hướng dẫn học sinh thực hành các thao tác trên máy phần dữ liệu tệp môn Tin học lớp 11 tại trường THPT Cầm Bá Thước tôi nhận thấy phần lớn các em khá lúng túng, mắc nhiều lỗi khi soạn thảo và chạy các chương trình có sử dụng kiểu dữ liệu tệp, một số nguyên nhân cụ thể đó là:
+ Học sinh chưa nắm vững được kiến thức cũ để giải quyết các bài tập.
+ Thao tác với 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 trước đó.
+ Một số bài tập cũng tương đối phức tạp với khả năng tiếp thu của các em.
+ Các em thực hiện nhưng chưa hiểu rõ vai trò, ý nghĩa của câu lệnh. [1]
Ta biết rằng để làm tốt một vấn đề nào đó trước hết phải hiểu rõ được bản chất của nó, cơ bản phần lớn các em chưa hiểu được đầy đủ bản chất, ý nghĩa của từng câu lệnh khi thao tác với tệp, mặt khác do quen với cách làm việc với các kiểu dữ liệu đã học trước đó nên khi viết chương trình thường mắc lỗi.
Thực tế giảng dạy đặt ra vấn đề: Làm thế nào để học sinh hiểu rõ bản chất vấn đề và tránh được những sai sót thường gặp, thực hiện cơ bản thành thạo các thao tác là điều quan trọng. Tuy nhiên, để giải quyết vấn đề này là không đơn giản, đặc biệt là đối với phần lớn học sinh ở các vùng đặc biệt khó khăn, chính vì vậy tôi đã áp dụng sáng kiến kinh nghiệm: “Nâng cao hiệu quả thực hành đối với kiểu dữ liệu tệp cho học sinh lớp 11 trường THPT Cầm Bá Thước” vào giảng dạy ở các lớp được phân công.
2.3. Các biện pháp đã sử dụng để giải quyết vấn đề
2.3.1. Hướng dẫn học sinh thực hành tạo tệp văn bản
Yêu cầu : Hãy tạo tệp ‘DATA.INP’ có cấu trúc gồm một dòng lần lượt là các số nguyên, mỗi số cách nhau ít nhất một dấu cách trống [2]
Cách 1: Tạo tệp ngay trong phần mềm lập trình Pascal:
Hướng dẫn: 
Bước 1: Khởi động Pascal
Bước 2: Vào File chọn New
Bước 2: Nhập dữ liệu theo đúng cấu trúc đề bài yêu cầu;
Bước 3: Lưu dữ liệu đúng tên tệp cả phần đầu và phần mở rộng
Hình 1: Màn hình khi tạo tệp trong phần mềm Pascal
Cách 2: Tạo tệp bằng Notepad:
Hướng dẫn: 
Bước 1: Mở Notepad bằng cách và Start -> Run -> nhập Notepad và nhấn phím Enter.
Bước 2: Nhập dữ liệu theo đúng cấu trúc đề bài yêu cầu;
Bước 3: Lưu dữ liệu đúng tên tệp cả phần đầu và phần mở rộng 
(Chú ý cho học sinh đường dẫn lưu tệp để khi lập trình có thể sử dụng thuận lợi nhất, chẳng hạn lưu cùng thư mục chứa chương trình Pascal hoặc tại đĩa gốc C)
Ví dụ một tệp tạo theo yêu cầu:
Hình 2: Màn hình khi tạo tệp trong phần mềm Notepad
Cách 3: Tạo tệp bằng cách viết chương trình:
Chương trình:
Program 	taotep;
Var 	i,x,N: integer;
 	f: text;
Begin
 	assign(f,'data.inp');
 	rewrite(f);
 	write('nhap so phan tu cua tep N:'); read(N);
 	for i:=1 to N do
 	begin
 	read(x);
 	write(f,x, ' ');
 	end;
 	close(f);
readln;
End.
Trong 3 cách trên tùy vào đối tượng học sinh cần phân tích cụ thể để hướng cho các em cách làm phù hợp. Với cách 1 và cách 2 thì phần lớn các em học sinh của các lớp khi thực hành đều có thể thực hiện được, riêng đối với cách 3 thì đây là hình thức phù hợp dành cho các em học sinh yêu thích việc học lập trình, muốn tìm tòi, thử nghiệm hình thức khác biệt. [1] Vì vậy cách làm này có thể sẽ làm mất nhiều thời gian để thực hiện. Tuy nhiên số lượng này là không nhiều, trong giảng dạy vẫn nên khuyến khích và tạo điều kiện cho các em.
2.3.2. Khắc phục lỗi quên đóng tệp
Trong quá trình thực hành thì đây cũng là một vấn đề mà rất nhiều em học sinh thường gặp phải, từ đó dẫn đến việc kết quả bài toán thu được không chính xác, không nhìn thấy được kết quả đầu ra. 
Ta có thể sử dụng một số bài tập để giúp các em hiểu rõ hơn vấn đề và tránh gặp phải những lỗi trên:
Bài tập 1: 
 Viết chương trình đọc dữ liệu từ tệp văn bản BAI1.INP Tính tổng các phần tử trong tệp và đưa dữ liệu ra tệp BAI1.OUT. 
- Tệp văn bản BAI1.INP có cấu trúc như sau:
+ 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 nhau một dấu cách trống.
 	- Tệp văn bản BAI1.OUT có cấu trúc: Một số duy nhất ghi tổng N phần tử [2]
Ví dụ:
BAI1.INP
BAI1.OUT
6
2 3 5 6 1 8
25
Đưa ra ví dụ để học sinh thấy rõ cấu trúc của tệp BAI1.INP và BAI1.OUT
Hình 3: Màn hình khi tạo tệp BAI1.INP
Chương trình:
Program 	Baitap1;
Var 	i, N, x, S: integer;
 	f1, f2: text;
Begin
 	assign(f1,'Bai1.inp');
 	reset(f1);
 	assign(f2,'Bai1.out');
rewrite(f2);
 	readln(f1,N);
S:=0;
for i:=1 to N do
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 trên và chạy thử. Mở và kiểm tra tệp BAI1.OUT xem kết quả thể hiện như thế nào? [1]
Hình 4: Màn hình khi mở tệp BAI1.OUT
Học sinh thực hiện và sẽ thấy rằng tệp BAI1.OUT không có giá trị nào cả, đa số các em có thể cho rằng nguyên nhân không có kết quả là do thuật toán sai, tuy nhiên khi kiểm tra lại chương trình đã cài đặt thì không thấy có lỗi thuật toán. Đây là bài toán đơn giản nên việc kiểm tra thuật toán là đơn giản nhưng đối với các bài toán phức tạp thì sẽ tốn rất nhiều thời gian. Do đó hướng cho các em việc cần phải kiểm tra xem quy trình thực hiện với tệp đã đảm bảo chính xác chưa.
Câu hỏi 2: 
Em hãy tìm lỗi trong chương trình dẫn đến việc trong tệp BAI1.OUT không có chứa giá trị nào?
Ở câu hỏi này phần lớn học sinh đều không tìm được nguyên nhân là do quên đóng đối với biến tệp f2 [1]
Cần chú ý cho học sinh: 
Mỗi khi thao tác với tệp, khi làm việc với tệp ngoài việc gán tên tệp và mở tệp (để đọc hoặc để ghi) thì sau khi làm việc xong ta phải đóng tệp. 
Phần này có thể cho học sinh hình dung một sự việc rất thực tế, chẳng hạn như việc các em đi ra ngoài mà quên không đóng cửa, không khóa thì tài sản có thể sẽ bị mất một phần hoặc mất toàn bộ (nếu không mất có thể do may mắn), đây cũng chính là lúc giúp các em giảm bớt sự căng thẳng trong giờ học.
Quay lại vấn đề nếu quên đóng tệp thì khi chạy chương trình sẽ không báo lỗi, nhưng quá trình ghi dữ liệu vào tệp không được đảm bảo dẫn đến việc tệp không có kết quả hoặc kết quả bị sai. Vì vậy chương trình trên cần thêm lệnh đóng tệp f2 như sau:
Chương trình:
Program 	Baitap1;
Var 	i, N, x, S: integer;
f1, f2:text;
Begin
 	assign(f1,'Bai1.inp');
 	reset(f1);
 	assign(f2,'Bai1.out');
 	rewrite(f2);
 	readln(f1,N);
 	S:=0;
 	for i:=1 to N do
 	begin
 	read(f1,x);
 	S:=S+x;
 	end;
 	Write(f2,S:4);
 	close(f1);
close(f2);
 End.
Sau khi sửa lỗi và chạy chương trình thì trong tệp BAI1.OUT có giá trị như sau:
Hình 5: Màn hình khi mở tệp BAI1.OUT (sau khi đã sửa lỗi)
2.3.3. Khắc phục lỗi đọc và ghi dữ liệu
Bài tập 2: 
Cho tệp văn bản BAI2.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 nhau một dấu cách trống.
a. Viết chương trình đọc dữ liệu từ tệp BAI2.INP và ghi dữ liệu vào tệp BAI2A.OUT (lưu ý tệp BAI2A.OUT có cấu trúc một dòng lần lượt là các số nguyên của tệp BAI2.INP, mỗi số cách nhau một dấu cách trống).
b. Viết chương trình đọc dữ liệu từ tệp BAI2.INP và ghi dữ liệu vào tệp BAI2B.OUT (tệp BAI2B.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 BAI2.INP, mỗi số trêm một dòng) [1]
Trước hết, ta đưa ra một ví dụ tệp văn bản BAI2.INP để học sinh thấy rõ cấu trúc của tệp:
Hình 6: Màn hình khi tạo tệp BAI2.INP
Tiếp theo ta đưa ra hai chương trình thực hiện theo yêu cầu của ý (a) và ý (b):
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 do
 	begin
	read(f1,x);
	writeln(f2,x:3);
 	 end;
	close(f1); close(f2);
End.
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 do
	begin
	read(f1,x);
	write(f2,x:3);
	end;
	close(f1); close(f2);
End.
Câu hỏi 1: 
Hãy quan sát trong chương trình cài đặt “Baitap2a” đoạn lệnh đọc dữ liệu từ tệp giải thích vì sao khi đọc số phần tử của tệp (giá trị N) thì dùng câu lệnh Readln (readln(f1,N);) và khi đọc lần lượt từng giá trị phần tử cụ thể trong tệp thì dùng lệnh Read (read(f1,x);)? [1]
Trả lời: 
Vì cấu trúc tệp BAI2.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 nhau một dấu cách trống.
Nên sau khi đọc số phần tử của tệp N thì con trỏ chuột phải nằm ở đầu dòng tiếp theo để đọc tiếp dữ liệu vì vậy dùng câu lệnh Readln (readln(f1,N);) có nghĩa rằng lệnh Readln sau khi đọc xong giá trị vào các biến sẽ chuyển con trỏ xuống dòng để đọc tiếp các giá trị khác ở dòng kế tiếp.
Các phần tử của tệp nằm trên một dòng nên sau khi đọc mỗi phần tử của tệp con trỏ chuột phải nằm trước phần tử tiếp theo cùng dòng để đọc tiếp cho tới hết vì vậy dùng câu lệnh Read (read(f1,x);) có nghĩa rằng lệnh Read sau khi đọc xong giá trị vào các biến sẽ di chuyển con trỏ để đọc các giá trị kế tiếp trong tệp.
Câu hỏi 2: 
Hãy quan sát hai chương trình cài đặt và giải thích vì sao khi ghi dữ 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);”? [1]
Trả lời: 
Ở chương trình “Baitap2a” tệp BAI2A.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 BAI2.INP, mỗi số cách nhau một dấu cách trống. Còn ở chương trình “Baitap2b” tệp BAI2B.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 BAI2.INP, mỗi số một dòng.
Đưa ra màn hình kết quả của hai tệp BAI2A.OUT và BAI2B.OUT sau khi thực hiện chương trình và giải thích rõ hơn để học sinh phân biệt được khi nào cần sử dụng câu lệnh Write và Writeln.
Tệp văn bản BAI2A.OUT :
Hình 7: Màn hình khi mở tệp BAI2A.OUT
Tệp văn bản BAI2B.OUT :
Hình 8: Màn hình khi mở tệp BAI2B.OUT
Bài tập 3: Cho tệp văn bản BAI3.INP có cấu trúc gồm 1 dòng chứa các giá trị là số thực, mỗi dòng một giá trị. Viết chương trình đọc dữ liệu từ tệp BAI3.INP, tính và đưa ra tổng các giá trị trong tệp, kết quả ghi vào tệp BAI3.OUT [2]
Đặt ra một số câu hỏi cho học sinh trước khi viết chương trình:
Câu hỏi 1: 
Số lượng phần tử của tệp đã biết trước chưa?
Trả lời: 
Số lượng phần tử của tệp chưa biết trước. 
Câu hỏi 2: 
Khi chưa biết số lượng phần tử của tệp để thao tác đọc/ ghi với tệp văn bản thường sử dụng hàm chuẩn nào.
Trả lời: 
Hàm eof() trả về giá trị true nếu con trỏ tệp đang chỉ tới cuối tệp (phần này cần giải thích rõ hơn đối với một số học sinh)
Câu hỏi 3: 
Em hãy viết đoạn lệnh đọc dữ liệu từ tệp BAI3.INP và tính tổng các phần tử của tệp.
Trả lời: 
 	S:=0;
 	while not eof(f1) do
 	Begin
 	readln(f1,x);
 	S:=S+x;
 	end;
Bài tập nhỏ này giúp học sinh củng cố lại các thao tác khi làm việc với tệp, hiểu rõ cách đọc giá trị từ tệp như thế nào cho hợp lý, chính xác.
Đưa ra một ví dụ về tệp BAI3.INP để học sinh thấy cấu trúc của tệp sẽ giúp các em thực hiện yêu cầu của bài dễ dàng hơn.
Hình 9: Màn hình khi nhập dữ liệu cho tệp BAI3.INP
Chương trình:
Program 	Baitap3;
Var 	i:integer;
 	x,S:real;
 	f1,f2:text;
Begin
 	assign(f1,'Bai3.inp');
 	reset(f1);
 	assign(f2,'Bai3.out');
 	rewrite(f2);
 	s:=0;
 	while not eof(f1) do
 	 	begin
 	 	readln(f1,x);
 	S:=S+x;
 	end;
 	write(f2,S:6:2);
 	close(f1);
 	close(f2);
End.
Sau khi thực hiện chương trình đưa ra tệp BAI3.OUT để học sinh quan sát:
Hình 10: Màn hình khi mở tệp kết quả BAI3.OUT
2.4. Hiệu quả của SKKN
Trong khoảng 03 năm đầu giảng dạy phần lớn các em học sinh khi làm bài tập và thực hành các thao tác đối với kiểu dữ liệu tệp thường gặp phải nhiều khó khăn khi xử lý kiểu dữ liệu này.
	Để nâng cao hiệu quả giảng dạy, một mặt nhằm rèn luyện khả năng thao tác thực hành đồng thời làm tăng hứng thú cho cho các học sinh, bằng những kinh nghiệm có được, tôi đã vận dụng một số biện pháp hướng dẫn các em vào giảng dạy thì kết quả thực hành của các em đã có sự tiến bộ rõ rệt.
Cơ bản phần lớn các em đã hiểu bài, hiểu rõ vấn đề, làm được bài tập và khả năng thực hành trên máy ngày càng hiệu quả hơn. Một số lỗi thường gặp trước đây nay các em đã có thể tự sửa được
Do đã giải quyết được những khó khăn nên các em say mê với môn học hơn, đặc biệt hơn nữa là với những em có nguyện vọng tham gia thi học sinh giỏi bộ môn Tin học của trường, mà ta biết rằng việc sử dụng kiểu dữ liệu tệp khi làm bài là bắt buộc.
	Kết quả thực hành của học sinh các lớp được giao trực tiếp giảng dạy ngày một tiến bộ, được thể hiện cụ thể qua các tiết thực hành, thống kê khảo sát qua một số năm học gần đây như sau (mỗi năm 04 lớp, chất lượng khác nhau)
* Năm học 2015-2016
+ Kết quả học tập:
TT
Lớp dạy
Sĩ số
Học lực 
Giỏi
%
Khá
%
TB
%
Yếu
%
1
11A6
37
4
10.8
10
27.0
23
62.2
0
0.0
2
11B1
45
31
68.9
14
31.1
0
0.0
0
0.0
3
11A5
37
0
0.0
5
13.5
26
70.3
6
16.2
4
11B2
40
6
15.0
34
85.0
0
0.0
0
0.0
Tổng
159
41
25.8
63
39.6
49
30.8
6
3.8
+ Kết quả khảo sát khả năng thực hành:
TT
Lớp dạy
Sĩ số
Khảo sát thực tế về khả năng thực hành
Tự chủ động thực hành thành thạo
%
Thực hành được sau khi có sự hướng dẫn của GV
%
1
11A6
37
31
83.8
6
16.2
2
11B1
45
43
95.6
2
4.4
3
11A5
37
29
78.4
8
21.6
4
11B2
40
37
92.5
3
7.5
Tổng
159
140
88.1
19
11.9
* Năm học 2016-2017
+ Kết quả học tập:
TT
Lớp dạy
Sĩ số
Học lực 
Giỏi
%
Khá
%
TB
%
Yếu
%
1
11B1
39
25
64.1
14
35.9
0
0.0
0
0.0
2
11C1
40
3
7.5
37
92.5
0
0.0
0
0.0
3
11A1
37
0
0.0
14
37.8
22
59.5
1
2.7
4
11A2
36
0
0.0
11
30.6
21
58.3
4
11.1
Tổng
152
28
18.4
76
50.0
43
28.3
5
3.3
+ Kết quả khảo sát khả năng thực hành:
TT
Lớp dạy
Sĩ số
Khảo sát thực tế về khả năng thực hành
Tự chủ động thực hành thành thạo
%
Thực hành được sau khi có sự hướng dẫn của GV
%
1
11B1
39
37
94.9
2
5.1
2
11C1
40
37
92.5
3
7.5
3
11A1
37
33
89.2
4
10.8
4
11A2
36
30
83.3
6
16.7
Tổng
152
137
90.1
15
9.9
* Năm học 2017-2018:
+ Kết quả học tập:
TT
Lớp dạy
Sĩ số
Học lực 
Giỏi
%
Khá
%
TB
%
Yếu
%
1
11B1
40
26
65.0
14
35.0
0
0.0
0
0.0
2
11C2
40
0
0.0
31
77.5
9
22.5
0
0.0
3
11A6
37
0
0.0
17
45.9
18
48.6
2
5.4
4
11A5
38
0
0.0
8
21.1
28
73.7
2
5.3
Tổng
155
26
16.8
70
45.2
55
35.5
4
2.6
+ Kết quả khảo sát khả năng thực hành:
TT
Lớp dạy
Sĩ số
Khảo sát thực tế về khả năng thực hành
Tự chủ động thực hành thành thạo
%
Thực hành được sau khi có sự hướng dẫn của GV
%
1
11B1
40
38
95.0
2
5.0
2
11C2
40
37
92.5
3
7.5
3
11A6
37
34
91.9
3
8.1
4
11A5
38
35
92.1
3
7.9
Tổng
155
144
92.9
11
7.1
Trên đây là những thống kê khảo sát thực tế thu được qua quá trình giảng dạy, từ đó có thể thấy được sự hiệu quả trong việc áp dụng một số kinh nghiệm nhằm nâng cao chất lượng học tập của học sinh qua các tiết thực hành đối với kiểu dữ liệu tệp.
3. Kết luận, kiến nghị
3.1. Kết luận
3.1.1. Những kết quả đạt được
Phần lớn học sinh nắm được kiến thức, hiểu rõ được bản chất của tệp, vận dụng vào làm các bài tập và rèn luyện được kỹ năng thực hành các thao tác đối với kiểu dữ liệu tệp, chuyển đổi khá thành thạo từ việc đưa dữ liệu vào/ra bằng cách nhập bàn phím, màn hình sang dùng kiểu dữ liệu tệp.
Các em đã tự chủ động khắc phục được những lỗi thường hay mắc phải khi chạy các chương trình sử dụng kiểu dữ liệu tệp, có thái độ tích cực trong học tập, yêu thích môn học hơn.
Các em có hứng thú hơn trong các giờ thực hành do đã giải quyết được những khó khăn khi thao tác trực tiếp trên máy tính.
3.1.2. Nguyên nhân tồn tại, hạn chế
Một bộ phận học sinh là người dân tộc, học sinh vùng cao ở nơi có điều kiện kinh tế khó khăn ít có điều kiện tiếp xúc với máy tính nên còn chậm trong các thao tác khi thực hành.
Một số học sinh khả năng còn hạn chế trong việc áp dụng lý thuyết vào làm bài tập thực hành.
Môn Tin học mà đặc biệt là phần lập trình giảng dạy ở lớp 11 là môn học khó và mới mẻ, nhất là đối với các em sinh sống và học tập ở các vùng có điều kiện kinh tế - xã hội đặc biệt khó khăn như vùng 30A, vùng 135.
Trong những năm gần đây số học sinh gia đình có trang bị máy tính cho việc học tập đã mặc dù đã được cải thiện, tuy nhiên còn chưa nhiều và đồng đều, một số em còn chưa chịu khó và dành thời gian tập trung cho môn học.
3.2. Kiến nghị
	Bằng những kinh nghiệm qua quá trình giảng dạy thực tế của bản thân, một phần nào đó tôi đã giúp các em học sinh tự chủ động khắc phục, giải quyết được khó khăn khi thực hành về dữ liệu kiểu tệp trong chương trình Tin học lớp 11. Các em đã

Tài liệu đính kèm:

  • docskkn_nang_cao_hieu_qua_thuc_hanh_doi_voi_kieu_du_lieu_tep_ch.doc
  • docBia SKKN.doc