Sáng kiến kinh nghiệm Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học Lớp 11

Như chúng ta đã biết, công nghệ thông tin ngày này có một tầm quan trọng rất lớn trong công việc, trong cuộc sống của chúng ta. Bất cứ ngành nghề nào, lĩnh vực nào cũng cần có sự hỗ trợ của công nghệ thông tin. Ngay cả những em học sinh tiểu học đã cần sự hỗ trợ của công nghệ thông tin trong việc học tập và giải trí. Biết được tầm quan trọng của nó nên Bộ Giáo Dục đã phổ cập tin học trong các trường THPT trên toàn quốc bắt đầu từ năm học 2006 - 2007.

Định hướng đổi mới phương pháp dạy học đã được thống nhất theo xu hướng tích cực hóa hoạt động của học sinh dưới sự hướng dẫn của giáo viên: Học sinh tự giác chủ động tìm tòi, phát hiện, giải quyết nhiệm vụ, nhận thức và có ý thức vận dụng linh hoạt, sáng tạo các kiến thức, kỹ năng đã thu nhận được. Trong quá trình dạy học, giáo viên có thể vận dụng nhiều cách đánh giá khác nhau để giúp học sinh định hướng tốt trong học tập, tạo ra những sản phẩm chất lượng và hình thành, phát triển năng lực. Vai trò của giáo viên chỉ là hướng dẫn, tư vấn chứ không phải là chỉ đạo, quản lí công việc của học sinh.

Tuy nhiên, tin học vẫn là một môn học mới so với các môn khác ở các trường phổ thông nên học sinh còn nhiều bỡ ngỡ khi tiếp cận với môn học này. Nội dung tin học lập trình lớp 11 là một nội dung mới lạ đối với đa số học sinh với nhiều khái niệm, thuật ngữ, cấu trúc dữ liệu mà học sinh mới được tiếp xúc lần đầu. Chính vì vậy mà học sinh dễ mắc sai lỗi khi lập trình giải quyết các bài toán. Ngoài các lỗi mà khi dịch chương trình máy báo ra (các lỗi về cú pháp) thì còn rất nhiều các lỗi mà học sinh khi mắc phải không biết tại sao và không biết sửa chỗ nào. Có nhiều học sinh khi chạy một chương trình pascal mặc dù không dịch ra lỗi nào nhưng kết quả thu được vẫn không đúng và các em không biết sửa như thế nào. Hơn nữa trong sách bài tập tin học, sách giáo, sách tham khảo hiện vẫn chưa có sách nào hướng dẫn học sinh phát hiện và sửa các lỗi đó.

Tin học lớp 11 là một môn học trìu tượng đòi hỏi giáo viên và học sinh phải hoạt động tích cực, giáo viên cần đổi mới phương pháp dạy để học sinh có thể:

+ Nghe giáo viên giảng bài, nhận xét, nghe bạn bè trả lời

+ Nhìn giáo viên viết, bài giảng chiếu trên màn hình

+ Đọc vở ghi, đọc sách giáo khoa, sách tham khảo

+ Phát biểu ý kiến trong lớp, nhận xét ý kiến của bạn,.

+ Viết kết quả công việc của mình, của nhóm

+ Làm bài tập thực hành, áp dụng kiến thức vào cuộc sống

 

doc32 trang | Chia sẻ: lacduong21 | Lượt xem: 1935 | Lượt tải: 4Download
Bạn đang xem 20 trang mẫu của tài liệu "Sáng kiến kinh nghiệm Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học Lớp 11", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
 bộ. Vì vậy khi viết chương trình để tiết kiệm biến cục bộ học sinh đã dùng tên hàm làm biến cục bộ.
Ví dụ 7:
Function GT(n:integer):Longint;
Var i:integer;
Begin
	For i:=2 to n do GT:=GT*i;
End;
Trong thân hàm đã sử dụng tên hàm làm biến cục bộ nên khi biên dịch sẽ báo lỗi gọi hàm nhưng thiếu tham số do chương trình hiểu GT:=GT*i là lời gọi đệ qui.
 Biến đếm trong các vòng lặp khai báo kiểu thực.
