Một số vấn đề học sinh khối 11 gặp phải khi giải bài toán trên máy tính – Tin học 11

Một số vấn đề học sinh khối 11 gặp phải khi giải bài toán trên máy tính – Tin học 11

Bộ môn Tin học THPT thường ít được học sinh Yên Định 2 quan tâm, yêu thích vì nó không thuộc tổ hợp môn thi ĐH nào. Nhất là Tin học lớp 11, một nội dung kiến thức cần rất nhiều sự tư duy sâu và khả năng sáng tạo. Mặt khác tin học 11 không như tin học 10, 12 là các chương trình ứng dụng, dễ hiểu, dễ vận dụng, dễ hình dung. Tin học 11 thường rất ít ứng dụng dễ thấy do vậy khó tiếp cận, khó gần gũi đối với các em học sinh. Trong nhiều năm giảng dạy, tôi thấy việc tạo hứng thú cho học sinh yêu thích môn tin học là một việc làm rất cần thiết và cần đầu tư. Từ thực tế tôi thấy học sinh thường viết tốt chương trình của các bài toán đã có thuật toán sẵn, còn đối với các bài toán chưa có sẵn thuật toán, các em chỉ làm để đối phó, đúng thì tốt mà không đúng thì giáo viên sẽ sữa bài. Do vậy trong tôi hình thành sáng kiến giúp các em nhận biết các vấn đề thường gặp khi giải bài toán trên máy tính, để các em có thể nhận ra được những khó khăn bản thân mắc phải và tìm cách khắc phục. Từ đó các em sẽ chủ động hơn trong việc giải bài toán trên máy tính, và không còn tính chất đối phó, ỷ lại nữa. Đây cũng là một minh chứng cho việc gây hứng thú học tập cho học sinh, giúp học sinh chủ động, tích cực hơn trong học tập. Qua sáng kiến kinh nghiệm “MỘT SỐ VẤN ĐỀ HỌC SINH KHỐI 11 GẶP PHẢI KHI GIẢI BÀI TOÁN TRÊN MÁY TÍNH – TIN HỌC 11” tôi muốn gửi tới các bạn đồng nghiệp một chút kinh nghiệm của bản thân để học sinh thực sự yêu thích bộ môn Tin học, nhất là tin học 11.

