Luận văn, báo cáo, luận án, đồ án, tiểu luận, đề tài khoa học, đề tài nghiên cứu, đề tài báo cáo - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công nghệ thông tin PHÒNG GIÁO DỤC VÀ ĐÀO TẠO HUYỆN HIỆP HÒA TRƯỜNG THCS ĐỨC THẮNG --------------------------------- SÁNG KIẾN KINH NGHIỆM “PHÁT HIỆN, SỬA MỘT SỐ LỖI THƯỜNG GẶP CỦA HỌC SINH ĐỘI TUYỂN TIN HỌC KHI DẠY LẬP TRÌNH PASCAL” Lĩnh vực áp dụng: Giáo dục và đào tạo Họ tên GV: Bùi Đức Thịnh Chức vụ: Tổ trưởng chuyên môn Đơn vị công tác: Trường THCS Đức thắng Hiệp Hoà – Bắc Giang. Hiệp Hòa, tháng 4 năm 2023 1 MỤC LỤC PHẦN I. MỞ ĐẦU...................................................................................... 2 I. LÍ DO VIẾT SÁNG KIẾN ...................................................................... 3 II. MỤC ĐÍCH NGHIÊN CỨU .................................................................. 3 III. ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU............................................ 3 1. Đối tượng................................................................................................. 3 2. Phạm vi. ................................................................................................... 4 IV. NHIỆM VỤ NGHIÊN CỨU ................................................................. 4 V. PHƯƠNG PHÁP NGHIÊN CỨU .......................................................... 4 VI. NHỮNG ĐÓNG GÓP MỚI CỦA SÁNG KIẾN.................................. 4 PHẦN II. NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU ............................. 5 I. CƠ SỞ LÍ LUẬN VÀ THỰC TIỄN ........................................................ 5 1. CƠ SỞ LÍ LUẬN .................................................................................... 5 2. CƠ SỞ THỰC TIỄN ............................................................................... 6 II. THỰC TRẠNG CỦA SÁNG KIẾN ...................................................... 6 III. CÁC GIẢI PHÁP THỰC HIỆN ........................................................... 6 Giải pháp 1: ................................................................................................. 6 Giải pháp 2: ................................................................................................. 8 Giải pháp 3: ................................................................................................. 9 Giải pháp 4: ................................................................................................. 10 Giải pháp 5: ................................................................................................. 11 Giải pháp 6: ................................................................................................. 13 Giải pháp 7: ................................................................................................. 14 Giải pháp 8: ................................................................................................. 15 IV. HIỆU QUẢ CỦA SÁNG KIẾN KINH NGHIỆM ............................... 16 PHẦN III. KẾT LUẬN, KIẾN NGHỊ ........................................................ 17 I. KẾT LUẬN .............................................................................................. 17 II. KIẾN NGHỊ ............................................................................................ 18 2 PHẦN I. MỞ ĐẦU I. LÝ DO VIẾT SÁNG KIẾN.` Chuyển đổi số là xu hướng phát triển tất yếu, mở ra nhiều cơ hội, tác động mạnh mẽ đến mọi mặt của đời sống kinh tế, xã hội, song cũng đặt ra không ít thách thức đối với các cấp, các ngành, địa phương. Những năm qua, tỉnh Bắc Giang đã có sự quan tâm đẩy mạnh ứng dụng công nghệ thông tin (CNTT), xây dựng chính quyền điện tử. Ban Thường vụ Tỉnh ủy đã ban hành Nghị quyết số 433-NQTƯ ngày 0452019 về phát triển CNTT trên địa bàn tỉnh giai đoạn 2019- 2025 trên ba trụ cột là phát triển kết cấu hạ tầng CNTT, xây dựng các hệ thống phần mềm CNTT đồng bộ và nâng cao chất lượng nguồn nhân lực CNTT. - Trong 9 lĩnh vực nghi quyết ưu tiên thực hiện thì lĩnh vực giáo dục là một trong những ưu tiên hàng đầu để xây dựng các hệ thống phần mềm CNTT đồng bộ và nâng cao chất lượng nguồn nhân lực CNTT. Cụ thể là phát triển nền tảng hỗ trợ dạy và học từ xa, ứng dụng triệt để công nghệ số trong công tác quản lý, giảng dạy và học tập; số hóa tài liệu, giáo trình; xây dựng nền tảng chia sẻ tài nguyên giảng dạy và học tập theo cả hình thức trực tiếp và trực tuyến; phát triển công nghệ phục vụ giáo dục, hướng tới đào tạo cá thể hóa; ứng dụng công nghệ số để giao bài tập về nhà và kiểm tra sự chuẩn bị của học sinh trước khi đến lớp học. (Trích nghị quyết số 111NQ-TƯ ngày 11062021 của Ban Chấp Hành Đảng Bộ Tỉnh về chuyển đổi số tỉnh Bắc Giang giai đoạn 2021-2025, định hướng đến 2030) Trên tinh thần đó hàng năm Phòng GD ĐT Hiệp Hòa tổ chức hội thi Olympic Tin học cho học sinh THCS. Các em dự thi sẽ phải tham gia thi hai vòng: Vòng thứ nhất: Thi trắc nghiệm (thời gian 30 phút) – Kiến thức chung về máy tính, tin học văn phòng, internet và lập trình Pascal. Với những kiến thức này thì các em đã được tiếp thu trên lớp qua các bài học. Đồng thời các em cũng có thể thu thập thêm những kiến thức đó qua sách báo, qua các phương tiện thông tin, qua truy cập Internet. Vì đó chỉ là những kiến thức thông qua: Đọc, nghe và quan 3 sát… là các em có thể hiểu và ghi nhớ được. Do vậy, ở vòng thi này đa số các em làm được và đạt điểm khá cao. Còn vòng thi thứ hai: Thi lập trình (thời gian 90 phút) – Viết chương trình bằng ngôn ngữ Pascal (Free Pascal). Với phần thi này các em phải lập trình dể giải các bài toán bằng ngôn ngữ Pascal. Trong khi đó, những kiến thức để các em có thể dự thi phần này lại được học theo chương trình môn tự chọn cho học sinh khối 8. Vậy để học sinh có thể tự tin khi thi phần thực hành là một giáo viên Tin học tôi phải suy nghĩ và trăn trở rất nhiều là làm thế nào cho các em phải nắm chắc cú pháp các câu lệnh, phát huy được tính tích cực, chủ động, tự lực, sáng tạo của học sinh; rèn được kỹ năng thực hành thành thạo, biết vận dụng kiến thức, kỹ năng giải quyết các bài toán thực tiễn và nhất là nâng cao được chất lượng học sinh giỏi tin học cấp Huyện. Với những lý do trên khiến tôi quyết định chọn giải pháp: “Phát hiện, sửa một số lỗi thường gặp của học sinh đội tuyển tin học khi dạy lập trình Pascal”. II. MỤC ĐÍCH NGHIÊN CỨU. Với nhiều năm bồi dưỡng đội tuyển học sinh giỏi tin học, tôi nhận thấy rằng trong vòng thi thực hành của hội thi Olympic tin học THCS dạng đề thi có sử dụng ngôn ngữ lập trình Pascal để giải các bài toán là không thể thiếu. Đây là một dạng bài khó. Gặp dạng toán này, phần lớn học sinh rất lúng túng và mất nhiều thời gian để cố nhớ xem bài này đã được thầy, cô giáo làm như thế nào, học sinh rất khó hình dung ra cách giải (thuật toán) cũng như cách trình bày đúng. Với phần lập trình viết trên ngôn ngữ lập trình Pascal chỉ cần sơ xuất nhỏ như: thiếu dấu phẩy, dấu chấm, dấu mở ngoặc hoặc dấu chấm phẩy… chứ chưa nói đến thuật toán có đúng hay không thì cũng sinh ra lỗi và máy không chạy được. Như vậy, với vòng thi lý thuyết các em đạt điểm cao nhưng vòng thi thực hành để đạt được điểm cao là rất khó. Mục tiêu đặt ra là: “Phát hiện, sửa một số lỗi thường gặp của học sinh đội tuyển tin học khi dạy lập trình Pascal”. III. ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU 1. Đối tượng - Một số lỗi trong bài toán lập trình pascal của học sinh đội tuyển tin học. 4 2. Phạm vi. - Sáng kiến được nghiên cứu ở các đội tuyển tin học của nhà trường và đội tuyển tin học trẻ của huyện năm học 2022-2023. IV. NHIỆM VỤ NGHIÊN CỨU. Nhằm giúp học sinh tìm ra được lỗi sai thường gặp khi viết chương trình trên ngôn ngữ lập trình pascal và biết sửa các lỗi này, nâng cao thêm về mặt kiến thức, kỹ năng thực hành, vận dụng giải quyết được các bài toán hướng đến đạt kết quả cao nhất trong các kỳ thi Olympic Tin học. Nâng cao chất lượng và hiệu quả đối với công tác bồi dưỡng học sinh giỏi tin học cấp huyện và cấp tỉnh. V. PHƯƠNG PHÁP NGHIÊN CỨU. - Phương pháp thực hành VI. NHỮNG ĐÓNG GÓP MỚI CỦA SÁNG KIẾN. “Phát hiện, sửa một số lỗi thường gặp của học sinh đội tuyển tin học khi dạy lập trình Pascal”. PHẦN II. NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU. I. CƠ SỞ LÍ LUẬN VÀ THỰC TIỄN. 1. CƠ SỞ LÍ LUẬN. Phương pháp được hiểu là con đường, là cách thức để đạt những mục tiêu nhất định. Phương pháp dạy học là cách thức hoạt động và giao lưu của thầy gây nên những hoạt động và giao lưu cần thiết của trò nhằm đạt được mục tiêu dạy học. Phương pháp nâng cao chất lượng là cách thức tiến hành các hoạt động dạy học để nâng cao quá trình tiếp thu bài của học sinh. 2. CƠ SỞ THỰC TIỄN. - Lập trình Pascal là nội dung khó, tư duy trừu tượng để học sinh học tập 5 tốt cần người giáo viên phải có những phương pháp dạy học tích cực, đổi mới phù hợp với đối tượng học sinh, điều kiện, phương tiện, thiết bị dạy và học của nhà trường, giáo viên và học sinh. II. THỰC TRẠNG CỦA SÁNG KIẾN. 1. Ưu Điểm. - Về phía nhà trường: Cán bộ quản lý nhà trường quan tâm, tạo điều kiện thuận lợi cho giáo viên và học sinh về cơ sở vật chất – thiết bị dạy học, chỉ đạo chuyên môn sát sao, kịp thời triển khai các văn bản chỉ đạo, hướng dẫn về công tác bồi dưỡng học sinh giỏi (BDHSG) cấp huyện. Luôn quan tâm, giúp đỡ, động viên khuyến khích giáo viên thực hiện các giải pháp đổi mới nâng cao chất lượng BDHSG. - Về cơ sở vật chất: Có các thiết bị tương đối đảm bảo cho dạy bồi dưỡng các đội tuyển tin học (Máy chiếu, Smart TV, máy tính có kết nối internet…). Nhà trường có 2 phòng máy tính phục vụ cho dạy và học tin học. - Về học sinh đối với đối tượng học sinh khá giỏi, đa phần các em rất hào hứng với việc lập trình, cụ thể là ngôn ngữ lập trình Pascal. Với những đề thi đã được học và luyện nhiều lần các em làm bài rất tốt và nhanh. Những bài các em đã học thuộc thì bài làm đúng như đáp án đến từng dấu, chấm dấu phẩy. Nhất là các em đội tuyển tin 6 được thầy cho học thuộc các hàm như hàm kiểm tra số nguyên tố, hàm đếm số các số, hàm tính tổng các chữ số của một số…. để giải quyết một số bài toán, do được học thuộc nhiều dạng bài và đề thi cũng tương tự nên qua một số kì thi học sinh các đội tuyển đạt được kết quả khá cao. 2. Hạn chế và nguyên nhân hạn chế. 2.1. Giáo viên - Biện pháp cũ thường làm là cho học sinh học thuộc các bài mà thầy cô đã dạy và luyện lại các đề thi nhiều lần. - Bản thân giáo viên còn chưa nhận thức được môn học lập trình Pascal đòi hỏi người thầy phải hướng học sinh đến tư duy, sáng tạo và đặc biệt là khả năng tự học tự nghiên cứu. Chưa hướng dẫn học sinh vẫn dụng kiến thức đã học giải quyết những bài toán phát triển từ bài toán đã có, đồng thời phát hiện và sửa các lỗi của chương trình. 2.2. Học sinh 6 - Chú trọng học thuộc các bài thầy cô đã dạy từ dấu chấm, dấu phẩy nên không biết dịch và sửa lỗi. Khi đi thi các em mất nhiều thời gian để nhớ lại xem những bài nào đã được học thuộc. - Khả năng tư duy, sáng tạo bị hạn chế do cách học thụ động dẫn dến sai thuật toán. - Với học sinh đội tuyển tin, nội dung học lập trình Pascal là một nội dung lạ với nhiều khái niệm, thuật ngữ, cấu trúc dữ liệu mà học sinh tiếp xúc lần đầu. Chính vì vậy mà học sinh dễ mắc sai lầm khi lập trình giải quyết các bài toán. Nguyên nhân dẫn đến những khó khăn mà học sinh thường gặp là rất phong phú nhưng có thể thấy một số nguyên nhân chính sau đây: + Học sinh thường gặp khó khăn khi xác định bài toán. + Khó liên hệ phương pháp giải một bài toán trong toán học với thuật giải trong tin học. + Thụ động, chỉ học thuộc các bài giải sẵn. + Không nhận biết được lỗi xảy ra hoặc không biết cách sửa lỗi. => Yêu cầu đặt ra: Tìm ra một số lỗi phổ biến các em thường mắc phải và cách sửa các lỗi này. III. CÁC GIẢI PHÁP THỰC HIỆN Dựa trên nhưng thuận lợi có được, tôi đã xây dựng và thực hiện các giải pháp để hướng tới giải quyết mục tiêu đã đặt ra ban đầu: Hướng dẫn học sinh đội tuyển tin học phát hiện và sửa “Một số lỗi sai thường gặp trong lập trình Pascal”. 1. Biện pháp 1: Chưa hiểu thứ tự ưu tiên phép toán. Trong một biểu thức pascal, thứ tự ưu tiên của các phép toán được liệt kê theo thứ tự sau: Lời gọi hàm. Dấu ngoặc () Phép toán một ngôi (NOT, -). Phép toán , , DIV, MOD, AND. Phép toán +, -, OR, XOR Phép toán so sánh =, , =, , IN Ví dụ 1: Viết chương trình nhập vào một số nguyên dương n từ bàn phím sao cho 4 < n ≤1000000, tính tổng S và in kết quả ra màn hình (lấy đến 3 chữ số phần thập phân). 7( ) ( )( ) 11.2 2.3 3.4 ... 3.4 4.5 5.6 2 3 N N S N N + = + + + + + + Ví dụ: Input Output N = 6 S = 2.462 - Khi chạy chương trình của học sinh không báo lỗi sai mà cho ra kết quả của bài toán sai. Các em mắc lỗi sai khi chuyển từ biểu thức toán học sang biểu thức Pascal không thực hiện đúng thứ tự ưu tiên các phép toán trong pascal ở phép chia của tử số cho mẫu số (tử số chỉ chia cho (i+2), không chia cho (i+3)), do chủ quan từ việc máy đã tính ra kết quả và học sinh không kiểm tra lại bằng máy tính cầm tay. Để sửa lỗi sai này, giáo viên yêu cầu các em thực hiện đúng thứ tự ưu tiên các phép toán trong pascal, sau đó dùng máy tính cầm tay để tính kết quả trên giấy bút đối chiếu với kết quả của chương trình từ đó sửa lại thứ tự thực hiện các phép toán trong pascal cho đúng. Chương trình lỗi Chương trình đúng Program bai1; Uses crt; Var N,i:word; S:real; Begin Clrscr; Repeat Write(‘Nhap n=’); readln(n); Until (n>4) and (n4) and (n0, và b, c là các số nguyên dương). Hãy viết chương trình (với b, c được nhập từ bàn phím) để kiểm tra xem tuổi cha có gấp đôi tuổi con hay không? Nếu đúng thì đưa ra màn hình thông báo “hiện nay ...
Trang 1PHÒNG GIÁO DỤC VÀ ĐÀO TẠO HUYỆN HIỆP HÒA
TRƯỜNG THCS ĐỨC THẮNG
-*** -
SÁNG KIẾN KINH NGHIỆM
“PHÁT HIỆN, SỬA MỘT SỐ LỖI THƯỜNG GẶP CỦA HỌC SINH ĐỘI TUYỂN TIN HỌC KHI DẠY LẬP
TRÌNH PASCAL”
Lĩnh vực áp dụng: Giáo dục và đào tạo
Họ tên GV: Bùi Đức Thịnh
Chức vụ: Tổ trưởng chuyên môn Đơn vị công tác: Trường THCS Đức thắng
Hiệp Hoà – Bắc Giang
Hiệp Hòa, tháng 4 năm 2023
Trang 2MỤC LỤC
PHẦN I MỞ ĐẦU 2
I LÍ DO VIẾT SÁNG KIẾN 3
II MỤC ĐÍCH NGHIÊN CỨU 3
III ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU 3
1 Đối tượng 3
2 Phạm vi 4
IV NHIỆM VỤ NGHIÊN CỨU 4
V PHƯƠNG PHÁP NGHIÊN CỨU 4
VI NHỮNG ĐÓNG GÓP MỚI CỦA SÁNG KIẾN 4
PHẦN II NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 5
I CƠ SỞ LÍ LUẬN VÀ THỰC TIỄN 5
1 CƠ SỞ LÍ LUẬN 5
2 CƠ SỞ THỰC TIỄN 6
II THỰC TRẠNG CỦA SÁNG KIẾN 6
III CÁC GIẢI PHÁP THỰC HIỆN 6
Giải pháp 1: 6
Giải pháp 2: 8
Giải pháp 3: 9
Giải pháp 4: 10
Giải pháp 5: 11
Giải pháp 6: 13
Giải pháp 7: 14
Giải pháp 8: 15
IV HIỆU QUẢ CỦA SÁNG KIẾN KINH NGHIỆM 16
PHẦN III KẾT LUẬN, KIẾN NGHỊ 17
I KẾT LUẬN 17
II KIẾN NGHỊ 18
Trang 3PHẦN I MỞ ĐẦU
I LÝ DO VIẾT SÁNG KIẾN.`
Chuyển đổi số là xu hướng phát triển tất yếu, mở ra nhiều cơ hội, tác động mạnh mẽ đến mọi mặt của đời sống kinh tế, xã hội, song cũng đặt ra không ít thách thức đối với các cấp, các ngành, địa phương Những năm qua, tỉnh Bắc Giang đã có sự quan tâm đẩy mạnh ứng dụng công nghệ thông tin (CNTT), xây dựng chính quyền điện tử Ban Thường vụ Tỉnh ủy đã ban hành Nghị quyết số 433-NQ/TƯ ngày 04/5/2019 về phát triển CNTT trên địa bàn tỉnh giai đoạn
2019-2025 trên ba trụ cột là phát triển kết cấu hạ tầng CNTT, xây dựng các hệ thống phần mềm CNTT đồng bộ và nâng cao chất lượng nguồn nhân lực CNTT
- Trong 9 lĩnh vực nghi quyết ưu tiên thực hiện thì lĩnh vực giáo dục là một trong những ưu tiên hàng đầu để xây dựng các hệ thống phần mềm CNTT đồng bộ và nâng cao chất lượng nguồn nhân lực CNTT Cụ thể là phát triển nền tảng hỗ trợ dạy và học từ xa, ứng dụng triệt để công nghệ số trong công tác quản
lý, giảng dạy và học tập; số hóa tài liệu, giáo trình; xây dựng nền tảng chia sẻ tài nguyên giảng dạy và học tập theo cả hình thức trực tiếp và trực tuyến; phát triển công nghệ phục vụ giáo dục, hướng tới đào tạo cá thể hóa; ứng dụng công nghệ
số để giao bài tập về nhà và kiểm tra sự chuẩn bị của học sinh trước khi đến lớp học (Trích nghị quyết số 111/NQ-TƯ ngày 11/06/2021 của Ban Chấp Hành Đảng
Bộ Tỉnh về chuyển đổi số tỉnh Bắc Giang giai đoạn 2021-2025, định hướng đến 2030)
Trên tinh thần đó hàng năm Phòng GD & ĐT Hiệp Hòa tổ chức hội thi Olympic Tin học cho học sinh THCS Các em dự thi sẽ phải tham gia thi hai vòng: Vòng thứ nhất: Thi trắc nghiệm (thời gian 30 phút) – Kiến thức chung về máy tính, tin học văn phòng, internet và lập trình Pascal Với những kiến thức này thì các em đã được tiếp thu trên lớp qua các bài học Đồng thời các em cũng có thể thu thập thêm những kiến thức đó qua sách báo, qua các phương tiện thông tin, qua truy cập Internet Vì đó chỉ là những kiến thức thông qua: Đọc, nghe và quan
Trang 4sát… là các em có thể hiểu và ghi nhớ được Do vậy, ở vòng thi này đa số các em làm được và đạt điểm khá cao Còn vòng thi thứ hai: Thi lập trình (thời gian 90 phút) – Viết chương trình bằng ngôn ngữ Pascal (Free Pascal) Với phần thi này các em phải lập trình dể giải các bài toán bằng ngôn ngữ Pascal Trong khi đó, những kiến thức để các em có thể dự thi phần này lại được học theo chương trình môn tự chọn cho học sinh khối 8 Vậy để học sinh có thể tự tin khi thi phần thực hành là một giáo viên Tin học tôi phải suy nghĩ và trăn trở rất nhiều là làm thế nào cho các em phải nắm chắc cú pháp các câu lệnh, phát huy được tính tích cực, chủ động, tự lực, sáng tạo của học sinh; rèn được kỹ năng thực hành thành thạo, biết vận dụng kiến thức, kỹ năng giải quyết các bài toán thực tiễn và nhất là nâng cao được chất lượng học sinh giỏi tin học cấp Huyện
Với những lý do trên khiến tôi quyết định chọn giải pháp: “Phát hiện, sửa
một số lỗi thường gặp của học sinh đội tuyển tin học khi dạy lập trình Pascal”
II MỤC ĐÍCH NGHIÊN CỨU
Với nhiều năm bồi dưỡng đội tuyển học sinh giỏi tin học, tôi nhận thấy rằng trong vòng thi thực hành của hội thi Olympic tin học THCS dạng đề thi có sử dụng ngôn ngữ lập trình Pascal để giải các bài toán là không thể thiếu Đây là một dạng bài khó Gặp dạng toán này, phần lớn học sinh rất lúng túng và mất nhiều thời gian để cố nhớ xem bài này đã được thầy, cô giáo làm như thế nào, học sinh rất khó hình dung ra cách giải (thuật toán) cũng như cách trình bày đúng Với phần lập trình viết trên ngôn ngữ lập trình Pascal chỉ cần sơ xuất nhỏ như: thiếu dấu phẩy, dấu chấm, dấu mở ngoặc hoặc dấu chấm phẩy… chứ chưa nói đến thuật toán có đúng hay không thì cũng sinh ra lỗi và máy không chạy được Như vậy, với vòng thi lý thuyết các em đạt điểm cao nhưng vòng thi thực hành để đạt được điểm cao là rất khó
Mục tiêu đặt ra là: “Phát hiện, sửa một số lỗi thường gặp của học sinh
đội tuyển tin học khi dạy lập trình Pascal”
III ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU
1 Đối tượng
- Một số lỗi trong bài toán lập trình pascal của học sinh đội tuyển tin học
Trang 52 Phạm vi
- Sáng kiến được nghiên cứu ở các đội tuyển tin học của nhà trường và đội tuyển tin học trẻ của huyện năm học 2022-2023
IV NHIỆM VỤ NGHIÊN CỨU
Nhằm giúp học sinh tìm ra được lỗi sai thường gặp khi viết chương trình trên ngôn ngữ lập trình pascal và biết sửa các lỗi này, nâng cao thêm về mặt kiến thức, kỹ năng thực hành, vận dụng giải quyết được các bài toán hướng đến đạt kết quả cao nhất trong các kỳ thi Olympic Tin học Nâng cao chất lượng và hiệu quả đối với công tác bồi dưỡng học sinh giỏi tin học cấp huyện và cấp tỉnh
V PHƯƠNG PHÁP NGHIÊN CỨU
- Phương pháp thực hành
VI NHỮNG ĐÓNG GÓP MỚI CỦA SÁNG KIẾN
“Phát hiện, sửa một số lỗi thường gặp của học sinh đội tuyển tin học khi dạy lập trình Pascal”
PHẦN II NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU
I CƠ SỞ LÍ LUẬN VÀ THỰC TIỄN
1 CƠ SỞ LÍ LUẬN
Phương pháp được hiểu là con đường, là cách thức để đạt những mục tiêu nhất định
Phương pháp dạy học là cách thức hoạt động và giao lưu của thầy gây nên những hoạt động và giao lưu cần thiết của trò nhằm đạt được mục tiêu dạy học
Phương pháp nâng cao chất lượng là cách thức tiến hành các hoạt động dạy học để nâng cao quá trình tiếp thu bài của học sinh
2 CƠ SỞ THỰC TIỄN
- Lập trình Pascal là nội dung khó, tư duy trừu tượng để học sinh học tập
Trang 6tốt cần người giáo viên phải có những phương pháp dạy học tích cực, đổi mới phù hợp với đối tượng học sinh, điều kiện, phương tiện, thiết bị dạy và học của nhà trường, giáo viên và học sinh
II THỰC TRẠNG CỦA SÁNG KIẾN.
1 Ưu Điểm
- Về phía nhà trường: Cán bộ quản lý nhà trường quan tâm, tạo điều kiện thuận lợi cho giáo viên và học sinh về cơ sở vật chất – thiết bị dạy học, chỉ đạo chuyên môn sát sao, kịp thời triển khai các văn bản chỉ đạo, hướng dẫn về công tác bồi dưỡng học sinh giỏi (BDHSG) cấp huyện Luôn quan tâm, giúp đỡ, động viên khuyến khích giáo viên thực hiện các giải pháp đổi mới nâng cao chất lượng BDHSG
- Về cơ sở vật chất: Có các thiết bị tương đối đảm bảo cho dạy bồi dưỡng các đội tuyển tin học (Máy chiếu, Smart TV, máy tính có kết nối internet…) Nhà trường có 2 phòng máy tính phục vụ cho dạy và học tin học
- Về học sinh đối với đối tượng học sinh khá giỏi, đa phần các em rất hào hứng với việc lập trình, cụ thể là ngôn ngữ lập trình Pascal Với những đề thi đã được học và luyện nhiều lần các em làm bài rất tốt và nhanh Những bài các em
đã học thuộc thì bài làm đúng như đáp án đến từng dấu, chấm dấu phẩy Nhất là các em đội tuyển tin 6 được thầy cho học thuộc các hàm như hàm kiểm tra số nguyên tố, hàm đếm số các số, hàm tính tổng các chữ số của một số… để giải quyết một số bài toán, do được học thuộc nhiều dạng bài và đề thi cũng tương tự nên qua một số kì thi học sinh các đội tuyển đạt được kết quả khá cao
2 Hạn chế và nguyên nhân hạn chế
2.1 Giáo viên
- Biện pháp cũ thường làm là cho học sinh học thuộc các bài mà thầy cô đã dạy và luyện lại các đề thi nhiều lần
- Bản thân giáo viên còn chưa nhận thức được môn học lập trình Pascal đòi hỏi người thầy phải hướng học sinh đến tư duy, sáng tạo và đặc biệt là khả năng
tự học tự nghiên cứu Chưa hướng dẫn học sinh vẫn dụng kiến thức đã học giải quyết những bài toán phát triển từ bài toán đã có, đồng thời phát hiện và sửa các lỗi của chương trình
2.2 Học sinh
Trang 7- Chú trọng học thuộc các bài thầy cô đã dạy từ dấu chấm, dấu phẩy nên không biết dịch và sửa lỗi Khi đi thi các em mất nhiều thời gian để nhớ lại xem những bài nào đã được học thuộc
- Khả năng tư duy, sáng tạo bị hạn chế do cách học thụ động dẫn dến sai thuật toán
- Với học sinh đội tuyển tin, nội dung học lập trình Pascal là một nội dung
lạ với nhiều khái niệm, thuật ngữ, cấu trúc dữ liệu mà học sinh tiếp xúc lần đầu Chính vì vậy mà học sinh dễ mắc sai lầm khi lập trình giải quyết các bài toán Nguyên nhân dẫn đến những khó khăn mà học sinh thường gặp là rất phong phú nhưng có thể thấy một số nguyên nhân chính sau đây:
+ Học sinh thường gặp khó khăn khi xác định bài toán
+ Khó liên hệ phương pháp giải một bài toán trong toán học với thuật giải trong tin học
+ Thụ động, chỉ học thuộc các bài giải sẵn
+ Không nhận biết được lỗi xảy ra hoặc không biết cách sửa lỗi
=> Yêu cầu đặt ra: Tìm ra một số lỗi phổ biến các em thường mắc phải
và cách sửa các lỗi này
III CÁC GIẢI PHÁP THỰC HIỆN
Dựa trên nhưng thuận lợi có được, tôi đã xây dựng và thực hiện các giải pháp để hướng tới giải quyết mục tiêu đã đặt ra ban đầu: Hướng dẫn học sinh đội tuyển
tin học phát hiện và sửa “Một số lỗi sai thường gặp trong lập trình Pascal”
1 Biện pháp 1: Chưa hiểu thứ tự ưu tiên phép toán
*Trong một biểu thức pascal, thứ tự ưu tiên của các phép toán được liệt kê theo thứ tự sau:
• Lời gọi hàm
• Dấu ngoặc ()
• Phép toán một ngôi (NOT, -)
• Phép toán *, /, DIV, MOD, AND
• Phép toán +, -, OR, XOR
• Phép toán so sánh =, <, >, <=, >=, <>, IN
Ví dụ 1: Viết chương trình nhập vào một số nguyên dương n từ bàn phím
sao cho 4 < n ≤1000000, tính tổng S và in kết quả ra màn hình (lấy đến 3 chữ số phần thập phân)
Trang 8
1
N N S
+
Ví dụ:
- Khi chạy chương trình của học sinh không báo lỗi sai mà cho ra kết quả của bài toán sai Các em mắc lỗi sai khi chuyển từ biểu thức toán học sang biểu thức Pascal không thực hiện đúng thứ tự ưu tiên các phép toán trong pascal ở phép chia của tử số cho mẫu số (tử số chỉ chia cho (i+2), không chia cho (i+3)), do chủ quan
từ việc máy đã tính ra kết quả và học sinh không kiểm tra lại bằng máy tính cầm tay Để sửa lỗi sai này, giáo viên yêu cầu các em thực hiện đúng thứ tự ưu tiên các phép toán trong pascal, sau đó dùng máy tính cầm tay để tính kết quả trên giấy bút đối chiếu với kết quả của chương trình từ đó sửa lại thứ tự thực hiện các phép toán trong pascal cho đúng
Program bai1;
Uses crt;
Var
N,i:word;
S:real;
Begin
Clrscr;
Repeat
Write(‘Nhap n=’); readln(n);
Until (n>4) and (n<=100);
S:=0;
For i:=1 to n do
S := s + i*(i+1)/(i+2)*(i+3);
Write(‘Tong la: ’,s:6:3);
Readln;
End
Program bai1;
Uses crt;
Var
N,i:word;
S:real;
Begin
Clrscr;
Repeat
Write(‘Nhap n=’); readln(n); Until (n>4) and (n<=100);
S:=0;
For i:=1 to n do
S := s + i*(i+1)/((i+2)*(i+3));
Write(‘Tong la: ’,s:6:3);
Readln;
End
Trang 92 Biện pháp 2: Sử dụng dấu “;” sai vị trí
- Trước Else không có dấu chấm phẩy Đây là lỗi thường gặp với học sinh mới học lập trình Pascal (đội tuyển tin 6) Các em cho rằng đã hết câu nên đặt dấu
chấm phẩy Chương trình sẽ báo lỗi ở vị trí trước Else
- Cách sửa: Xóa dấu “;” trước Else
Ví dụ 2: Tuổi cha hiện nay là b tuổi, tuổi con là c tuổi (b-c>0, và b, c là các
số nguyên dương) Hãy viết chương trình (với b, c được nhập từ bàn phím) để kiểm tra xem tuổi cha có gấp đôi tuổi con hay không? Nếu đúng thì đưa ra màn hình thông báo “hiện nay tuổi cha gấp đôi tuổi con”; trường hợp ngược lại, hãy tính số năm (trước đó hoặc sau đó) tuổi cha gấp đôi tuổi con và đưa ra thông báo
“số năm trước đây tuổi cha gấp đôi tuổi con” hay “số năm sau tuổi cha sẽ gấp đôi tuổi con”
- Khi viết chương trình giải bài toán trên học sinh sẽ mắc lỗi với dấu “ ; ” trước Else
- Giáo viên: hướng dẫn học sinh phát hiện lỗi sai sau khi chạy chương trình Vị
trí con trỏ báo lỗi trước “Else” và cách khắc phục xoá dấu “ ; ” trước Else
Chương trình như sau:
Program so_sanh_tuoi;
Uses crt;
Var b,c: Integer;
Begin
Clrscr;
Repeat
Write(‘Nhap tuoi cha:’);
Readln(b);
Write(‘Nhap tuoi con:’);
Readln(c);
If (b-c<=18) and (b<0) and (c<0)
then write(‘ban phai nhap lai’);
Until ((c>0) and (b>c) and
(b-c>18));
If b=2*c then writeln(‘hien nay
tuoi cha gap doi tuoi con’);
Else
Program so_sanh_tuoi;
Uses crt;
Var b,c: Integer;
Begin Clrscr;
Repeat Write(‘Nhap tuoi cha:’);
Readln(b);
Write(‘Nhap tuoi con:’);
Readln(c);
If (b-c<=18) and (b<0) and (c<0) then write(‘ban phai nhap lai’); Until ((c>0) and (b>c) and (b-c>18));
If b=2*c then writeln(‘hien nay tuoi cha gap doi tuoi con’)
Else
If b>2*c then writeln(‘sau’,b-2*c,
‘nam tuoi cha gap doi tuoi con’)
Trang 10If b>2*c then writeln(‘sau’,
b-2*c, ‘nam tuoi cha gap doi tuoi
con’);
Else
Writeln(2*c-b,’ nam truoc day
tuoi cha gap doi tuoi con’);
Readln
End
Else
Writeln(2*c-b,’ nam truoc day tuoi cha gap doi tuoi con’);
Readln End
3 Biện pháp 3: Không phân biệt được hằng xâu và biến
- Đến đây thì các em học sinh đã không mắc lỗi với dấu “;” trước Else,
tuy nhiên trong chương trình học sinh cần phải chú ý hằng xâu đặt trong cặp nháy đơn còn biến thì không cần đặt trong cặp nháy đơn
Ví dụ 3: Viết chương trình nhập vào họ tên, điểm văn, điểm toán, điểm
anh văn của 1 học sinh Sau đó in ra màn hình: họ tên, điểm trung bình, xếp lọai của học sinh đó (trên 1 dòng) Cho biết:
- Điểm trung bình = (điểm văn + điểm toán + điểm anh văn) / 3
- Xếp loại:
+ Giỏi, nếu điểm trung bình >= 9.0 và không có điểm dưới 6.5;
+ Khá, nếu 7.0 <= điểm trung bình < 9.0 và không có điểm dưới 5;
+ Trung bình, nếu 5.0 <= điểm trung bình < 7.0 và không có điểm dưới 3.5; + Yếu, nếu điểm trung bình < 5.0
- Trong chương trình trên học sinh thường không đặt hằng xâu vào trong nháy đơn mà viết như với biến chương trình Giáo viên cần hướng dẫn học sinh đưa hằng xâu vào trong nháy đơn để chương trình đúng:
Program Xep_loai_HS;
Uses crt;
Var t,v,a,dtb,min: real;
Xl:string;
Write(‘moi nhap diem toan:’);
Readln(t);
Write(‘moi nhap diem van:’);
Readln(v);
Write(‘moi nhap diem anh
van:’); Readln(a);
dtb:=(t+v+a)/3;
Program Xep_loai_HS;
Uses crt;
Var t,v,a,dtb,min: real;
Xl:string;
Write(‘moi nhap diem toan:’); Readln(t);
Write(‘moi nhap diem van:’); Readln(v);
Write(‘moi nhap diem anh van:’) Readln(a);