Ví dụ 8: 
Var i:real;
For i:=1 to n do write (i);
 Biến đếm trong các vòng lặp luôn luôn nhận giá trị nguyên hoặc dưới dạng kí tự, do vậy khi khai báo biến đếm tuyệt đối không sử dụng kiểu dữ liệu thực.
 Gán kết quả phép chia cho biến kiểu nguyên.
Ví dụ 9:
Var a, b, c: Integer;
a: =20;
b:=14;
c:=a/b;
 Nhầm lẫn phép gán “:=” với phép so sánh “=”.
Sai lầm này là do học sinh chưa quen với các kí hiệu trong Pascal. 
 Rơi vào vòng lặp vô hạn.
Đây là một lỗi rất thường gặp khi học sinh viết các chương trình có chứa vòng lặp “While – do”
Ví dụ 10:
i:=1; While i< 10 do write (i);
Ví dụ trên đã rơi vào vòng lặp vô hạn bởi giá trị của i bao giờ cũng nhỏ hơn 10. 
CHƯƠNG II. ĐỀ XUẤT GIẢI PHÁP
1. Giải pháp 1: Cung cấp cho học sinh hệ thống bài tập đa dạng phong phú về thể loại như viết thuật toán, đọc hiểu chương trình, phát hiện lỗi chương trình, chia nhỏ bài toán lớn, viết chương trình, bài tập về khai báo biến...
Việc làm này giúp học sinh tích lũy kinh nghiệm sửa lỗi trong các bài tập đồng thời phát huy năng lực tự học tự giải quyết vấn đề, năng công nghệ thông tin nâng cao.
Khi dạy lập trình nói chung và Pascal nói riêng, nhiều khi người dạy chỉ chú ý tới các bài tập về lập trình mà không nghĩ rằng trong những bước đầu để học sinh hiểu bài cần phải đưa ra nhiều dạng bài tập, trong số các dạng bài tập đó ở đây ta có thể nêu ra một số dạng như sau: bài tập về viết thuật toán, bài tập về đọc hiểu chương trình, bài tập về sửa lỗi chương trình...Do vậy giáo viên cần phải đưa ra nhiều bài tập đa dạng phong phú giúp học sinh rèn luyện nhiều kỹ năng trong khi học Pascal ví dụ như kỹ năng khai báo biến, kỹ năng phát hiện lỗi, kỹ năng sử dụng các kiểu dữ liệu để khai báo biến....Có những lỗi mà chỉ khi học sinh làm nhiều có kinh nghiệm mới phát hiện ra.
Để thực hiện tốt giải pháp này, tôi xin đề xuất một số dạng bài tập như sau:
a. Bài tập về đọc hiểu chương trình.
Loại bài tập này sẽ giúp phát triển tư duy, giúp học sinh hiểu bài, nhất là khi dạy các cấu trúc lệnh. Đối với dạng bài tập này, giáo viên nên hướng dẫn các em thực hiện tuần tự theo từng câu lệnh cụ thể.
Ví dụ 11: Cho biết kết quả khi thực hiện chương trình sau:
Program vd2;
Uses crt;
Var i: integer;
Begin
Clrscr;
Writeln(‘ nhap du lieu cho bien i:’);
Readln(i);
While i>1 do
begin
If (i mod 2)0 then i:=i+1
Else i:=i - 2;
Writeln(i);
end;
Readln;
End.
Cho i:=5. Vậy kết quả chương trình sau khi thực hiện thế nào?
Kết quả hiện ra trên màn hình:
6
4
2
b. Bài tập xác định bài toán, xây dựng thuật toán.
Việc hình thành thuật toán trước khi viết chương trình là tạo một thói quen tốt trong tư duy của các học sinh. Nếu bài toán nào học sinh cũng hình thành thuật toán trước khi viết chương trình thì việc xảy ra lỗi sẽ được hạn chế hơn rất nhiều. Học sinh trình bày thuật toán trước khi viết chương trình là hết sức quan trọng. Thuật toán đúng thì chương trình mới có khả năng đúng, còn một thuật toán sai chắc chắn là cho một chương trình sai. Tuy nhiên đối với phần lớn học sinh lớp 11 thường bỏ qua bước này do tâm lý học sinh không thích các loại bài tập như thế. 
Trong nhiều trường hợp tưởng như không cần thuật toán cụ thể học sinh vẫn viết được chương trình. Thực tế thuật toán đó không được viết ra nhưng đã hình thành sẵn trong đầu người viết.
Với đa số học sinh hiện nay, cần phải dành một lượng thời gian thích hợp để rèn luyện loại bài tập này. Phải làm sao cho việc viết thuật toán trở thành kĩ năng để khi các em lập trình trên máy, tuy không cần viết thuật toán ra song các em có thể hình dung được thuật toán đó trong đầu. Cần phải tạo cho các em có ý thức khi viết một chương trình Pascal là phải tuân thủ theo trình tự sau:
Xác định bài toán àXây dựng thuật toánàViết chương trìnhà Hiệu chỉnh.
Ví dụ 13: Có n quả cam có kích cỡ khác nhau và một cái cân dĩa. Hãy chỉ ra cách tìm được quả cam to nhất.Với bài toán trong thực tế như trên ta có thể phát biểu lại dưới dạng bài toán trong toán học như sau: Cho tập hợp A có số phần tử hữu hạn. Tìm phần tử lớn nhất trong tập A nói trên. Khi đó ta có thể trình bày thuật toán như sau:
B1: Nếu chỉ có 1 quả cam thì đó chính là quả lớn nhất và kết thúc.
B2: Nếu số quả cam n>1 thì
Chọn 2 quả cam bất kì và so sánh.
Giữ lại quả to hơn.
B3: Nếu không còn quả cam nào chuyển sang bước 5, ngoài ra:
- Chọn một quả cam bất kì khác để so sánh với quả cam giữ lại ở bước trước.
- Giữ lại quả to hơn.
B4: Trở lại bước 3
B5: Quả giữ lại chính là quả to nhất và kết thúc.
c. Bài tập phát hiện và sửa lỗi chương trình.
	Trong các tiết bài tập tôi thường cho học sinh một chương trình hoặc một đoạn chương trình có lỗi yêu cầu học sinh phát hiện xem chương trình đó có những lỗi nào và cách sửa lỗi đó ra sao. Đôi khi gặp những lỗi phức tạp còn yêu cầu học sinh nêu rõ nguyên nhân tại sao mắc lỗi.