doc 21 trang thuychi01 9525
Bạn đang xem 20 trang mẫu của tài liệu "Một số vấn đề học sinh khối 11 gặp phải khi giải bài toán trên máy tính – Tin học 11", để 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. PHẦN MỞ ĐẦU
1.1. LÝ DO CHỌN ĐỀ TÀI
Bộ môn Tin học THPT thường ít được học sinh Yên Định 2 quan tâm, yêu thích vì nó không thuộc tổ hợp môn thi ĐH nào. Nhất là Tin học lớp 11, một nội dung kiến thức cần rất nhiều sự tư duy sâu và khả năng sáng tạo. Mặt khác tin học 11 không như tin học 10, 12 là các chương trình ứng dụng, dễ hiểu, dễ vận dụng, dễ hình dung. Tin học 11 thường rất ít ứng dụng dễ thấy do vậy khó tiếp cận, khó gần gũi đối với các em học sinh. Trong nhiều năm giảng dạy, tôi thấy việc tạo hứng thú cho học sinh yêu thích môn tin học là một việc làm rất cần thiết và cần đầu tư. Từ thực tế tôi thấy học sinh thường viết tốt chương trình của các bài toán đã có thuật toán sẵn, còn đối với các bài toán chưa có sẵn thuật toán, các em chỉ làm để đối phó, đúng thì tốt mà không đúng thì giáo viên sẽ sữa bài. Do vậy trong tôi hình thành sáng kiến giúp các em nhận biết các vấn đề thường gặp khi giải bài toán trên máy tính, để các em có thể nhận ra được những khó khăn bản thân mắc phải và tìm cách khắc phục. Từ đó các em sẽ chủ động hơn trong việc giải bài toán trên máy tính, và không còn tính chất đối phó, ỷ lại nữa. Đây cũng là một minh chứng cho việc gây hứng thú học tập cho học sinh, giúp học sinh chủ động, tích cực hơn trong học tập. Qua sáng kiến kinh nghiệm “MỘT SỐ VẤN ĐỀ HỌC SINH KHỐI 11 GẶP PHẢI KHI GIẢI BÀI TOÁN TRÊN MÁY TÍNH – TIN HỌC 11” tôi muốn gửi tới các bạn đồng nghiệp một chút kinh nghiệm của bản thân để học sinh thực sự yêu thích bộ môn Tin học, nhất là tin học 11.
1.2. MỤC ĐÍCH NGHIÊN CỨU 
- Nâng cao chất lượng dạy và học môn Tin học trong trường phổ thông, đặc biệt là dạy học lập trình ở Tin học lớp 11.
- Góp phần đổi mới phương pháp dạy học trong trường phổ thông nói chung và môn Tin học nói riêng.
- Góp phần khơi dậy lòng đam mê, yêu thích và hứng thú khi học môn Tin học của học sinh. Đặc biệt là giúp các em nhìn thấy những ứng dụng đơn giản, cụ thể, gần gũi, thiết thực của lập trình trong môi trường học tập của bản thân.
1.3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
- Học sinh khối 11 trường THPT Yên Định 2 năm học 2015-2016 
- Học sinh khối 11 trường THPT Yên Định 2 năm học 2016-2017 trong học kì 1
1.4. PHƯƠNG PHÁP NGHIÊN CỨU
- Dựa trên cơ sở lý thuyết của bài 6- Tin học 10 và môn Toán. Nhất là môn Toán môn học cơ sở cho sự phát triển tư duy lập trình trong Tin học.
- Dựa trên cơ sở lý thuyết của Ngôn ngữ lập trình Pascal. Sự hoạt động tuần tự từng bước của máy tính khi thực hiện chương trình.
- Thu thập dữ liệu thông qua việc hỏi học sinh về mức độ biết, hiểu và vận dụng ngôn ngữ lập trình Pascal vào giải các bài toán trong các môn học khác.
- Phân tích đánh giá mức độ học sinh hiểu vận dụng, giải được các bài toán trong các môn học khác, từ đó xây dựng, giới thiệu các bài toán phù hợp với từng đối tượng học sinh.
- Tổng kết rút kinh nghiệm
2. PHẦN NỘI DUNG
2.1. CƠ SỞ LÝ LUẬN
Tạo hứng thú cho người học luôn là một vấn đề quan trọng trong hoạt động dạy - học. Bởi vì, như chúng ta biết, dạy - học là một hoạt động phức tạp, trong đó chất lượng, hiệu quả cơ bản phụ thuộc vào người học. Và điều này lại phụ thuộc vào nhiều yếu tố, như: năng lực nhận thức, động cơ học tập, sự quyết tâm...; nó còn phụ thuộc vào: môi trường học tập, người tổ chức quá trình dạy học, sự hứng thú trong học tập.
Các nhà nghiên cứu tâm lý học cho rằng, hứng thú là thái độ đặc biệt của cá nhân đối với đối tượng nào đó, nó có ý nghĩa đối với cuộc sống và có khả năng mang lại khoái cảm cá nhân trong quá trình hoạt động. Sự hứng thú biểu hiện trước hết ở sự tập trung chú ý cao độ, sự say mê của chủ thể hoạt động. Sự hứng thú gắn liền với tình cảm con người. Trong bất cứ công việc gì, nếu có hứng thú làm việc, con người sẽ có cảm giác dễ chịu với hoạt động, làm nẩy sinh khát vọng hành động một cách có sáng tạo. Ngược lại, nếu không có hứng thú, dù là hoạt động gì cũng sẽ không đem lại hiệu quả cao. Đối với các hoạt động nhận thức, sáng tạo, hoạt động học tập, khi không có hứng thú, kết quả sẽ không là gì hết, thậm chí xuất hiện cảm xúc tiêu cực. [6]
Việc học có tính chất đối phó, miễn cưỡng, người học may lắm chỉ tiếp thu được một lượng kiến thức rất ít, không sâu, không bản chất. Vì thế dễ quên. 
Khi có hứng thú, say mê trong nghiên cứu, học tập thì thì việc lĩnh hội tri thức trở nên dễ dàng hơn; ngược lại, khi nắm bắt được vấn đề, tức là hiểu được bài thì người học lại có thêm hứng thú. Trên thực tế, những người không thích, không hứng thú khi học môn học nào đó thường là những người không học tốt môn học đó. Chính vì vậy, việc tạo hứng thú cho người học được xem là yêu cầu bắt buộc đối với bất cứ ai làm công tác giảng dạy, đối với bất cứ bộ môn khoa học nào. 
2.2. THỰC TRẠNG VẤN ĐỀ
Đặc điểm môn
Môn Tin học đến nay không còn là môn học mới mẻ đối với học sinh phổ thông, bởi học sinh đã được làm quen nó ngay ở các cấp học dưới. Đây là một thuận lợi cho học sinh, học sinh không phải học từ đầu để làm quen với môn học. Sự liên quan của môn Tin học với các môn học khác là nhiều, vì vậy học sinh sẽ phải vất vả để xem lại, tìm kiếm lại tri thức ở các môn học khác. Đặc biệt nội dung lập trình trong môn học Tin học lại có liên quan rất nhiều đến kiến thức các môn khoa học tự nhiên, liên quan nhiều đến tư duy Toán học. 
Trong mục 2.1: Đoạn “các nhà nghiên cứu..cảm xúc tiêu cực” được trích dẫn trong TLTK số 6
Nếu học sinh yếu tư duy về Toán học thì sẽ rất là khó khăn khi lập trình. Nếu học sinh có tư duy Toán học nhưng không hứng thú với môn Tin học, học cho biết, học để đối phó, thì thường các em sẽ không nghiên cứu kĩ bài học dẫn đến sẽ gặp phải một số khó khăn trong lập trình. Muốn giải quyết được việc này thì giáo viên cần phải dẫn dắt học sinh tiếp cận với môn học một cách tự nhiên, hào hứng thông qua những kiến thức sẵn có của các em ở các môn học mà các em yêu thích. Đặc biệt, giúp các em nhận biết những khó khăn thường gặp và cách khắc phục khi lập trình.
Giáo viên
Nhiều giáo viên còn hạn chế về trình độ, khả năng cập nhật thông tin. Không chỉ vậy, một số giáo viên chưa hiểu rõ thuật toán để diễn đạt trong việc dạy lập trình. Đôi khi giáo viên còn thờ ơ, luôn cảm thấy chán nản khi học sinh của mình không có hứng thú học tập. Chính điều này đã làm cho giáo viên không chú trọng việc đổi mới phương pháp. Dẫn đến học sinh mất đi khả năng tìm hiểu và tư duy giải quyết bài toán, hứng thú trong việc học lập trình. 
Học sinh
Khi bước vào học phổ thông thì học sinh đã bắt đầu định hình học theo khối để thi đại học. Thời gian học chủ yếu dành cho các môn học chính như Toán, Lý, Hóa, Văn, Anh. Tin học là một môn phụ nên thời gian để học chỉ là những tiết học ở trên lớp. Đối với Tin học 10, 12 thì tính ứng dụng của môn học trong thực tế các em dễ dàng nhìn thấy và thực hiện được luôn. Còn với Tin học 11 thuộc về lĩnh vực lập trình, khó có sản phẩm để các em nhìn thấy. Hơn thế việc tư duy thuật toán cũng là một nội dung khó đối với các em. Điều này dẫn đến rất nhiều học sinh không thích và học kém môn học này. 
Từ thực tế trên tôi muốn minh chứng thật rõ nét cho các em thấy giải bài toán trên máy tính không hề khó, có chăng là sự đam mê, tích cực chủ động của các em mà thôi. Từ đó các em sẽ nhận ra việc học Tin học lập trình không quá khó và yêu thích môn học.
2.3. VẤN ĐỀ THƯƠNG GẶP KHI GIẢI BÀI TOÁN TRÊN MÁY TÍNH
Khi dạy tin 11 thì những bài đầu là những bài giới thiệu tổng quan về ngôn ngữ lập trình, giới thiệu một số khái niệm trong lập trình. Ở những bài đầu học sinh sẽ cảm thấy hơi đơn điệu và nhàm chán. Ở những bài này khi dạy tôi luôn luôn nhấn mạnh với các em phải hiểu, nhớ và thuộc lí thuyết thì mới vận dụng lập trình được ở những nội dung sau. Cũng giống như môn Toán, Lí, Hóa để làm được bài tập các em phải nhớ, hiểu công thức thì mới vận dụng để làm bài được.
Quá trình dạy giáo viên cần truyền đạt tới các em những kiến thức cơ bản nhất của ngôn ngữ lập trình. Cách thức dẫn dắt vấn đề thật đơn giản gần gũi để các em không có cảm giác sợ hãi, lo lắng. Bước khởi đầu tiếp cận là rất quan trọng. Trong lúc học giáo viên nên lồng ghép những câu như “Tin học cũng như Toán, như Lý. Để viết được chương trình các em cần nhớ cú pháp, câu lệnh giống như việc các em làm bài tập cần nhớ công thức để vận dụng”.
Kiến thức trọng tâm của chương giáo viên cần truyền tải tới học sinh:
- Chương trình thường gồm hai phần : Khai báo, thân
- Nhớ ý nghĩa các từ khóa để dùng khi viết chương trình: Program, Uses, Var, Const, Begin, End.
- Tên, phạm vi lưu trữ các kiểu dữ liệu: Byte, Integer, Longint, Word, Real, Char, Boolean..
- Các phép toán, các phép so sánh, phép toán quan hệ
- Các hàm số học chuẩn: ABS, SQR, SQRT, Sin, Cos,
- Hai lệnh nhập, in dữ liệu : Read,Readln, Write, Writeln
Giáo viên có thể lồng ghép các bài tập trong các tiết dạy lí thuyết. Đến mỗi phần tương ứng nên cho học sinh xem những gì mà máy tính làm được. Hoặc ở các tiết thực hành giáo viên có thể giao thêm bài để các em tự mình viết trên máy. Từ đó các em dễ cảm nhận được ứng dụng của lập trình trong quá trình học.
2.3.1. Vấn đề 1: Học sinh không tuân thủ các bước giải bài toán trên máy tính
Ngay khi học bài 6- Tin học 10, học sinh được tìm hiểu các bước giải bài toán trên máy tính.
	B1: Xác định bài toán
	B2: Lựa chọn và thiết kế thuật toán
	B3: Viết chương trình
	B4: Hiệu chỉnh
	B5: Viết tài liệu. [2]
