SKKN Một số kinh nghiệm dạy câu lệnh lặp trong chương trình Tin học 11
Chương trình Tin học 11 THPT hiện nay chủ yếu trang bị kiến thức và kĩ năng về lập trình cho học sinh. Đây là một nội dung tương đối khó với đa số học sinh, đòi hỏi các em phải tư duy suy luận nhiều hơn so với chương trình Tin học lớp 10 và lớp 12. Bên cạnh đó, Tin học là môn không được chọn để xét tuyển tốt nghiệp, cao đẳng, đại học nên phần lớn các em ít quan tâm, ít đầu tư về thời gian cũng như công sức. Tuy nhiên đây là môn học có nội dung rất bổ ích và thiết thực với các em, không những rèn luyện tư duy logic mà còn mang tính sáng tạo. Vì vậy đòi hỏi người dạy không những có kiến thức vững vàng mà cần có cách dạy sáng tạo, phù hợp để kích thích thích thái độ học tập của học sinh và giúp các em tiếp thu kiến thức một cách dễ dàng và tốt nhất, vận dụng linh hoạt để giải quyết các vấn đề mà thực tiễn đặt ra.
Với các câu lệnh cơ bản trong chương trình Tin học 11, câu lệnh lặp được xem là những đơn vị kiến thức tương đối phức tạp với đa số các em học sinh. Trong chương trình SGK Tin học 11 có đề cập đến 2 câu lệnh lặp For – Do và While – Do, bước đầu khi tiếp thu kiến thức các em còn khó hình dung được hoạt động của 2 câu lệnh lặp này, nhiều em còn lúng túng, ngại dùng câu lệnh While-Do, nên đứng trước các bài toán liên quan đến lặp với số lần chưa biết trước các em đều khó giải quyết.
Phương pháp dạy học như lâu nay: giáo viên tổ chức tiết học một cách cứng nhắc, bài dạy chỉ áp dụng các ví dụ trong sách giáo khoa, dẫn đến học sinh ỉ lại, không chịu hoạt động, tiết học nhàm chán, có những đơn vị kiến thức giáo viên phải giải thích đi giải thích lại nhiều lần làm giảm tiến độ tiết học.
Qua thực tế giảng dạy, nhận biết được khó khăn đó nên tôi đã đúc rút được “Một số kinh nghiệm dạy câu lệnh lặp trong chương trình Tin học 11” để phần nào giúp các em học tốt hơn câu lệnh lặp cũng như môn Tin học lớp 11.
MỤC LỤC Trang I. MỞ ĐẦU 1. Lí do chọn đề tài.....................................................................................................2 2. Mục đích nghiên cứu..............................................................................................2 3. Đối tượng nghiên cứu.............................................................................................2 4. Phương pháp nghiên cứu........................................................................................2 II. NỘI DUNG 1. Cơ sở lí luận............................................................................................................3 2. Thực trạng vấn đề...................................................................................................5 3. Giải pháp.................................................................................................................5 3.1. Xây dựng tư liệu dạy học.....................................................................................5 3.2. Sử dụng tình huống nêu vấn đề...........................................................................6 4. Hiệu quả của sáng kiến kinh nghiệm....................................................................15 5. Kiến nghị, đề xuất.................................................................................................15 5.1. Kết luận..............................................................................................................15 5.2. Đề xuất, kiến nghị..............................................................................................16 I. MỞ ĐẦU 1. Lí do chọn đề tài. Chương trình Tin học 11 THPT hiện nay chủ yếu trang bị kiến thức và kĩ năng về lập trình cho học sinh. Đây là một nội dung tương đối khó với đa số học sinh, đòi hỏi các em phải tư duy suy luận nhiều hơn so với chương trình Tin học lớp 10 và lớp 12. Bên cạnh đó, Tin học là môn không được chọn để xét tuyển tốt nghiệp, cao đẳng, đại học nên phần lớn các em ít quan tâm, ít đầu tư về thời gian cũng như công sức. Tuy nhiên đây là môn học có nội dung rất bổ ích và thiết thực với các em, không những rèn luyện tư duy logic mà còn mang tính sáng tạo. Vì vậy đòi hỏi người dạy không những có kiến thức vững vàng mà cần có cách dạy sáng tạo, phù hợp để kích thích thích thái độ học tập của học sinh và giúp các em tiếp thu kiến thức một cách dễ dàng và tốt nhất, vận dụng linh hoạt để giải quyết các vấn đề mà thực tiễn đặt ra. Với các câu lệnh cơ bản trong chương trình Tin học 11, câu lệnh lặp được xem là những đơn vị kiến thức tương đối phức tạp với đa số các em học sinh. Trong chương trình SGK Tin học 11 có đề cập đến 2 câu lệnh lặp For – Do và While – Do, bước đầu khi tiếp thu kiến thức các em còn khó hình dung được hoạt động của 2 câu lệnh lặp này, nhiều em còn lúng túng, ngại dùng câu lệnh While-Do, nên đứng trước các bài toán liên quan đến lặp với số lần chưa biết trước các em đều khó giải quyết. Phương pháp dạy học như lâu nay: giáo viên tổ chức tiết học một cách cứng nhắc, bài dạy chỉ áp dụng các ví dụ trong sách giáo khoa, dẫn đến học sinh ỉ lại, không chịu hoạt động, tiết học nhàm chán, có những đơn vị kiến thức giáo viên phải giải thích đi giải thích lại nhiều lần làm giảm tiến độ tiết học. Qua thực tế giảng dạy, nhận biết được khó khăn đó nên tôi đã đúc rút được “Một số kinh nghiệm dạy câu lệnh lặp trong chương trình Tin học 11” để phần nào giúp các em học tốt hơn câu lệnh lặp cũng như môn Tin học lớp 11. 2. Mục đích nghiên cứu. Thông qua việc nghiên cứu đề tài nhằm giúp học sinh nắm vững cấu trúc và hoạt động của câu lệnh lặp trong pascal, góp phần phát triển tư duy cho học sinh để từ đó học tốt hơn bộ môn Tin học. Đồng thời chia sẻ kinh nghiệm với các đồng nghiệp nhằm nâng cao hiệu quả giảng dạy bộ môn Tin học ở trường THPT hiện nay. 3. Đối tượng nghiên cứu. - Nghiên cứu dạy học lập trình trong chương trình Tin học phổ thông. - Nghiên cứu SGK và SGV Tin học 10, 11, 12 - Nghiên cứu hoạt động dạy và học của giáo viên và học sinh ở trường THPT. 4. Phương pháp nghiên cứu. - Tổng hợp, nghiên cứu các tài liệu, đặc biệt là những tài liệu có liên quan trực tiếp tới chương trình Tin học 11 và ngôn ngữ lập trình Pascal. - Phân tích tầm quan trọng của việc dạy học các câu lệnh nói riêng và lập trình nói chung trong việc giảng dạy môn Tin học ở trường THPT nhằm nâng cao khả năng tư duy của học sinh. - Đề xuất một số ý kiến về dạy Tin học (nhất là dạy học Tin học lập trình). - Trao đổi, tìm hiểu kinh nghiệm của giáo viên phổ thông. Tiếp cận tìm hiểu học sinh, tiến hành thực nghiệm sư phạm ở 2 lớp 11C1, 11C2, sau đó so sánh, đối chiếu kết quả với 2 lớp 11C3, 11C4. II. NỘI DUNG: 1. Cơ sở lí luận. a) Cấu trúc lặp: Ý nghĩa của cấu trúc lặp: Cấu trúc lặp là điều khiển thực hiện công việc lặp đi lặp lại khi chưa đủ số lần lặp hoặc khi một điều kiện nào đó còn đúng. Chẳng hạn, chương trình tính điểm cho học sinh một lớp (giả sử lớp có 50 học sinh) sẽ phải lặp lại một số thao tác như sau với mỗi học sinh: + Nhập họ tên học sinh (hoặc số báo danh); + Nhập điểm (các môn); + Tính điểm trung bình. Nếu chương trình viết đi viết lại các câu lệnh thực hiện những thao tác trên thì rõ ràng là không thuận tiện dễ dẫn tới nhàm chán. Vì thế ngôn ngữ lập trình đưa ra cấu trúc điều khiển lặp, chỉ cần viết các câu lệnh thực hiện các thao tác cho một học sinh sau đó cho phép chương trình tự thực hiện lặp lại các thao tác đó với các học sinh khác. Quá trình trình lặp sẽ dừng khi đã lặp đủ một số lần nào đó (trong ví dụ lặp đủ 50 lần- nhập đủ điểm cho 50 học sinh) hoặc khi gặp một điều kiện nào đó. Trong ngôn ngữ lập trình Turbo Pascal có hai loại lặp tương tự như vậy: Lặp với số lần biết trước (câu lệnh lặp For ) và lặp với số lần chưa biết trước (Câu lệnh lặp While – do và Repeat ...Until). Quá trình lặp không thể dừng được gọi là quá trình lặp vô hạn. Điều này xảy ra khi điều kiện để dừng lặp không còn bị biến đổi giá trị sau mỗi lần lặp. Khi đó, để thoát lặp vô hạn, cần có các câu lệnh cho phép thoát ngay khỏi lặp. - Lặp với số lần biết trước Dạng lặp với số lần biết trước dùng để thực hiện câu lệnh một số lần xác định. Dạng này dùng một biến điều khiển để điều khiển vòng lặp. Trong Pascal mỗi lần thực hiện câu lệnh thì biến điều khiển được tự động tăng hoặc giảm. Đến khi biến điều khiển đạt giá trị xác định thì vòng lặp kết thúc. - Lặp với số lần chưa biết trước Có 2 dạng: Dạng 1: Trong khi còn đúng thì còn thực hiện ; Dạng 2: Thực hiện trong khi đúng Trong dạng 1, đầu tiên kiểm tra và tính giá trị của điều kiện, nếu điều kiện nhận giá trị true thì thực hiện công việc (một lần). Mỗi lần thực hiện công việc có thể làm thay đổi giá trị của điều kiện nên đến một lúc nào đó điều kiện lặp không còn đúng nữa và cấu trúc lặp sẽ kết thúc. Ngược lại, nếu khi thực hiện công việc không làm thay đổi giá trị của điều kiện thì cấu trúc lặp kéo dài mãi (gọi là vòng lặp vô hạn). Để thoát khỏi vòng lặp vô hạn, trong công việc cần có câu lệnh rẽ nhánh thoát khỏi vòng lặp vô hạn khi thõa mãn điều kiện rẽ nhánh. Trong dạng 2, đầu tiên công việc được thực hiện, sau đó điều kiện được kiểm tra, nếu điều kiện nhận giá trị sai thì tiếp tục thực hiện công việc, ngược lại việc thực hiện lặp kết thúc. Trong công việc cần có câu lệnh làm thay đổi điều kiện hoặc câu lệnh thoát khỏi vòng lặp. b) Phương pháp dạy học nêu vấn đề. *Bản chất: Dạy học phát hiện và giải quyết vấn đề là phương pháp dạy học trong đó giáo viên tạo ra những tình huống có vấn đề, điều khiển học sinh phát hiện vấn đề, hoạt động tự giác, tích cực, chủ động, sáng tạo để giải quyết vấn đề và thông qua đó chiếm lĩnh tri thức, rèn luyện kĩ năng và đạt được những mục đích học tập khác. Đặc trưng cơ bản của dạy học phát hiện và giải quyết vấn đề là "tình huống gợi vấn đề" vì "Tư duy chỉ bắt đầu khi xuất hiện tình huống có vấn đề" (Rubinstein). Tình huống có vấn đề (tình huống gợi vấn đề) là một tình huống gợi ra cho học sinh những khó khăn về lí luận hay thực hành mà họ thấy cần có khả năng vượt qua, nhưng không phải ngay tức khắc bằng một thuật giải, mà phải trải qua quá trình tích cực suy nghĩ, hoạt động để biến đổi đối tượng hoạt động hoặc điều chỉnh kiến thức sẵn có. * Quy trình thực hiện Bước 1. Phát hiện hoặc thâm nhập vấn đề - Phát hiện vấn đề từ một tình huống gợi vấn đề - Giải thích và chính xác hóa tình huống (khi cần thiết) để hiểu đúng vấn đề được đặt ra - Phát biểu vấn đề và đặt mục tiêu giải quyết vấn đề đó Bước 2: Tìm giải pháp Tìm cách giải quyết vấn đề Bước 3. Trình bày giải pháp HS trình bày lại toàn bộ từ việc phát biểu vấn đề tới giải pháp. Nếu vấn đề là một đề bài cho sẵn thì có thể không cần phát biểu lại vấn đề. Bước 4. Nghiên cứu sâu giải pháp - Tìm hiểu những khả năng ứng dụng kết quả - Đề xuất những vấn đề mới có liên quan nhờ xét tương tự, khái quát hóa, lật ngược vấn đề,... và giải quyết nếu có thể. * Ưu điểm - Phương pháp này góp phần tích cực vào việc rèn luyện tư duy, sáng tạo cho học sinh. Trên cơ sở sử dụng vốn kiến thức và kinh nghiệm đã có học sinh sẽ xem xét, đánh giá, thấy được vấn đề cần giải quyết. - Đây là phương pháp phát triển được khả năng tìm tòi, xem xét dưới nhiều góc độ khác nhau. Trong khi phát hiện và giải quyết vấn đề, học sinh sẽ huy động được tri thức và khả năng cá nhân, khả năng hợp tác, trao đổi, thảo luận với bạn bè để tìm ra cách giải quyết vấn đề tốt nhất. - Thông qua việc giải quyết vấn đề, học sinh được lĩnh hội tri thức, kĩ năng và phương pháp nhận thực ("giải quyết vấn đề" không còn chỉ thuộc phạm trù phương pháp mà đã trở thành một mục đích dạy học, được cụ thể hóa thành một mục tiêu là phát triển năng lực giải quyết vấn đề, một năng lực có vị trí hàng đầu để con người thích ứng được với sự phát triển của xã hội) * Hạn chế: - Phương pháp này đòi hỏi giáo viên phải đầu tư nhiều thời gian và công sức, phải có năng lực sư phạm tốt mới suy nghĩ để tạo ra được nhiều tình huống gợi vấn đề và hướng dẫn tìm tòi để phát hiện và giải quyết vấn đề. - Học sinh cần có thói quen và khả năng học tập tự giác tích cực thì mới đạt hiệu quả cao. 2. Thực trạng vấn đề: Trong quá trình giảng dạy, khi đưa ra ví dụ áp dụng cho các câu lệnh For-do, While-do, tương ứng với các ví dụ trong sách giáo khoa đã giới thiệu, tôi nhận thấy học sinh không hình dung được hoạt động của câu lệnh, đa phần các em đều thấy khó. Khi viết chương trình các em còn lúng túng khi sử dụng các câu lệnh lặp, có em khi viết câu lệnh For-do còn sử dụng câu lệnh tác động lên biến điều khiển, có em khi sử dụng vòng lặp While-do còn gặp khó khăn trong việc xác định biểu thức điều kiện, không sử dụng Begin...end khi có câu lệnh ghép sau từ khóa do, v.v.... 3. Giải pháp: 3.1. Xây dựng tư liệu dạy học: Với đối tượng học sinh có học lực trung bình khá, nếu áp dụng các ví dụ mà sách giáo khoa đưa ra nhiều học sinh thấy khó hiểu (chẳng hạn, trong phân phối chương trình tin học 11 có một số ví dụ ở tiết 13, tiết 14 như Tong_1a, Tong_1b, Tong_2) dẫn đến các em không hứng thú với tiết học, khó lĩnh hội được kiến thức, tiến trình tiết dạy bị chậm lại, vì vậy tôi thường lấy những ví dụ liên quan đến bài học ngoài sách giáo khoa, những ví dụ này thường là ví dụ đơn giản. Tôi chuẩn bị sẵn chương trình viết bằng Pascal và sơ đồ khối của thuật toán trên giấy khổ lớn để minh họa, giúp các em hiểu rõ được vấn đề. Với những tư liệu dạy học xây dựng được, giáo viên sẽ vận dụng vào bài dạy trong từng tình huống nêu vấn đề cho học sinh. 3.2. Sử dụng tình huống nêu vấn đề. Để thực hiện dạy học phát hiện và giải quyết vấn đề cho giờ học hay cho một đơn vị kiến thức nào đó của giờ học, cần tạo ra tình huống gợi vấn đề. Sau đây là một số tình huống mà tôi sử dụng trong quá trình dạy cấu trúc lặp. a) Câu lệnh lặp với số lần biết trước FOR – DO Tình huống 1: “Em hãy viết chương trình in ra màn hình các số nguyên dương từ 1 đến 10, các số nằm trên cùng một hàng và cách nhau một dấu cách trống?” Với kiến thức đã được học các em sẽ viết chương trình này như sau: Program Vi_du; Begin Write(1,’ ’); Write(2,’ ’); Write(3,’ ’); Write(4,’ ’); Write(5,’ ’); Write(6,’ ’); Write(7,’ ’); Write(8,’ ’); Write(9,’ ’); Write(10); Readln; End. Tình huống 2: “Em hãy viết chương trình in ra màn hình các số nguyên dương từ 1 đến 100, các số nằm trên cùng một hàng và cách nhau một dấu cách trống?” - Khi gặp tình huống 2, học sinh sẽ thấy ngay được khó khăn đó là chương trình phải sử dụng tới 100 câu lệnh write. - Qua đây giáo viên sẽ giúp các em nhận thấy nếu chương trình được viết đi viết lại các câu lệnh write như trên sẽ dễ dẫn tới nhàm chán. Để khắc phục điều này, thay vì phải viết 100 câu lệnh write() ta sử dụng cấu trúc điều khiển lặp trong pascal để thực hiện tuần tự câu lệnh write(i) 100 lần, với i (là biến đếm) nhận giá trị liên tiếp tăng từ 1 (giá trị đầu) đến 100 (giá trị cuối). - Giáo viên giới thiệu cấu trúc lặp với số lần biết trước: For := to do ; - Sau khi học sinh đã nắm được cấu trúc và hoạt động của câu lệnh FOR-DO, giáo viên yêu cầu học sinh viết câu lệnh FOR để giải quyết tình huống như đã nêu ở trên: For i:= 1 To 100 Do write(i,’ ’); - Giáo viên trình chiếu chương trình viết bằng ngôn ngữ lập trình pascal để minh họa: - Tiếp theo sẽ là một tình huống nêu vấn đề: Nếu sử dụng vòng lặp FOR – DO để viết chương in ra màn hình các số lẻ nhỏ hơn 100 có được không? - Thực tế qua nhiều năm giảng dạy, có rất nhiều học sinh viết như sau: For i:=1 to 100 do Begin Write(i:3); i:=i+1; End; - Các em lí giải rằng: do hoạt động của vòng lặp For –do, biến i sẽ tự động tăng lên 1 sau đó nếu ta có câu lệnh tác động lên biến i (i:=i+1) thì sẽ được kết quả như đề bài yêu cầu. - Từ đó lưu ý cho các em: Với câu lệnh For –do thì câu lệnh viết sau do không được thay đổi giá trị của biến đếm. Đồng thời gợi mở vấn đề, để hướng học sinh tới một câu lệnh sẽ được học ở tiết học sau. (Khi học sinh đã nắm vững cấu trúc và hoạt động của câu lệnh For –do dạng tiến thì việc tiếp thu câu lệnh For – do dạng lùi sẽ rất dễ dàng) b) Câu lệnh lặp với số lần chưa biết trước While – do Để dạy câu lệnh này ngoài các ví dụ có tính chất nêu vấn đề thì tôi chuẩn bị sơ đồ hoạt động của câu lệnh, các sơ đồ thuật toán trên giấy khổ lớn và một số chương trình viết sẵn bằng ngôn ngữ lập trình pascal. Dẫn dắt vấn đề: Giả sử trong tài khoản sim điện thoại của một người còn 100.000đ, người này sẽ thực hiện các cuộc gọi, chúng ta chưa biết trước người đó sẽ gọi bao nhiêu cuộc điện thoại nhưng hoạt động gọi điện sẽ dừng lại khi tài khoản không còn đủ tiền. Vậy trong ngôn ngữ lập trình pascal có một câu lệnh tương tự như việc này, một công việc sẽ thực hiện lặp đi lặp lại khi một điều kiện nào đó còn đúng. Đó là câu lệnh lặp với số lần chưa biết trước While – do. Cấu trúc: While do ; Sơ đồ hoạt động: (chuẩn bị trước trên giấy khổ lớn) Sai Đúng Điều kiện Câu lệnh Ý nghĩa: Gặp lệnh này máy thực hiện như sau: - Kiểm tra - Nếu có giá trị đúng thì thực hiện , sau đó quay lại kiểm tra . Quá trình này lặp đi lặp lại cho đến khi có giá trị sai thì kết thúc vòng lặp. Sau đây là các tình huống mà tôi đã sử dụng khi dạy câu lệnh while (đó là các chương trình viết trên ngôn ngữ lập trình pascal và sơ đồ khối trên giấy khổ lớn). Ví dụ 1: Program chuong_trinh1; Var i:integer; Begin i:= 1; while i<10 do Begin write(i:3); i:=i+1; end; readln End. Sai Đúng i<10 Write(i:3); i:=i+1; i:=1; Ví dụ 2: Program chuong_trinh2; Var i, j:integer; Begin i:= 10; j:=5; while i<j do write(i:5); readln End. Sai Đúng i<j Write(i:5); i:=10; j:=5 Ví dụ 3 Program chuong_trinh3; Var i:integer; Begin i:= 1; while i<5 do write(i:5); readln End. Sai Đúng i<5 Write(i:5); i:=1; * Phương pháp thực hiện: - Giáo viên sẽ lần lượt đưa ra các ví dụ, yêu cầu học sinh quan sát và cho biết kết quả của các chương trình đó khi chạy chương trình? - Sau khi học sinh đưa ý kiến, giáo viên sẽ củng cố lại kiến thức, chạy các chương trình để các em thấy kết quả. * Mục đích Việc tôi đưa ra 3 ví dụ trên khi dạy câu lệnh while – do nhằm củng cố cho học sinh các kiến thức sau đây: - Ví dụ 1: ngoài việc giúp học sinh hiểu thêm hoạt động của câu lệnh thì giáo viên đưa ra cho học sinh một lưu ý: Câu lệnh sau từ khóa do nếu là câu lệnh ghép thì phải đặt giữa Begin và end. - Trình chiếu chương trình: Kết quả in ra màn hình: các giá trị từ 1 đến 9 mỗi số cách nhau 3 vị trí - Ví dụ 2: Biểu thức điều kiện được tính giá trị trước khi câu lệnh được thực hiện, nếu biểu thức điều kiện đã nhận giá trị sai ngay từ đầu thì câu lệnh không được thực hiện lần nào. - Trình chiếu chương trình: - Kết quả trên màn hình: không có kết quả vì câu lệnh write(i:5) không được thực hiện do ngay từ ban đầu điều kiện nhận giá trị sai Ví dụ 3: Nếu biểu thức điều kiện luôn nhận giá trị đúng thì câu lệnh được thực hiện mãi, ta gọi là vòng lặp vô hạn. Trong trường hợp này giáo viên hướng dẫn các em thao tác thoát khỏi vòng lặp là nhấn tổ hợp phím Ctrl+Break. Cần lưu ý trong vòng lặp while – do phải có câu lệnh làm thay đổi giá trị của biểu thức kiểm tra điều kiện lặp. - Trình chiếu chương trình: - Kết quả của chương trình: in ra màn hình vô số số 1 c) Chuyển đổi giữa 2 câu lệnh FOR – DO và WHILE – DO. Cấu trúc While thường là sự lựa chọn tốt nhất cho vòng lặp được kiểm soát bởi điều kiện. Còn cấu trúc For phù hợp với các bài toán trong đó ta biết trước số lần lặp lại.Tuy nhiên khi gặp bài toán lặp với số lần biết trước giáo viên nên hướng dẫn cho học sinh sử dụng cả 2 câu lệnh để viết chương trình, việc này tôi thường thực hiện trong các giờ bài tập. Ví dụ1: Hãy viết chương trình tính và in ra màn hình tổng các số nguyên dương nhỏ hơn N (N- nguyên dương, nhập vào từ bàn phím và 0<N<200) (Theo 2 cách: sử dụng vòng lặp FOR-DO và WHILE – DO). Cách 1: Program FOR_DO; Var i,n, s: integer; Begin Write(‘Nhap so nguyen duong N=’); readln(N); S:=0; For i:=1 to N-1 do S:=S+i; Write(‘Tong=’, S); Readln End. Cách 2: Program WHILE_DO; Var i,n, s: integer; Begin Write(‘Nhap so nguyen duong N=’); readln(N); S:=0; i:=1; While i < N do Begin S:=S+i; i:= i+1; end; Write(‘Tong=’, S); Readln End. Ví dụ 2: Viết chương trình in ra màn hình các số lẻ nhỏ hơn 100, mỗi số cách nhau 5 vị trí? Đây chính là tình huống đã đặt ra ở tiết học về câu lệnh For, ở thời điểm đó đã có học sinh ứng dụng câu lệnh For-do để viết chương trình như tôi đã nêu ở trên. - Chương trình được viết bằng cách sử dụng câu lệnh while-do như sau: Program so_le; Var i:Byte; Begin i:=1; While i<100 do Begin Write(i:5); i:=i+2; End; Readln End. - Thông qua 2 ví dụ trên giáo viên giúp học sinh thấy được mối liên hệ giữa 2 cấu trúc while – do và for – do, mọi vòng lặp while – do đều có thể chuyển về for – do nhưng điều ngược lại không đúng. 4. Hiệu quả của sáng kiến kinh nghiệm. Về phía học sinh: Hai lớp mà tôi đã áp dụng kinh nghiệm này là 11C1, 11C2 đây là những lớp có chất lượng học sinh ở mức độ trung bình khá, khi áp dụng cách làm này tôi thấy học sinh rất tích cực làm việc, vì các tình huống được đặt ra vừa sức với đối tượng học sinh nên học sinh rất say mê, hứng thú. Về phía giáo viên, tôi nhận thấy tiết học nhẹ nhàng hơn, không nhàm chán, truyền tải kiến thức cho học sinh đơn giản mà hiệu quả, điều này cũng được đồng nghiệp của tôi dự giờ và đánh giá cao. Đối chiếu, so sánh với lớp không áp dụng 11C3 và 11C4, đã thấy được hiệu quả giáo dục mang lại thông qua kết quả của năm học như sau: Lớp Sĩ số Áp dụng phương pháp mới Giỏi Khá Trung bình Yếu Kém 11C1 45 X 15 23 7 0 0 11C2 44 X 10 20 14 0 0 11C3 45 3 15 25 2 0 11C4 45 1 19 20 5 0 5. Kết luận, kiến nghị 5.1 Kết luận. Để học sinh học tốt lập trình, ngoài đầu tư cơ sở vật chất, việc tạo hứng thú cho học sinh bằng những bài toán hay, có ý nghĩa, gắn với thực tế là rất quan trọng. Nó góp phần làm cho học sinh hiểu được cái hay, cái cần thiết phải học lập trình. Đề tài này đã đạt được những mục tiêu sau: - Thứ nhất: Giúp học sinh phát triển khả năn
Tài liệu đính kèm:
- skkn_mot_so_kinh_nghiem_day_cau_lenh_lap_trong_chuong_trinh.doc