Ví dụ 12: Để tìm số lớn nhất trong 3 số x, y, z được nhập vào từ bàn phím, có học sinh đã viết chương trình như sau:
Program vd;
Uses crt;
Var x, y, z: integer;
Begin
Clrscr;
Write(‘ nhap vao 3 so: ’);
Readln(x, y, z);
If x<y then x:=y
Else 
	If x<z then x := z;
Write(‘ So lon nhat la: ’, x);
Readln;
End.
Chương trình trên cho đáp số lúc đúng, lúc sai tuỳ thuộc vào x, y, z. Hãy giải thích tại sao và sửa lại cho đúng.
Ta thực hiện chương trình trên với 2 bộ input sau đây:
x = 4, y = 5, z = 6
X
y
x
x<y
x<z
4
5
6
T (4<5)
5
Vậy số lớn nhất là 4 "Kết quả sai
x = 5, y = 4, z = 7
X
y
x
x<y
x<z
5
4
7
F (5<4)
T (5<7)
7
Vậy số lớn nhất là 7 "Kết quả đúng
Chương trình trên thực hiện lúc đúng lúc sai do chương trình mới chỉ so sánh 2 số x và y thôi đã đưa ra kết luận. Ta có thể sửa lại chương trình như sau:
Program vd3_1;
Uses crt;
Var x, y, z, Max: integer;
Begin
Clrscr;
Write(‘ nhap vao 3 so: ’);
Readln(x, y, z);
Max:=x;
If (Max<y) then Max:=y;
If (Max<z) then Max:=z
;
Write(‘ So lon nhat la: ’,Max);
Readln;
End.
d. Bài tập rèn luyện kĩ năng khai báo biến và sử dụng các kiểu dữ liệu.
Khi viết chương trình nhiều khi học sinh chưa thể xác định được hết các biến cần sử dụng trong chương trình nên thường khai báo thiếu biến.
Để rèn luyện kỹ năng khai báo biến và sử dụng các kiểu dưa liệu chuẩn, tôi yêu cầu học sinh cần xác định rõ bài toán sau khi đọc đề, yêu cầu học sinh xác định rõ trong chương trình có các biến nào, sử dụng kiểu dữ liệu nào thì phù hợp.
Ví dụ 13: Trong một chương trình đã chạy tốt, khi thực hiện không có lỗi có một số lệnh như sau:
..
Ok:= ‘n’;
J:=round(sqr(n));
If ch= ‘Ok’ then ch:= ‘It is’ + ch;
..
While kt and (i<=j) do
 Begin
	Kt:=Not(n mod i=0);
	X:=1.5*j+i;
 End;