Chương trình học Tin học 11, học sinh được tìm hiểu về ngôn ngữ lập trình Pascal, dùng ngôn ngữ lập trình Pascal viết chương trình cho một bài toán cụ thể. Tuy nhiên, khi yêu cầu học sinh giải một bài toán trên máy tính, các em thường bỏ qua B1, B2 và bắt tay vào viết chương trình luôn. Chúng ta có thể gọi là “ Đốt cháy giai đoạn”. Chương trình mà các em viết có thể đúng với một số bài toán đơn giản hay một số bài toán có phương pháp giải được học trong môn Toán, Vật líCòn đối với một số bài toán phức tạp hơn, đòi hỏi cần phải tư duy thì chương trình các em viết ra không chạy hoặc không cho kết quả đúng. 
Trong mục 2.3.1: Vấn đề 1: Đoạn “ B1B5 viết tài lệu” được trích dẫn trong TLTK số 2
Sau nhiều lần không viết được chương trình đúng, học sinh có xu thế chán nản, mất hứng thú học tập, ỷ lại cho giáo viên, ỷ lại cho các bạn học tốt dẫn đến tình trạng kết quả học tập sa sút.
	Vì vậy, giáo viên cần hướng dẫn và yêu cầu học sinh khi giao cho máy tính làm việc gì thì bản thân học sinh cần tuân theo các bước giải bài toán trên máy tính.