Hãy viết phần khai báo biến cho đoạn chương trình trên.
Với dạng bài tập này, ta căn cứ vào các câu lệnh đã cho để viết phần khai báo biến cho chương trình trên như sau: 
Var n, i, j : integer;
	 X: real;
	 Kt: boolean;
	 ok: char; ch: string;
Tuy nhiên, ta cũng có nhiều cách để khai báo biến ví dụ biến “ok” có thể thuộc kiểu string; “j” có thể thuộc kiểu real,
Kết luận: Học sinh cần phải biết được trong một chương trình thì khai báo biến nào, để làm gì và kiểu dữ liệu của biến đó. Để làm được điều đó trước tiên học sinh phải xác định rõ “Input” và “Output” của bài toán tiếp đó là phải nắm rõ được các kiểu dữ liệu chuẩn và phạm vi khai báo của các biến.
2. Giải pháp 2: Nhấn mạnh nguyên nhân gây lỗi khi sửa lỗi. 
Việc làm này giúp học sinh hiểu rõ hơn nguyên nhân mắc lỗi và lần sau không mắc phải các lỗi tương tự. Chúng ta quan sát lại ví dụ trong phần trước :
Ví dụ 1(Trong phần thực trạng)
Sau đó khi chạy chương trình nhập a=100, b=200 máy sẽ báo lỗi tràn bộ nhớ. Trong trường hợp này cần giải thích rõ tại sao lại lỗi và lỗi trong trường hợp nào? 
TH1: nhập x=100, y=200 thì chương trình sẽ tính z=300. Mà trong phần khai báo chúng ta khai bao z kiểu byte, kiểu byte có phạm vi giá trị là từ 0 đến 255 như vậy z vượt quá phạm vi khai báo gây ra tình trạng tràn bộ nhớ. 
TH2: Tương tự nếu ta nhập x=100, y= -200 thì kết quả z=- 100. Lúc này lại xảy ra lỗi vì giá trị của c không nằm trong phạm vi giá trị của kiểu byte. 
TH3: Nếu nhập x = 300, y = - 100 thì mặc dù z := x+y được tính bằng 200 thuộc phạm vi giá trị của kiểu byte thì chương trình vẫn sai vì lúc này chúng ta nhận thấy a lại vượt quá phạm vi khai báo, b không thuộc phạm vi khai báo.
Kết luận: Để sửa lỗi này chúng ta cần phải chọn kiểu dữ liệu khi khai báo biến phù hợp. Và trong quá trình nhập dữ liệu cho các biến chúng ta cần phải chọn bộ “input” phù hợp.
3. Giải pháp 3: Yêu cầu học sinh hình thành thuật toán trước khi viết chương trình.
Một bài toán có thể có nhiều cách giải khác nhau ứng với mỗi cách giải ta có một thuật toán. Để giúp học sinh có khả năng nhanh chóng nắm được ý tưởng của người khác cần luyện cho các em biết giải bài toán theo một thuật toán đã được trao đổi. Khả năng hiểu được nhanh ý tưởng của người khác cũng chính là yêu cầu trong hoạt động nhóm. Phát triển khả năng này là phát triển một phẩm chất tư duy quí báu để các em biết hợp tác trong công việc, một trong những yêu cầu của người lao động, sáng tạo trong thời đại mới, thời đại mà một sản phẩm là sự kết tinh lao động của nhiều người. Đó cũng chính là phát triển năng lực tự học, tự giải quyết vấn đề, năng lực hợp tác của học sinh.
Ví dụ 14: Lập chương trình cắt bỏ các kí tự trống thừa của một xâu cho trước. Hãy viết chương trình theo thuật toán sau:
Thuật toán như sau:
Bước 1: Xoá các kí tự trong thừa ở đầu.
Sử dụng vòng lặp while: while xau[1]= ‘ ’ do delete(xau,1,1);
Bước 2: Xoá các kí tự trống ở cuối.
Sử dụng vòng lặp while: while xau[length(xau)]= ‘ ’ do delete(xau,length(xau),1);
Bước 3: Xoá các kí tự trống thừa giữa các từ.
Kiểm tra 2 kí tự liền kề nhau có hơn 1 kí tự trống thì xoá kí tự trống.
While pos( ‘ ’,xau)0 do delete(xau,pos( ‘ ’,xau),1);
Giáo viên có thể hướng dẫn học sinh phương pháp viết thuật toán đơn giản, dễ hiểu.
Kết luận: Giải pháp này giúp tạo thói quen tốt cho học sinh đó là luôn luôn hình thành thuật toán trước khi viết chương trình. Điều này sẽ làm hạn chế tối đa những lỗi xảy ra khi viết chương trình. Trên thực tế, học sinh thường viết chương trình ngay nhưng thực ra đối với các học sinh viết chương trình tốt thì thuật toán đã được hình thành trong tư duy của các em rồi.
4. Giải pháp 4: Giải bài toán trong một trường hợp riêng, yêu cầu học sinh phát hiện thiếu sót để từ đó hoàn thiện chương trình.
Ví dụ 15: Viết chương trình đếm và in ra các số trong 1 xâu đã cho.
Cho đoạn chương trình giải quyết công việc trên như sau:
I:=1; dem:=0;
While i<=length(xau) do
Begin
If (xau[i]>= ‘0’) and (xau[i]<= ‘9’) then
Begin
xauM:= ‘’;
while (xau[i]>= ‘0’) and (xau[i]<= ‘9’) do
begin
xauM:=xauM+xau[i];
i:=i+1;
end;
dem:=dem+1;
val(xauM,a[dem],n);
i:=i-1;
End;
I:=i+1;
End;
Write(‘xau co ’,dem, ‘ so la:’);
For i:=1 to dem-1 do write(a[i], ‘,’);
Write(a[dem]);
Đối với bài tập này, giáo viên yêu cầu nhận xét chương trình đã thực hiện đúng hay chưa, có đúng đối với tất cả các trường hợp hay không?
Học sinh có thể phát hiện chương trình chỉ đúng với xâu chứa các số thông thường, còn nếu xâu chứa số thực thi chương trình chưa cho kết quả đúng. Từ nhận xét đó giáo viên hướng dẫn các em bổ sung và chỉnh sửa lại chương trình.
Kết luận: Giải pháp này khiến cho việc phát hiện và sửa lỗi một cách đơn giản hơn. Các em có thể so sánh giữa các cách giải khác nhau từ đó nhanh chóng tìm ra lỗi của chương trình.
5. Giải pháp 5: Phân chia bài toán thành nhiều phần.
Trong thực tế, có những bài toán rất phức tạp, gồm nhiều công đoạn. Đối với những bài toán như vậy, chúng ta cần phải phân chia bài toán thành nhiều phần, giao cho mỗi nhóm thực hiện một phần của bài toán. Và như vậy, khi cần giải quyết một vấn đề nào đó bằng máy tính, để viết một chương trình phức tạp ta có thể viết từng phần chương trình giải quyết từng vấn đề nhỏ. 
Ví dụ 11: (trong phần giải pháp 1):
Ở ví dụ này chia bài toán thành các phần sau: xác định bài toán, xây dựng thuật toán, khai báo biến, viết chương trình.
Kết luận: Như vậy, việc phân chia một bài toán thành nhiều bài toán nhỏ sẽ giúp cho việc giải quyết bài toán mạch lạc, việc kiểm tra sai sót thuận tiện hơn, có thể thấy kết quả ở từng bước và có thể điều chỉnh kịp thời.
6. Giải pháp 6: Rèn luyện kĩ năng phát hiện và sửa lỗi bằng việc tích cực cho học sinh thực hành và sửa lỗi. 
Trong dạy lập trình Pascal, việc giúp học sinh nhận ra lỗi và cách sửa các lỗi đó là rất cần thiết và quan trọng. Để có thể sửa lỗi nhanh chóng cần có sự sự tư duy và tổng hợp trong quá trình thực hành. Muốn cho học sinh tích lũy được nhiều kinh nghiệm thì bản thân tôi thường tăng cường cho học sinh thực hành trên máy. Đối với các bài “ Bài tập và thực hành” tôi thường cho học sinh viết chương trình trực tiếp trên máy sau đó yêu cầu học sinh chạy tự tìm ra lỗi và nguyên nhân. Đối với các lỗi phức tạp yêu cầu học sinh ghi nhớ bằng cách chạy nhiều bộ input khác nhau hoặc ghi chép vào vở chi tiết.
Ví dụ 6 (trong phần thực trạng)
Giải pháp: Để khắc phục học sinh cần ước lượng được giá trị của hàm và khai báo kiểu trả về của hàm phù hợp.
Ví dụ 7:
Function GT(n:integer):Longint;
Var i:integer;
Begin
	For i:=2 to n do GT:=GT*i;