Bước 1: Xác định bài toán
Khi nhận được đề bài, nhiệm vụ của học sinh là phải xác định được hai yếu tố: Input và Output, xác định được mối quan hệ giữa hai yếu tố này.
	Input: Đưa vào máy tính thông tin gì.
	Output: Cần lấy ra từ máy tính thông tin gì.[2]
	Khi xác định xong hai yếu tố của bài toán, học sinh cần xác định những biến nào cần đưa vào sử dụng, những biến nào sẽ có thể sẽ phát sinh, và xác định được kiểu dữ liệu phù hợp cho các biến đó.
Ví dụ 1: Giải và biện luận nghiệp phương trình ax2+bx+c=0 (a0)[2]
	Input: a,b,c (a0) kiểu thực real.
	Output: x1, x2 kiểu thực real.
	Sử dụng thêm biến delta kiểu thực real.
Ví dụ 2: Tính chu vi, diện tích hình tròn khi biết bán kính R. [1]
	Input: R kiểu thực real.
	Output: C, S kiểu thực real.
	Sử dụng hằng pi=3.14.	
Ví dụ 3: Cho dãy số nguyên dương: a1,a2,,an được nhập từ bàn phím. Tìm số chẵn lớn nhất trong dãy.
	Input: Mảng A gồm n phần tử thuộc kiểu nguyên dương Word.
	Output: số chẵn lớn nhất thuộc kiểu Word.
	Sử dụng biến Max, i, n thuộc kiểu dữ liệu Word