End;
Giải pháp: Để tránh lỗi này cần lưu ý với học sinh: để trả kết quả cho hàm (không đệ quy), tốt nhất nên tính kết quả hàm vào một biến cục bộ, trước khi kết thúc ta mới gán tên hàm bằng giá trị biến này để trả giá trị về cho hàm.
Ví dụ 8: (trong phần thực trạng)
Giải pháp: Khi khai báo biến đếm tuyệt đối không sử dụng kiểu dữ liệu thực.
Ví dụ 9: (trong phần thực trạng)
Giải pháp: Biến được khai báo dùng để gán cho phép chia phải được sử dụng kiểu dữ liệu thực.
Ví dụ 10: (trong phần thực trạng)
Giải pháp: Ví dụ trên đã rơi vào vòng lặp vô hạn bởi giá trị của i bao giờ cũng nhỏ hơn 10. Để sửa lỗi trên học sinh cần phải thêm câu lệnh làm thay đổi giá trị của i vào sau “do”.
Kết luận: Giải pháp này giúp các em tích lũy kinh nghiệm về việc phát hiện và sửa lỗi đồng thời phát huy năng lực tự học tự giải quyết vấn đề.
7. Giải pháp 7: Tạo tình huống mắc lỗi yêu cầu học sinh phát hiện và sửa lỗi.
 	Để thực hiện giải pháp này, tôi thường đưa ra các bài tập yêu cầu học sinh làm mà không hề nhắc đến việc các dữ liệu của bài tập có vấn đề và để tự học sinh phát hiện ra điều đó. Việc này nhằm giúp cho học sinh khắc sâu và lần sau không mắc phải những lỗi tương tự. Đây cũng là một cách giúp các em được “làm quen” với các lỗi một cách hay nhất. Đối với những lỗi mà giáo viên tạo tình huống như vậy thì học sinh thường nhớ lâu hơn, điều đó cũng có nghĩa là lần sau học sinh sẽ không mắc phải các lỗi đó nữa.