Trong trang này: Bước 1 xác định bài toán:
+ Đoạn “khi nhận được  đến thông tin gì” và ví dụ 1 được trích dẫn từ TLTK số 2;
+ Ví dụ 2 được trích dẫn từ TLTK số 1;
+ Ví dụ 3 tự tác giả viết ra.
Ví dụ 4: Nhập vào từ bàn phím 100 kí tự. Hãy đếm số lần xuất hiện của các kí tự [3]
	Input: 100 kí tự thuộc kiểu dữ liệu Char.
	Output:Đếm số lần xuất hiện của kí tự Ch thuộc kiểu dữ liệu byte.
	Sử dụng mảng 1 chiều để lưu kết quả đếm của từng kí tự xuất hiện 
Bước 2: Lựa chọn và thiết kế thuật toán
Trong thực tiễn giảng dạy, tôi nhận thấy đại đa số học sinh bỏ qua bước quan trọng này. Các em thường gặp khó khăn trong quá trình viết chương trình, không hoàn chỉnh chương trình, chương trình không chạy được, không cho kết quả đúng. Là một giáo viên, tôi cần phải phân tích cho học sinh nắm rõ một công thức:
Thuật giải + Cấu trúc dữ liệu = chương trình
Khi lập trình giải quyết một vấn đề, một bài toán giáo viên cần hình thành cho học sinh thói quen làm theo trình tự
Vấn đề, bài toán→Tìm và xây dựng thuật giải→ chương trình
Vấn đề, bài toán→ chương trình
Cách làm này sẽ giúp giải quyết các vấn đề phức tạp, to lớn, có bài bản, tránh được nhiều lỗi. Và không nên làm:
Bởi cách làm này thường xảy ra đối với học sinh mới học và giải quyết các bài toán nhỏ. 
Như vậy, giáo viên cần yêu cầu học sinh dành nhiều thời gian suy nghĩ về thuật giải, sẽ giúp học sinh tìm ra cách giải hay, tối ưu về số lượng phép toán, thời gian chạy và dung lượng bộ nhớ. [3]
Trong trang này : 
+ ví dụ 4 được trích từ TLTK số 3;
+ Đoạn “ một công thức.dung lượng bộ nhớ” được trích dẫn từ TLTK số 3;
+ Đoạn “ input.học sinh cần nắm rõ” tác giả tự viết ra
Một số ví dụ về việc lựa chọn, thiết kế thuật toán và viết chương trình.
Ví dụ 1: Giải và biện luận nghiệp phương trình ax2+bx+c=0 (a0)[2]
Chương trình
Program vd1;
var a,b,c,x1,x2, delta: real;
begin
Write (‘ nhap a,b,c:); readln(a,b,c);
delta:= b*b-4*a*c;
if delta=0 then
 write( ‘pt co nghiem kep x1=x2=’,-b/(2*a):8:2);
if delta<0 then write( ‘pt vo nghiem’)
else 
begin
x1:=(-b-sqrt(delta))/(2*a);
x2:=(-b+sqrt(delta))/(2*a);
write (‘pt co 2 nghiem pb:’,x1:8:2,x2:8:2);
end;
readln;
end.
Thuật toán
Bước 1: Nhập 3 số thực a,b,c (a0);
Bước 2: delta ß b*b-4*a*c;
Bước 3: Nếu delta=0 thì
 thông báo pt co nghiem kep x1=x2=-b/(2*a), kt;
 Bước 4: Nếu delta <0 thì thông báo pt vo nghiem rồi kt;
 Bước 5: thông báo phương trình có 2 nghiệm phân biệt
x1ß (-b-sqrt(delta))/(2*a);
x2ß (-b+sqrt(delta))/(2*a);
Rồi kết thúc.
Trong trang này: Ví dụ 1 được trích dẫn từ TLTK số 2
Ví dụ 2: Tính chu vi, diện tích hình tròn khi biết bán kính R.[1]
Chương trình
Program vd2;
type pi=3.14;
var R, C, S: real;
begin
Write (‘ nhap R:); readln(R);
C :=2*pi*R ;
S := pi*R*R;
write (‘chu vi hinh tron:’,C:8:2,’dien tich hinh tron:’,S:8:2);
readln;
end.
Thuật toán
Bước 1: Nhập số thực R (a0), pi=3.14;
Bước 2: C ß 2*pi*R ;
Bước 3: Sß pi*R*R 
Bước 4: Thông báo chu vi, diện tích hình tròn rồi kết thúc.
Ví dụ 3: Cho dãy số nguyên dương: a1,a2,,an được nhập từ bàn phím. Tìm số chẵn lớn nhất trong dãy.
Chương trình
Program vd3;
var a: Array[1..100] of word;
 n, i: byte; max: word;