Ví dụ 3 (Trong phần thực trạng)
Giải pháp: Khi thực hiện từng bước chương trình ta có thể khắc phục lỗi trên bằng cách gán lại giá trị ban đầu cho biến đếm i=2.
Ví dụ 4 (Trong phần thực trạng)
Giải pháp: Để khắc phục lỗi này, chỉ cần chú ý các vòng lặp lồng nhau phải sử dụng biến điều khiển khác nhau.
Ví dụ 5 (Trong phần thực trạng)
Giải pháp: Yêu cầu học sinh ghi nhớ các quy tắc của Pascal khi viết chương trình đặc biệt trong câu lệnh ghép, trong các vòng lặp. Giải thích cho học sinh hiểu rằng câu lệnh rẽ nhánh phải hết câu lệnh sau “else” mới kết thúc và lúc đó mới cần dấu “;”.
Kết luận: Giải pháp này giúp các em khắc sâu hơn nữa các lỗi đã phát hiện và cách sửa. Ngoài ra nó còn phát huy năng lực hợp tác.
CHƯƠNG III: THỰC NGHIỆM SƯ PHẠM
1. Mục đích:
Thực nghiệm sáng kiến nhằm mục đích xác định tính khả thi của sáng kiến.
Đối chiếu kết quả giữa các đối tượng thực hiện sáng kiến với các đối tượng không thực hiện sáng kiến nhằm đánh giá hiệu quả của sáng kiến.
2. Đối tượng:
Để đảm bảo khách quan và chính xác, đối tượng thực nghiệm sáng kiến là các học sinh lớp 11 có học lực tương đương nhau, trong đó: 
Lớp thực nghiệm: 11A.
Lớp đối chứng: 11B.
3. Thời gian tiến hành:
Từ tháng 9 năm 2017 đến tháng 4 năm 2018.
4. Quá trình thực nghiệm:
B1: Khảo sát chất lượng đối tượng thực nghiệm và đối tượng đối chứng.
B2: Áp dụng sáng kiến với đối tượng đối thực nghiệm
B3: Khảo sát chất lượng sau khi thực nghiệm s ở các lớp thực nghiệm và lớp đối chứng.
5. Kết quả:
Sau đây là kết quả học kì 2 thu được ở các lớp thực nghiệm và các lớp đối chứng:
 Xếp loại 