begin
Write (‘ nhap n:); readln(n);
for i:=1 to n do
begin
	write(‘phan tu a[‘,i,’]=’); readln(a[i]);
end;
max:=0;
for i:=1 to n do
if a[i] mod 2 =0 then
	if a[i]>max then max:=a[i];
if max=0 then writeln(‘ khong co so chan trong day’) else writeln(‘so chan lon nhat trong day la:’,max);
readln;
end.
Thuật toán
Bước 1: Nhập dãy A gồm n; a1, a2,..., an là các số nguyên dương;
Bước 2: iß1; maxß0;
Bước 3: Nếu i> N thì
 Bước 31: Nếu Max=0 thì thông báo không có số chẵn trong dãy rồi kết thúc.
 Bước 32: ngược lại, đưa ra Max rồi kết thúc
Bước 4: Nếu ai chia hết cho 2 thì 
 Bước 41: Nếu ai> max thì Maxß ai;
 Bước 42: ngược lại sang bước 5
 Bước 5: ißi+1, quay lại bước 3;	
Trong trang này: 
+ Ví dụ 2 được trích dẫn từ TLTK số 1;
+ Ví dụ 3 tự tác giả viết ra.Ví dụ 4: Nhập vào từ bàn phím 100 kí tự. Hãy đếm số lần xuất hiện của các kí tự [3]
Chương trình
Program vd4;
var D: Array[‘A’..’Z’] of byte;
 i: byte; ch: char;
begin
for ch:=’A’ to ‘Z’ do D[ch]:=0;
for i:=1 to 100 do
begin
	readln(ch);
ch:=upcase(ch);
D[ch]:=D[ch]+1;
end;
for ch:=’A’ to ‘Z’ do
if D[ch]>0 then writeln(‘so chu ‘, ch,’=’,D[ch]);
readln;
end.
Thuật toán
Bước 1: Nhập mảng D gồm 26 phần tử có giá trị =0;
Bước 2: iß1; 
Bước 3: Nếu i> 100 thì đưa ra mảng D rồi kết thúc;
Bước 4: 
Bước 41:Nhập kí tự ch ;
Bước 42: D[ch] ßD[ch]+1;
 Bước 5: ißi+1, quay lại bước 3;	
2.3.2. Vấn đề 2: Một số lỗi thường gặp khi viết, chạy chương trình và cách khắc phục.
2.3.2.1. Không xác định được tính dừng của thuật toán.
Học sinh cần biết thuật toán phải kết thúc sau một số hữu hạn lần thực hiện các thao tác. Chương trình cho kết quả khi thực hiện nhấn tổ hợp phím ctrl+F9. Tuy nhiên, do học sinh chưa mô tả tốt thuật toán bằng ngôn ngữ lập trình, chưa xác định tính dừng của thuật toán hay chưa thiết kế thuật toán đúng cho bài toán nên khi viết xong chương trình, nhấn tổ hợp phím ctrl+F9 máy tính không cho kết quả.
Ví dụ	: Bài toán: Cho dãy số nguyên a1, a2,...,an nhập từ bàn phím. Hãy tìm số nguyên nhỏ nhất trong dãy. [2]
Trong trang này: 
+ ví dụ 4 được trích dẫn từ TLTK số 3;
+ trong mục 2.3.2.1: ví dụ được trích dẫn từ TLTK số 2
Chương trình sai:
Kết quả khi chạy chương trình
Hướng dẫn khắc phục: Với bài toán tìm Min đang xét, giáo viên cần nhấn mạnh việc giá trị của i mỗi lần tăng lên 1 nên sau N lần thì i>N. Khi đó thuật toán phải dừng và đưa ra kết quả Min. Với bài toán này có thể dùng vòng lặp với số lần biết trước để thực hiện việc so sánh và tìm giá trị nhỏ nhất của dãy.
 For i:=2 to N do	
 if a[i]<min then minßa[i];