Lớp
Giỏi 
(%)
Khá 
(%)
TB
(%)
Yếu
(%)
Kém
Ghi chú
11B
9.28
36.1
49.72
4.9
0
Đối chứng
11A
16,6
69,4
14
0
0
Thực nghiệm
Như vậy, theo thống kê ở trên, sau khi áp dụng đề tài thì kết quả tăng lên rõ rệt.
PHẦN II: KẾT LUẬN VÀ KIẾN NGHỊ
1. Kiến nghị:
a. Đối với Ban giám hiệu:
Tiếp tục đầu tư xây dựng, hoàn thiện cơ sở vật chất, thiết bị, sách tham khảo cho bộ môn Tin học. Tham mưu với Sở Giáo Dục và Đào tạo để có thể tổ chức nhiều buổi tập huấn, bồi dưỡng chuyên môn hơn cho giáo viên Tin học.
b. Đối với tổ chuyên môn:
Phân công công việc rõ ràng cho từng thành viên. Tích cực tổ chức thảo luận, họp nhóm để chia sẻ kinh nghiệm giảng dạy.
2. Kết luận:
Qua việc nghiên cứu và thực hiện sáng kiến trên, tôi nhận thấy có những thay đổi đáng kể trong quá trình dạy và học. Điều đó cho thấy nó có những ý nghĩa nhất định đó là: 
 Thứ nhất, sáng kiến trên không chỉ giúp cho học sinh phát hiện, sửa các lỗi thường gặp mà nó còn giúp cho các em thêm yêu thích môn Tin học. Nhiều học sinh thể hiện hứng thú một cách rất rõ ràng: như tích cực làm bài tập về nhà, tích cực trao đổi bài với bạn bè, giáo viên, chất lượng các bài kiểm tra tăng lên rõ rệt. 