Hoặc có thể dùng vòng lặp với số lần chưa biết trước như sau:
while i<=N do	
begin
if a[i]<min then minßa[i];
i:=i+1;
end;	
Chương trình đúng:
Kết quả khi chạy chương trình
2.3.2.2. Một số lỗi về mặt ngữ pháp thường gặp
Trong quá trình soạn thảo chương trình, học sinh không thể tránh khỏi các lỗi về mặt ngữ pháp. Các lỗi này thường phát hiện ra sau khi chạy chương trình do chương trình dịch phát hiện và thông báo. Sau đây là một số lỗi thường gặp:
Lỗi ”(” expected hoặc Lỗi ”)” expected
Nguyên nhân: Dấu ngoặc đơn mở , đóng không xuất hiện nơi cần.[4]
Khắc phục: Thêm dấu ”(” hoặc ” )” tại vị trí phù hợp.
Trong trang này: ở mục 2.3.2.2
 + Đoạn ”Lỗi ...nơi cần” được trích dẫn ở TLTK số 4
Ví dụ:
 Khắc phục
Kết quả khi chạy chương trình
Lỗi ”.” expected hoặc Lỗi ”,” expected
Nguyên nhân: Dấu ”.” hoặc dấu ”,” không xuất hiện nơi cần.
Khắc phục: Kiểm tra lại xem để đảm bảo rằng một kiểu không được dùng như là một biến hoặc đảm bảo tên của chương trình không bỏ quên tên quan trọng từ Unit khác.[4]
Ví dụ:
Khắc phục:
Khắc phục
Kết quả khi chạy chương trình
Trong trang này: đoạn ” Lỗi ... Unit khác” được trích dẫn từ TLTK số 4
Lỗi ”..” expected
Nguyên nhân: Dấu miền con không xuất hiện ở nơi cần.
Khắc phục: xóa bớt 1 dấu . nếu kết thúc chương trình hoặc thêm giá trị kiểu đoạn con.[4]
ví dụ:
Khắc phục
Kết quả khi chạy chương trình
Lỗi ”:=” hoặc ”=” expected
Nguyên nhân: Phép gán xuất hiện không đúng nơi cần. [4]
Trong trang này:
+ Đoạn ‘Lỗi ” ..” ... kiểu đoạn con’ được trích dẫn từ TLTK số 4;
+ Đoạn ‘Lỗi ”:=” ... đúng nơi cần’ được trích dẫn từ tài liệu tham khảo số 4.
Ví dụ:
Khắc phục
2.4. HIỆU QUẢ ĐẠT ĐƯỢC 
2.4.1. Kết quả sau khi áp dụng vào thực tế.	
- Hiệu quả đầu tiên mà dễ nhận thấy nhất của sáng kiến kinh nghiệm là việc giáo viên Tin học phân tích được các vấn đề thường gặp khi giảng dạy Tin học 11 
- Học sinh rất có hứng thú với môn học vì các em nắm được vấn đề khó khăn mà bản thân gặp phải và tìm được hướng khắc phục, đồng thời nhìn rõ tính ứng dụng của ngôn ngữ lập trình trong học tập.
- Ý thức tôn trọng môn học của học sinh được nâng lên rõ rệt.
Tôi đã áp dụng sáng kiến kinh nghiệm đối với học sinh trường THPTYên Định 2 từ năm học 2015-2016 đến nay. Kết quả tôi thu được như sau:
Số lượng học sinh trong từng năm là 200 học sinh tương đương với 5 lớp 11 mà tôi phụ trách.
- Năm học 2014-2015 tôi chưa áp dụng sáng kiến kinh nghiệm thì học lực môn Tin của học sinh có kết quả như sau:
Học lực
Số học sinh
Tỉ lệ
Giỏi
10
5%
Khá
80
40%
Trung bình
90
45%
Yếu
15
7,5%
Kém
5
2,5%
- Năm học 2015-2016 tôi bắt đầu áp dụng sáng kiến kinh nghiệm thì học lực môn Tin của học sinh có kết quả như sau:
Học lực
Số học sinh
Tỉ lệ
Giỏi
20
10%
Khá
100
50%
Trung bình
70
35%
Yếu
10
5%
Kém
0
0%
- Năm học 2016-2017 tôi áp dụng sáng kiến kinh nghiệm đế

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

  • docmot_so_van_de_hoc_sinh_khoi_11_gap_phai_khi_giai_bai_toan_tr.doc
  • docbìa.doc