Thứ hai, sáng kiến trên còn giúp những giáo viên dạy môn tin học mà cụ thể là bản thân tôi cảm thấy yêu nghề hơn. Mỗi khi bước vào lớp cảm nhận được sự hứng thú của học sinh trong các tiết học khiến cho giáo viên truyền đạt kiến thức một cách say mê hơn. Trong các tiết bài tập và thực hành giáo viên cũng tiết kiệm được rất nhiều thời gian khi không phải sửa các lỗi đã gặp cho học sinh.
Thứ ba, đề tài trên còn giúp học sinh phát huy một số năng lực chung và năng lực riêng của môn Tin học trong chương trình giáo dục phổ thông. Đó cũng là một trong những yêu cầu cấp thiết đặt ra trong bối cảnh giáo dục hiện nay. Qua thực nghiệm sáng kiến trên ở một số lớp, tôi thấy các em đã phát huy các năng lực như năng lực tự học, tự giải quyết vấn đề, năng lực sáng tạo, năng lực công nghệ thông tin nâng cao, năng lực khoa học máy tính...
Trên đây là toàn bộ các sáng kiến của chúng tôi khi giúp học sinh tránh các lỗi thường gặp tronọc lớp 11. Mặc dù đề tài đã được áp dụng và bước đầu đã có kết quả tương đối tốt nhưng do còn hạn chế về điều kiện thời gian, năng lực và trình độ của bản thân nên rất mong nhận được ý kiến đóng góp của quý đồng nghiệp để sáng kiến có thể hoàn thiện và đạt hiệu quả cao hơn nữa.
Chúng tôi xin chân thành cảm ơn!
Ninh Bình, ngày 20 tháng 4 năm 2018
Người thực hiện
Trịnh Thị Kim Phương
Nguyễn Thị Chinh
DANH MỤC TÀI LIỆU THAM KHẢO
Sách giáo khoa, sách giáo viên tin học lớp 11- Hồ Sĩ Đàm (chủ biên)
Sách bài tập tin học 11- NXB Giáo Dục
“Giải một bài toán trên máy tính như thế nào”- GS-TS Hoàng Kiếm 
Ngôn ngữ lập trình Pascal- Quách Tuấn Ngọc 
Các bài tập tham khảo ở đĩa CD “100 bài Toán - Tin”
Các tài liệu trên mạng internet.
MỤC LỤC
PHẦN I. NỘI DUNG
CHƯƠNG I: CƠ SỞ KHOA HỌC VÀ THỰC TRẠNG
1.
Cơ sở lý luận
7
2. 
Cơ sở thực tiễn
8
3.
Thực trạng
9
CHƯƠNG II: ĐỀ XUẤT CÁC GIẢI PHÁP
1.
Giải pháp 1
15
2.
Giải pháp 2
20
3.
Giải pháp 3
21
4.
Giải pháp 4
22
5.
Giải pháp 5
23
6.
Giải pháp 6
24
7.
Giải pháp 7
24
CHƯƠNG III: THỰC NGHIỆM SƯ PHẠM
1.
Mục đích
26
2.
Đối tượng
26
3.
Thời gian tiến hành
26
4.
Quá trình thực nghiệm
26
5.
Kết quả
26
PHẦN II. KẾT LUẬN VÀ KIẾN NGHỊ
1.
Kiến nghị
27
2.
Kết luận
27
Danh mục tài liệu tham khảo
29

File đính kèm:

  • doc6. NBBL Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11.doc
Sáng Kiến Liên Quan