***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
MỤC LỤC
Trang
1. Đặt vấn đề..................................................................................................... 03
1.1. Lý do chọn đề tài:.....................................................................................03
1.2. Xác định mục đích nghiên cứu................................................................04
1.3. Đối tượng nghiên cứu..............................................................................04
1.4. Đối tượng khảo sát, thực nghiệm.............................................................04
1.5. Phương pháp nghiên cứu..........................................................................04
1.6. Phạm vi và thời gian nghiên cứu (bắt đầu, kết thúc)................................05
2. Nội dung........................................................................................................06
2.1. Những nội dung lý luận có liên quan trực tiếp đến vấn đề nghiên cứu.. .06
2.2. Thực trạng vấn đề nghiên cứu..................................................................06
2.3. Mô tả, phân tích các giải pháp (hoặc biện pháp, các cách ứng dụng, cách
làm mới).............................................................................................................07
2.3.1. Giải pháp chung bồi dưỡng học sinh giỏi môn Tin học cấp THCS đạt
hiệu quả..............................................................................................................07
2.3.1.1. Điều tra, phát hiện chọn đối tượng học sinh để bồi dưỡng:........07
2.3.1.2. Lập kế hoạch bồi dưỡng học sinh giỏi:.......................................07
2.3.1.3. Hướng dẫn các nội dung kiến thức cần bồi dưỡng cho học sinh:08
2.3.1.4. Quán triệt đổi mới phương pháp dạy học tích cực, rèn luyện khả
năng tự học cho học sinh.....................................................................................08
2.3.1.5. Cơ sở vật chất phục vụ dạy bồi dưỡng học sinh giỏi:.................09
2.3.1.6. Xã hội hoá công tác bồi dưỡng đội ngũ học sinh giỏi:................09
2.3.2. Một số biện pháp và hình thức bồi dưỡng.......................................10
2.3.2.1. Đặc trưng bộ môn......................................................................10
2.3.2.2. Xây dựng các chuyên đề để giảng dạy.......................................11
2.3.2.2.1. Giáo viên đưa ra từng chuyên đề........................................11
2.3.2.2.2 Thảo luận trao đổi, giải đáp thắc mắc..................................23
2.3.2.3. Xây dựng bộ đề để khảo sát......................................................23
2.4. Kết quả thực hiện:............................................37
3. Kết luận và khuyến nghị..............................................................................39
3.1. Những kết luận đánh giá cơ bản nhất về sáng kiến..................................39
3.2. Các đề xuất khuyến nghị..........................................................................40
Phụ lục41
Tài liệu tham khảo............................................................................................60
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 2
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
1. Đặt vấn đề.
1.1. Lý do chọn đề tài:
1.1.1. Cơ sở lý luận:
Nghị quyết số 40/2000/QH10 và chỉ thị 14/2001/CT-TTg ngày 9/12/2000
về việc đổi mới chương trình giáo dục phổ thông: Nội dung chương trình là tích
cực áp dụng một cách sáng tạo các phương pháp tiên tiến, hiện đại, ứng dụng
công nghệ thông tin vào dạy và học.
Thông tư số 14/2002/TT-BGD&ĐT ngày 1/4/2002 về việc hướng dẫn quán
triệt chủ trương đổi mới giáo dục phổ thông.
Chỉ thị số 29/2001/CT-BGD&ĐT của bộ GD&ĐT về tăng cường giảng
dạy, đào tạo và ứng dụng CNTT trong ngành giáo dục đã chỉ rõ: Nâng cao nhận
thức về vai trò của CNTT, ứng dụng và phát triển CNTT trong GD&ĐT sẽ tạo
một bước chuyển cơ bản trong quá trình đổi mới nội dung, chương trình,
phương pháp giảng dạy, học tập và quản lý giáo dục.
Nghị quyết số 29-NQ/TW “về đổi mới căn bản, toàn diện giáo dục và đào
tạo, đáp ứng yêu cầu công nghiệp hóa, hiện đại hóa trong điều kiện kinh tế thị
trường định hướng xã hội chủ nghĩa và hội nhập quốc tế" đã được hội nghị
trung ương 8 (khóa XI) thông qua.
1.1.2. Cơ sở thực tiễn:
Từ nhiều năm nay, ở trường tôi, ban giám hiệu vẫn thường xuyên tập trung
chỉ đạo công tác bồi dưỡng học sinh giỏi, làm nòng cốt cho việc nâng cao chất
lượng giáo dục trong nhà trường. Hàng năm, nhà trường đã chỉ đạo tổ chuyên
môn xây dựng kế hoạch ở từng môn học, có đặt ra chỉ tiêu phấn đấu cụ thể, phân
công giáo viên kèm cặp, giúp đỡ những học sinh trong đội tuyển đi thi học sinh
giỏi cấp Huyện, học sinh giỏi cấp Tỉnh. Qua việc tuyển chọn của giáo viên tìm ra
đối tượng học sinh cần bồi dưỡng để bổ sung, vũ trang thêm những nội dung kiến
thức cần thiết giúp các em đi sâu học tập nâng cao kiến thức ở những môn thi học
sinh giỏi. Nhà trường cũng đã hướng dẫn giáo viên những yêu cầu kiến thức, lập
kế hoạch bồi dưỡng học sinh. Phối hợp với hội cha mẹ học sinh, hội khuyến học
kịp thời động viên khen thưởng thúc đẩy phong trào. Công tác chỉ đạo của nhà
trường được đề ra trong từng đợt bồi dưỡng học sinh giỏi, đã thu được một số kết
quả khả quan.
Tuy vậy chất lượng thi học sinh giỏi các đợt ít giải cao, số lượng học sinh
giỏi môn Tin học không nhiều. Quá trình tổ chức thực hiện vẫn còn có những bất
cập. Trước hết là kinh nghiệm dạy đội tuyển học sinh giỏi chưa hợp lý. Việc đầu
tư nghiên cứu tài liệu, đầu tư thời gian bồi dưỡng nâng cao kiến thức cho học sinh
ở giáo viên còn ít. Vấn đề điều tra, khảo sát, phân loại đối tượng, phát hiện năng
khiếu ở học sinh chưa làm tốt.
Về phía đội ngũ học sinh của trường thì đại đa số là con em các gia đình làm
nghề nông, kinh tế gặp nhiều khó khăn, việc đầu tư, chăm lo cho con cái học tập
tuy có cố gắng song chưa đáp ứng kịp với yêu cầu đổi mới, nội dung chương
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 3
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
trình, phương pháp giáo dục hiện nay. Sự phối hợp giữa gia đình - nhà trường tuy
có được cải thiện song chưa thực sự đi vào chiều sâu (có học sinh được chọn vào
đội tuyển để bồi dưỡng dự thi ở cấp huyện mà không được cha mẹ học sinh quan
tâm để cùng với nhà trường lo cho việc học của con cái mình. Điều đó đã làm
phiền lòng các thầy cô giáo trực tiếp giảng dạy, kết quả học tập của các em vì thế
không cao.
* Xuất phát từ những lý do cơ bản trên, tôi lựa chọn đề tài nghiên cứu
“Một số giải pháp nâng cao hiệu quả bồi dưỡng HSG môn Tin học cấp THCS”
1.2. Xác định mục đích nghiên cứu.
Công tác bồi dưỡng học sinh giỏi là một công tác rất khó khăn và phức tạp.
Vì vậy, tôi nghiên cứu đề tài này với mục đích tìm ra những giải pháp, hình thức
bồi dưỡng nhằm đạt hiệu quả cao. Đồng thời còn nâng cao chất lượng giảng dạy,
trình độ chuyên môn nghiệp vụ cho giáo viên. Làm tốt công tác này, sẽ kích thích
mạnh mẽ ý thức tự giác, lòng say mê và ý chí vươn lên trong học tập, tu dưỡng
của học sinh nói chung .
Là giáo viên môn Tin học tôi luôn trăn trở làm thế nào để học sinh hiểu và
yêu thích môn học, tích cực và hứng thú trong từng tiết học, đặc biệt hơn là đào
tạo các em có kỹ năng lập trình tốt, một tư duy năng động. Điều trăn trở đó chỉ
được thực hiện khi đổi mới cách thức tổ chức hoạt động học tập của học sinh.
Việc tổ chức hoạt động dạy học nhằm phát huy tích tích cực của học sinh là một
trong những nhiệm vụ của năm học, năm học với chủ đề “trường học thân thiện,
học sinh tích cực”. Là giáo viên trực tiếp đứng lớp tôi không ngừng phấn đấu trau
dồi kiến thức chuyên môn, nghiệp vụ, kiến thức các môn liên quan, thường xuyên
học hỏi kinh nghiệm để hoàn thiện hơn trong quá trình giảng dạy. Trong quá trình
giảng dạy bản thân đã rút ra kinh nghiệm nhỏ trong việc bồi dưỡng học sinh giỏi .
Đó chính là: “Một số giải pháp nâng cao hiệu quả bồi dưỡng học sinh giỏi
môn Tin học cấp THCS” muốn chia sẻ với quý đồng nghiệp cùng tham khảo và
có ý kiến xây dựng để góp phần nâng cao hiệu quả của nhiệm vụ bồi dưỡng học
sinh giỏi, tạo động lực thúc đẩy chất lượng đại trà và mũi nhọn là mục đích tôi
muốn trình bày.
1.3. Đối tượng nghiên cứu.
Đối tượng bồi dưỡng ở đây không phải là học sinh lớp chuyên, trường
chuyên mà là học sinh ở các trường đại trà, đặc biệt là trường nằm trên địa bàn
một xã đặc biệt khó khăn vùng bãi ngang ven biển, còn gặp nhiều khó khăn
1.4. Đối tượng khảo sát, thực nghiệm.
Học sinh lớp 8, 9 tại trường THCS Cát Chánh và đội tuyển HSG bồi dưỡng
tại trường và tại huyện.
1.5. Phương pháp nghiên cứu.
Phương pháp chủ yếu khảo sát, nắm bắt tình hình thực tiễn và đúc kết, rút
kinh nghiệm thực tiễn giảng dạy hàng năm để tìm ra giải pháp chung.
1.6. Phạm vi và thời gian nghiên cứu (bắt đầu, kết thúc).
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 4
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
1.6.1. Phạm vi nghiên cứu:
Bồi dưỡng học sinh giỏi là một việc làm cần thiết đối với tất cả các khối
lớp trong nhà trường THCS, ở đây tôi chỉ nghiên cứu trong phạm vi hẹp. Đó là
bàn về một số giải pháp chung, biện pháp và hình thức bồi dưỡng học sinh giỏi,
cụ thể là bồi dưỡng học sinh giỏi Tin học lớp 8, 9 ở trường THCS Cát Chánh.
1.6.2. Thời gian nghiên cứu:
Bắt đầu: tháng 05 năm 2012
Kết thúc: tháng 05 năm 2016
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 5
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
2. Nội dung.
2.1. Những nội dung lý luận có liên quan trực tiếp đến vấn đề nghiên cứu.
Sự nghiệp công nghiệp hóa - hiện đại hóa đất nước luôn đòi hỏi phải có
một đội ngũ đi trước giàu tài năng, sức sáng tạo. Trong các chủ trương nghị
quyết về giáo dục, đào tạo, Đảng, Nhà nước ta luôn quan tâm đến nhiệm vụ bồi
dưỡng các tài năng trẻ, nhằm tạo dựng đội ngũ nhân tài cho đất nước
Đảng ta quan niệm “ Hiền tài là nguyên khí của quốc gia” và rất coi trọng
việc bồi dưỡng nhân tài cho đất nước. Bộ giáo dục và đào tạo cũng có những
chủ trương mới về công tác bồi dưỡng học sinh giỏi. Đó là tiếp tục chú trọng
xây dựng hệ thống các trường chuyên một cách hoàn thiện hơn, khuyến khích và
tôn vinh các học sinh xuất sắc đạt thành tích cao.
Nghị quyết TW2 - khoá VIII của Đảng coi trọng vấn đề đầu tư cho chiến
lược nhân tài, bồi dưỡng khả năng tư duy sáng tạo, kỹ năng thực hành giỏi, giúp
thế hệ trẻ rèn luyện trở thành những con người vừa "hồng" vừa "chuyên" như
lời căn dặn của Bác Hồ kính yêu.
2.2. Thực trạng vấn đề nghiên cứu.
Trong thực tiễn giảng dạy ở các nhà trường nói chung, trường THCS nói
riêng mà trực tiếp là ở đơn vị tôi (nơi thực hiện đề tài này), việc bồi dưỡng đội
ngũ học sinh giỏi đủ mạnh để làm nòng cốt nâng cao chất lượng học tập của học
sinh luôn gặp không ít khó khăn - đó là bài toán khó mà tôi đã tập trung giải
quyết từ nhiều năm nay. Trong quá trình thực hiện vẫn còn nhiều khâu, nhiều
chỗ chưa tốt, vì vậy hiệu quả phong trào xây dựng bồi bưỡng học sinh giỏi chưa
cao, chưa phát huy hết tiềm năng vốn có và những thuận lợi cho phép.
Mặc dù thực tế cho thấy, việc tạo dựng đội ngũ học sinh mũi nhọn đặt nền
móng phát triển cho những tài năng giảng dạy của giáo viên, sự quan tâm của
gia đình học sinh, các đoàn thể còn có những mặt hạn chế, tiềm năng ở học sinh
còn ít. Song tôi nghĩ rằng, nếu biết phát huy những thuận lợi, tháo gỡ khó khăn
để đẩy mạnh phong trào, biết tìm ra những giải pháp hay để giải bài toán học
sinh giỏi (như đã nêu trên) thì kết quả đạt được sẽ khả quan hơn. Việc làm này,
những đồng nghiệp của tôi cũng đã quan tâm thực hiện nhưng vẫn còn có nhiều
ách tắc chưa giải quyết triệt để. Đó cũng chính là lí do khiến tôi chọn đề tài này
để nghiên cứu.
Trong những năm vừa qua với yêu cầu thực tế của xã hội. Sự phát triển của
đất nước việc đào tạo nguồn nhân lực trẻ cho đất nước ngày càng được chú
trọng. Muốn có nguồn nhân lực này thì việc bồi dưỡng thế hệ trẻ càng được coi
trong hơn. Chính vì thế việc đào tạo học sinh giỏi nhân tố quyết định cho tương
lai của đất nước sau này.
Thực tế là những năm gần đây chính sách của nhà nước ta đã quan tâm đến
chất lượng đại trà trong giảng dạy nhưng bên cạnh đó việc bồi dưỡng học sinh
có năng lực cũng là mục tiêu của nhà trường. Vì vậy, việc nghiên cứu đề tài
nhằm giải quyết những khó khăn, tồn tại trong công tác bồi dưỡng học sinh giỏi
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 6
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
tại nhà trường tôi, góp phần nâng cao hiệu quả của nhiệm vụ bồi dưỡng học sinh
giỏi, tạo động lực thúc đẩy chất lượng đại trà là mục tiêu tôi muốn trình bày. Đó
chính là: “Một số giải pháp nâng cao hiệu quả bồi dưỡng học sinh giỏi môn
Tin học cấp THCS”. Tôi rất mong được sự đóng góp ý kiến để tôi có thể hoàn
thành tốt hơn nữa trong quá trình công tác sau này.
2.3. Mô tả, phân tích các giải pháp (hoặc biện pháp, các cách ứng dụng,
cách làm mới).
2.3.1. Giải pháp chung bồi dưỡng học sinh giỏi môn Tin học cấp THCS
đạt hiệu quả
2.3.1.1. Điều tra, phát hiện chọn đối tượng học sinh để bồi dưỡng:
Đây là công việc đầu tiên của người giáo viên dạy bồi dưỡng. Mỗi giáo
viên phải nắm được năng lực của từng học sinh trong đội tuyển: năng lực hiểu
thuật toán, năng lực phân tích thuật toán, năng lực sáng tạo...Công việc này được
tiến hành bằng cách giáo viên tổ chức cho học sinh làm bài kiểm tra tại lớp. Sau
khi đã có bài giáo viên chấm chữa bài cho học sinh lấy kết quả, phân loại chất
lượng học sinh để có kế hoạch bồi dưỡng.
Sở dĩ phải có bước này bởi một yêu cầu đối với học sinh giỏi là phải nắm
vững kiến thức cơ bản cái gọi là phần ''Nền, rồi mới khơi gợi và nuôi dưỡng, phát
triển tư duy sáng tạo, lòng yêu mến lập trình. Đây là biện pháp có tính phương
pháp, thậm chí gần như một nguyên tắc trong dạy cho học sinh giỏi.
Việc làm đầu tiên trong việc phát hiện những học sinh năng khiếu, có khả
năng học tốt ở bộ môn Tin học. Cách tiến hành như sau:
Đối tượng học sinh được phân loại để tiếp tục bồi dưỡng theo hướng
nâng cao là các em học Tin học khá bộ môn trở lên.
Việc bồi dưỡng học sinh giỏi phải gắn liền với giáo dục tư tưởng, đạo đức,
các em vừa được bồi dưỡng và phát huy năng khiếu vừa được có ý thức học tập
và học tập nghiêm túc các môn học khác.
Tránh các khuynh hướng ''Nuôi gà chọi’’, ''Thành tích chủ nghĩa’’, ''Tính
thời vụ’’.
Phải động viên được sự quan tâm của tập thể học sinh, nhất là giúp đỡ,
động viên của gia đình và các đoàn thể địa phương đối với việc bồi dưỡng học
sinh năng khiếu. Đồng thời bản thân học sinh có năng khiếu, phải phát huy được
vai trò tích cực đối với việc học tập của tập thể.
2.3.1.2. Lập kế hoạch bồi dưỡng học sinh giỏi:
Trên cơ sở phân loại khá chính xác, tôi đã xây dựng kế hoạch, xác định
chỉ tiêu học sinh mũi nhọn cần phấn đấu. Sau đó lập danh sách cụ thể đối tượng
cần bồi dưỡng, tôi tiến hành lập kế hoạch bồi dưỡng. Yêu cầu trước hết là việc
dạy học ở mỗi tiết dạy có phần câu hỏi, bài tập.
Những học sinh có khả năng tuyển chọn vào các đội tuyển dự thi được bồi
dưỡng thêm (chủ yếu là kỹ năng tư duy sáng tạo) ở một số buổi trong tuần
(thường là 3 tiết/tuần ở mỗi môn theo quy định của nhà trường), nhưng bản thân
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 7
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
tôi thường bồi dưỡng 6 tiết/tuần nhằm hướng dẫn học sinh chu đáo hơn, ngoài ra
để kịp thời giải đáp những thắc mắc của học sinh một cách kịp thời.
2.3.1.3. Hướng dẫn các nội dung kiến thức cần bồi dưỡng cho học
sinh:
Trên cơ sở kế hoạch thời gian, đối tượng cần bồi dưỡng, tôi chú trọng
phần hướng dẫn các nội dung kiến thức trọng tâm cần nâng cao cho học sinh.
Trước hết phải giúp học sinh nắm chắc kiến thức cơ bản ở mỗi chương, bài. Trên
cơ sở đó, đặt yêu cầu cần đi sâu mở rộng cho HS. Việc này chủ yếu phải thực hiện
ở các giờ học chính khoá.
Trong các tiết dạy bồi dưỡng, giáo viên tập trung hệ thống kiến thức một
cách lôgíc, vững chắc. Rèn kỹ năng, rèn các thao tác tư duy, phân tích đề, tính
sáng tạo.
Giáo viên chuẩn bị đề cương bồi dưỡng, nếu cần đưa ra nhóm bộ môn
thảo luận, thống nhất, giám hiệu duyệt đề cương. Giám hiệu, tổ chuyên môn phổ
biến các yêu cầu về tài liệu ở mỗi môn để giáo viên tiện nghiên cứu, sử dụng. Ví
dụ: Tài liệu: Yêu cầu thực hiện là đảm bảo được mức tiếp thu ở học sinh, biết rõ
những lỗ hổng kiến thức cần bổ sung cho các em, tránh quá tải gây sức ép, làm
mệt mỏi học sinh theo kiểu nhồi nhét nhiều kiến thức khó cho các em; phải áp
dụng phương châm "mưa dầm, thấm sâu".
2.3.1.4. Quán triệt đổi mới phương pháp dạy học tích cực, rèn luyện
khả năng tự học cho học sinh:
Đối với công tác bồi dưỡng học sinh giỏi thì việc đổi mới phương pháp
dạy học càng phái quán triệt.
Đối tượng học sinh ở đây là những em khá, giỏi, có khả năng tiếp thu
nhanh. Tuy nhiên, nếu giáo viên không có phương pháp giảng dạy tốt cũng dễ gây
ức chế, nhàm chán ở các em. Cũng có em thiếu tự tin trong học tập. Gặp những
đối tượng đó, giáo viên cần biết rõ tâm lý học sinh, xác định phương pháp phù
hợp, linh hoạt
Một số phương pháp dạy học sinh giỏi tôi đã áp dụng trong quá trình bồi
dưỡng, đó là:
- Dạy học nêu vấn đề
- Sân chơi bộ môn.
- Ra bài tập, câu hỏi hướng dẫn học sinh tự học ở nhà và kiểm tra việc học
của các em ở nhà. Đặc biệt môn tin học cần nhiều thời gian tự thực hành trên máy
vi tính, nếu chỉ học ở trên trường không thì chưa đủ.
- Dạy học theo kiểu chương trình mở.
- Đặc biệt là rèn luyện tính tự học, phương pháp tự học cho học sinh, rèn
luyện tính kiên trì, tính thi đua ở các em.
- Giáo viên và học sinh trao đổi những bài thực hành trực tiếp qua hệ
thống thư điện tử, giáo viên sửa lỗi lập trình, hướng dẫn thêm nhiều phương pháp
viết trong bài lập trình.
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 8
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
Song song với đổi mới phương pháp dạy học là việc đổi mới các yêu cầu
đánh giá học sinh, giáo viên phải chú ý làm tốt yêu cầu đánh giá học sinh.
2.3.1.5. Cơ sở vật chất phục vụ dạy bồi dưỡng học sinh giỏi:
Đặc thù bộ môn Tin học, song song với hoạt động hướng dẫn lý thuyết,
học sinh cần phải được áp dụng ngay vào bài tập thực hành. Kỹ năng lập trình, tư
duy sáng tạo của mỗi em chỉ được thể hiện trong quá trình thực hành.
Từ việc sắp xếp phòng học đến tài liệu phục vụ cho bồi dưỡng học sinh
giỏi, tài liệu tham khảo cho giáo viên phải đầy đủ. Ngoài SGK, sách bài tập, tôi
mua sắm các tài liệu nâng cao ở nghiên cứu mở rộng kiến thức bồi dưỡng học
sinh, ngoài ra tôi còn thường xuyên tra cứu tài liệu trên mạng Internet tìm kiếm
thông tin phục vụ quá trình giảng dạy.
Thường xuyên trao đổi chuyên môn với các bạn đồng nghiệp trên địa bàn.
2.3.1.6. Xã hội hoá công tác bồi dưỡng đội ngũ học sinh giỏi:
Tôi xác định việc bồi dưỡng học sinh giỏi không là việc riêng của nhà
trường. Bởi vậy, phải phối hợp tốt với các gia đình học sinh để kèm cặp, đầu tư
cho học Tin học tập
Các em học sinh đội tuyển cần phải học nhiều hơn, cần sự sắp xếp thời
gian, động viên từ phía gia đình các em. Tôi đã đến từng gia đình có con em tham
gia trong đội tuyển, nhờ gia đình động viên và tạo điều kiện cho các em có thời
gian đầu tư vào quá trình ôn luyện.
Công tác chỉ đạo, nâng cao hiệu quả bồi dưỡng học sinh giỏi cả về số
lượng và chất lượng luôn được Đảng, Nhà nước và ngành giáo dục chú trọng.
Dưới ánh sáng nghị quyết TW2 - khoá VIII, yêu cầu của nhiệm vụ bồi dưỡng tạo
dựng đội ngũ tài năng cho tương lai phải được xác định rõ hơn, không cho phép
việc thành lập các trường chuyên, lớp chọn, kết quả đội tuyển cũng là kết quả của
phong trào "hai tốt" ở các nhà trường, nó gắn liền với việc nâng cao chất lượng
đại trà, giáo dục toàn diện đối với học sinh.
Về cấu trúc, học sinh giỏi phải đạt được 3 yêu cầu:
- Có năng lực tư duy tốt, thông minh (óc tưởng tượng, suy diễn, quy nạp,
khái quát hoá tốt).
- Có phẩm chất đạo đức tốt, giàu tính nhân văn, có ý thức vươn lên ham
hiểu biết, tự giác, tích cực học tập.
- Giàu tính sáng tạo.
Quá trình hình thành, phát triển năng khiếu, trí thông minh ở học sinh
thường trải qua ba giai đoạn:
- Giai đoạn Tin học: Hình thành mầm mống, năng khiếu ban đầu.
- Giai đoạn sinh - xã hội học: Bộc lộ phát triển mầm mống năng khiếu
- Giai đoạn xã hội học: thể hiện tài năng, năng khiếu với những điều kiện
xã hội, môi trường tối ưu, thuận lợi.
Do vậy cần biết phát hiện sớm khả năng, sở trường ở học sinh, tạo điều
kiện tốt để các em học tập, phát huy tốt khả năng tư duy, tính sáng tạo, thể hiện
được năng khiếu của mình.
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 9
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
Nhân tài là kết quả của 99% là mồ hôi, nước mắt. Một học sinh vốn thông
minh nhưng không được tôi luyện, kèm cặp, bồi dưỡng thường xuyên thì cũng
khó có thể khẳng định, phát triển được trí thông minh ở các em. Đó cũng là yêu
cầu đặt ra trong quá trình chỉ đạo, bồi dưỡng ở các nhà trường. Nó đòi hỏi sự trăn
trở, lăn lộn ở mỗi giáo viên, đòi hỏi ở sự đổi mới về phương pháp dạy học theo
hướng tích cực, ở năng lực đội ngũ nhà giáo điều kiện phục vụ dạy học và các tác
động, động viên tích cực của toàn xã hội. Đặc biệt là cải tiến khâu bồi dưỡng học
sinh giỏi về phương pháp dạy, nghiên cứu tài liệu, lựa chọn học sinh trong đội
tuyển, tạo động lực, niềm tin cho người dạy, người học
2.3.2. Một số biện pháp và hình thức bồi dưỡng
2.3.2.1. Đặc trưng bộ môn
Hiện nay trong lí luận dạy học nói chung và lí luận dạy học môn Tin học
nói riêng đề cập khá nhiều phương pháp và kĩ thuật dạy học: phương pháp thảo
luận, phương pháp đặt câu hỏi, phương pháp chia nhóm …
Các cách thiết kế bài giảng hiện nay nhằm mục đích áp dụng phương
pháp hiện đại để bồi dưỡng cho học sinh năng lực ham muốn học hỏi, tư duy
sáng tạo, năng lực tự giải quyết vấn đề, rèn luyện và phát triển năng lực tự học
sáng tạo, nghiên cứu, nghĩ và làm việc một cách tự chủ… Đồng thời để thích
ứng với sự phát triển tư duy của học sinh trong xã hội mới và tiếp cận với các
công nghệ tiên tiến trong xã hội, trên thế giới. Bên cạnh đó, trong các kỹ thuật
dạy học mới, vai trò của người thầy có sự thay đổi là: “Hướng dẫn học sinh
biết tự mình tìm ra hướng giải quyết những vấn đề nảy sinh trong quá trình học
tập, biết cách làm việc độc lập, làm việc tập thể. Thầy là người định hướng, là
người cố vấn giúp học sinh tự đánh giá, cũng như giúp học sinh luôn đi đúng
con đường tìm hiểu, lĩnh hội kiến thức…”.
Xuất phát từ thực tiễn giảng dạy tại trường THCS Cát Chánh tôi thấy
rằng, để đạt hiệu quả cao trong các tiết bồi dưỡng học sinh giỏi cách thiết kế bài
giảng cho phù hợp với nội dung kiến thức; phương pháp, phương tiện dạy học
phải phù hợp với học sinh. Để qua mỗi phần học, tiết học học sinh thích thú với
kiến thức mới, qua đó hiểu được kiến thức đã học trên lớp, đồng thời học sinh
thấy được tầm quan trọng của vấn đề và việc ứng dụng của kiến thức trước hết
để đáp ứng những yêu cầu của môn học, sau đó là việc ứng dụng của nó vào các
công việc thực tiển trong đời sống xã hội (nếu có).
Trong thời đại thông tin bùng nổ ngày nay, việc lập được các chương
trình tự hoạt động cho máy tính, máy gia dụng là cần thiết. Và để làm được việc
đó cần có một quá trình nghiên cứu, học tập về ngôn ngữ lập trình lâu dài, qua
đó nhà lập trình có thể chọn một ngôn ngữ lập trình thích hợp. Tuy nhiên mọi
thứ đều có điểm khởi đầu của nó, với học sinh việc học Pascal là khởi đầu cho
việc tiếp cận ngôn ngữ lập trình bậc cao, qua đó giúp các em hình dung được sự
ra đời, cấu tạo, hoạt động cũng như ích lợi của các chương trình hoạt động trong
máy tính, các máy tự động…Quá đó giúp các em có thêm một định hướng, một
niềm đam mê về Tin học, về nghề nghiệp mà các em chọn sau này. Đồng thời
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 10
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
Pascal là một ngôn ngữ có cấu trúc thể hiện trên 3 yếu tố: Cấu trúc về mặt dữ
liệu, cấu trúc về mặt lệnh, cấu trúc về mặt chương trình
2.3.2.2. Xây dựng các chuyên đề để giảng dạy.
2.3.2.2.1. Giáo viên đưa ra từng chuyên đề.
Có rất nhiều chuyên đề trong quá trình ôn luyện, sau đây tôi xin đưa ra
2 chuyên đề cơ bản sau:
a. Chuyên đề 1: Các bước giải một bài toán cho lớp bài toán trên
máy vi tính
Phương pháp cơ bản giải các bài toán trong Tin học không chỉ dùng để
giải một bài toán cụ thể mà còn giải 1 lớp các bài toán cụ thể thuộc cùng một
loại. Bài toán được cấu tạo từ hai yếu tố cơ bản: Thông tin vào (Input) và thông
tin ra (Output). Phương pháp tổng quát để giải một bài toán bằng máy vi tính
dựa trên ngôn ngữ pascal thì cần các bước :
1. Xác định các bài toán.
2. Tìm thuật toán
3. Viết chương trình
4. Chạy thử, sửa đổi chương trình
I- Xác định bài toán:
1. Khái niệm bài toán:
Trong quá trình học người học sinh hay bất kỳ một cá nhân nào luôn
phải liên tục giải quyết các bài toán. Trong cuộc sống là 1 chuỗi các bài toán mà
ta phải đối đầu giải quyết không một chút đơn giản mà nhiều lúc phải bức mình.
Song đối với học sinh lớp 8, 9 do chương trình học toán của các chỉ mới đến giải
phương trình bậc 2. Nên việc đưa các lớp bài toán vào giải cho các em đang còn
một phần nào bị hạn chế. Nhưng bất kỳ một bài toán nào thì chúng ta cũng đọc
đề rồi xác định nó: A->B.
Trong đó:
- A là giải thiết: Điều kiện ban đầu hoặc cái đã cho khi bắt đầu giải bài
toán.
- B là kết luận: Mục tiêu cần đạt được hay cái phải tìm, phải làm ra khi
kết thúc bài toán.
- → Là suy luận: giải pháp cần xác định hay một chuối thao tác thực
hiện từ A đến B.
2. Bài toán trên máy vi tính:
Bài toán trên máy cũng mang đầy đủ các tính chất của bài toán tổng
quát trên, nhưng nó lại được diễn đạt theo một các khác.
- A: là đưa thông tin vào (Input )
- B: là đưa thông tin ra( Output)
- → : là chương trình tạo từ các lệnh cơ bản của máy tính cho
phép biến đổi từ A đến B.
3. Một số ví dụ:
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 11
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
Ví dụ 1: Tính diện tích hình chữ nhật.
Ta cần xác định cho bài toán:
+ Thông tin vào: Chiều dài là cạnh a, chiều rộng là cạnh b
+ Thông tin ra: Kết quả diện tích khi đưa a,b vào
+ Các thông tin cần chế biến thông tin như:
- Lần lượt nhập giá trị của a,b vào (cho a=3,b=4)
- Áp dụng công thức tính diện tích hình chữ nhật: a*b
- Kết quả in ra là 12.
Ví dụ 2: Cho 2 số tự nhiên a, b. Tìm ước số chung lớn nhất của chúng.
Các bước các định bài toán:
+ Xác định thông tin vào: hai số tự nhiên a,b
+ Xác định thông tin ra: số tự nhiên d thoả mãn:
d là ước của a và d là ước của b
d là số lớn nhất trong tập các ước chung của a, b
+ Xác định các thao tác chế biến thông tin
Xây dựng hữu hạn các thao tác cho phép tính được d từ a và b.
Nhập a =16
b= 24 -> d =8
Ví dụ 3: Tim giá trị tuyệt đối của một số cho trước.
+ Xác định thông tin vào:Nhập số nguyên a;
+Xácđịnh thông tin ra: b(=|a|, giá trị tuyệt đối của số a);
Bước 1: Nhập số a.
Bước 2: Nếu a<0, gán b <- a; ngược lại b <-a.
Bước 3: In giá trị của b (giá trị tuyệt đối của a).
II- Tìm thuật toán:
Thuật toán là một quá trình gồm một dãy hữu hạn các thao tác đơn giản
được sắp xếp theo một trình tự xác định sao cho theo đó từ Input của bài toán sẽ
tìm ra được Output bài toán .
Một bài toán ta có 4 cách thể hiện thuật toán: Các bước xác định
bằng lời, lập sơ đồ khối, ngôn ngữ phỏng trình, dùng một ngôn ngữ lập trình
(Pascal).
Ví dụ: Tìm ước số chung lớn nhất của 2 số nguyên dương a, b. Ta có
thể giải bằng các cách sau:
* Cách 1: Các bước xác định bài toán bằng lời:
a) Thuật toán trừ liên tiếp: Xét hai số ban đầu a, b ta lấy số lớn hơn
trừ cho số nhỏ hơn. Sau đó lại xét hai số nhỏ hơn và hiệu vừa nhận được,….Tiếp
tục quá trình đó cho đến khi được hai số bằng nhau. Đó chính là UCLN(a,b).
INPUT: a,b là hai số nguyên dương.
OUTPUT: UCLN(a,b)
- Bước 1: Nhập 2 số nguyên dương là a,b
- Bước 2: Nếu a=b, chuyển tới bước 5.
- Bước 3: Nếu a>b, gán a a – b; Ngược lại, gán b b-a.
- Bước 4: Quay lại bước 2.
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 12
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
- Bước 5: In ra a (a là UCLN(a,b)).
- Bước 6: Kết thúc thuật toán.
Ví dụ: a=48, b=30, quá trình thực hiện sẽ xét các cặp số sau:
Lần lặp
a
b
0
48
30
1
18
30
2
18
12
3
6
12
4
6
6
b) Thuật toán chia liên tiếp: Xét hai số ban đầu a,b. Tính tam là số dư
của phép chia a cho b. Nếu số dư tam khác 0 thì xét cặp a (bằng b), b (bằng
tam),….Kết thúc quá trình lặp (tam=0), b chính là UCLN(a,b).
INPUT: a,b là hai số nguyên dương.
OUTPUT: UCLN(a,b).
- Bước 1: Nhập a,b >0.
- Bước 2: tam a mod b.
- Bước 3: Nếu tam #0, ab, b tam
- Bước 4: tam a mod b, quay về bước 3.
- Bước 5: In ra b(b là UCLN(a,b)).
- Bước 6: Kết thúc thuật toán.
Ví dụ: a=48, b=30, quá trình thực hiện sẽ xét các cặp số sau:
Lần lặp
tam
a
b
0
48
30
1
18
30
18
2
12
18
12
3
6
12
6
4
0
0
GV hướng dẫn học sinh kiểm tra cả hai thuật toán với cùng một số bộ
dữ liệu thử và cho biết trong hai thuật toán trên, thuật toán nào cho kết quả
nhanh hơn (tức là thực hiện với số lần lặp ít hơn)?
Sau khi học sinh kiểm tra cả hai thuật toán, GV cho học sinh nhận xét
và thấy rằng thuật toán chia liên tiếp cho kết quả nhanh hơn vì phép chia thay
thế cho nhiều lần phép trừ. Ví dụ, với a=100, b=10, trong thuật toán trừ liên tiếp
phải sau 9 lần thực hiện phép trừ thì a mới bằng b để có ước chung lớn nhất là
10. Trong khi đó, trong thuật toán chia liên tiếp, phép chia 100 cho 10 cho số dư
=0 ngay từ trước vòng lặp, do đó cho ngay ước số chung lớn nhất là b=10.
* Cách 2: Giải bài toán bằng sơ đồ
- Có hình thoi thể hiện các thao tác so sánh
- Hình chữ nhật thể hiện các phép tính toán, các câu lệnh
- Hình ôvan thể hiện bắt đầu và kết thúc
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 13
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
- Các mũi tên quy định trình tự các thao tác.
* Cách 3: Dùng ngôn ngữ phỏng trình
Bắt đầu
Nhập a, b
While a khác b
IF a>b then thay a :=a -b
Else thay b:=b-a;
Kết thúc in ra USCLN (a,b) .
* Cách 4: Viết chương trình hoàn chỉnh (dùng ngôn ngữ pascal)
a) Sử dụng thuật toán trừ liên tiếp:
Program UCLN1;
Var a,b: Integer;
Begin
Write(‘Nhap hai so duong a,b=’); Readln(a,b);
While (a<=0) or (b<=0) do
Begin
Write(‘Nhap lai:’); Readln(a,b);
End;
While a<>b do
If a>b then a:=a-b Else b:=b-a;
Writeln(‘UCLN la:’,a);
Readln;
End.
b) Sử dụng thuật toán chia liên tiếp:
Program UCLN2;
Var a,b,tam: Integer;
Begin
Write(‘Nhap hai so duong a,b=’); Readln(a,b);
While (a<=0) or (b<=0) do
Begin
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 14
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
Write(‘Nhap lai:’); Readln(a,b);
End;
R:=a mod b;
While tam>0 do
Begin
a:=b; b:=tam; tam:=a mod b
end;
Writeln(‘UCLN la:’,b);
Readln;
End.
III- Viết chương trình:
Lập trình là dùng ngôn ngữ máy vi tính cụ thể nào (ngôn ngữ Pascal) để
diễn tả thuật toán, cấu trúc dữ liệu thành câu lệnh để máy tính có thể thực hiện
được và giải quyết đúng bài toán mà người lập trình mong muốn.
1. Kỹ năng lập trình:
- Rèn luyện được cho học sinh kỹ năng cài đặt thành công các thuật
toán bằng một ngôn ngữ lập trình.
- Đã gọi là kỹ năng thì chỉ có thể có được thông qua rèn luyện tích cực.
- Kinh nghiệm cho thấy một thuật toán do cài đặt vụng về, lộn xộn thì
khi chạy trên máy tính có thể cho kết qủa tồi tệ.
2. Phát triển chương trình bằng cách tinh chế từng bước:
Một bài toán ta có thể đưa ra nhiều cách giải khác nhau, song là một
giáo viên thì chúng ta cần giúp học sinh viết chương trình làm sao người xem
nhìn vào có thể dễ hiểu được bài toán đó là gì? Do đó việc tinh chỉnh các bước
cho bài toán trong máy tính là phương pháp khoa học, có hệ thống giúp ta phân
tích các thuật toán và cấu trúc dữ liệu từ đó thành một chương trình. Muốn lập
trình giỏi không phải chỉ cần nắm ngôn ngữ lập trình là đủ. Mà vấn đề cốt yếu là
biết phương pháp phát triển dần dần để chuyển các ý tưởng ra thành chương
trình hoàn chỉnh.
3. Phương pháp tinh chế từng bước:
Một chương trình bắt đầu được viết bằng lời tự nhiên (Tiếng Việt) thể
hiện sự phân tích tổng thể của người lập trình được thể hiện ở từng bước sau các
câu lệnh được phân tích chi tiết hơn, bằng những lời khác nhau tương ứng với sự
phân tích công việc thành các việc nhỏ chi tiết hơn dễ hiểu và chỉnh xác hơn.
Song ngôn ngữ lập trình pascal người lập trình có thể đưa ra phương pháp tinh
chỉnh từng bước là thể hiện tư duy giải quyết vấn đề bài toán từ trên xuống trong
đó các bước là hướng về ngôn ngữ lập trình làm sao cho bài toán đa ra được
phương pháp lập trình tối ưu, sáng sửa.
4. Ví dụ:
Tìm tất cả các số nguyên tố trong các số nguyên N được nhập vào từ
bàn phím
a. Tinh chế lần 1
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 15
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
- Lấy 2 tập
NT= [ ] (để chứa các số nguyên tố tìm đợc)
S = [2,..N] (tập các số cần xét )
- Tìm số đầu tiên trong S đa vào NT
- Loại bỏ khỏi S các bội số của số nguyên tố vừa tìm được
- Số đầu tiên còn lại của S là số nguyên tố. Tiếp tục quá trình cho đến
khi S=[]
- Xuất NT
b. Tinh chế lần 2
Bắt đầu
NT: = [ ]
S = [2,..N]
Repeat
Tìm số đầu tiên trong S
NT:= NT+ [S0]
Loại khỏi S các bội số của S0
Until S=[ ];
Xuất NT;
Kết thúc;
c. Tinh chế lần 3 (chương trình hoàn chỉnh)
Program nguyen_to;
Const
N=100;
Type
nguyen=1..N;
var
NT, S: set of nguyen;
s0,I: integer;
Begin
NT:=[]; S:=[2..N];S0:=2;
Repeat
While not (S0 in S) do
S0:=S0+1; NT:=NT+[S0];I:=S0;
While I<=N do
Begin
s:=S-[i];I:=I+S0;
End;
Until S=[];
For I:= 1 to n do
If I in Nt then Write(I:4);
Readln
End.
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 16
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
d. Tinh chế lần 4. Rõ ràng cấu trúc dữ liệu tập hợp Set of nguyen tuy
dễ hiểu nhưng rất cồng kềnh và làm máy chạy chậm chạp, ta có thể dùng mảng
Boolean linh hoạt hơn như sau:
Program nguyen_to;
Const
N=100;
Var
a: array[1..N] of boolean;
i,j: integer;
Begin
a[1]:=false;
for i:=2 to N do a[i]:=true;
for i:= 2 to N div 2 do
for j:= 2 to N div i do
a[i*j]:=false;
for i:= 1 to N do
if a[i] then
write(i:3);
Readln
End.
e. Tinh chế lần 5
Trong ngôn ngữ pascal nếu dùng mảng boolean thì ta bị giới hạn
N<10000. Để có thể chạy với số lớn hơn ta không dùng mảng , tập hợp mà
dùng như sau:
Program nguyen_to;
uses crt;
var
i,j,k,n:integer;
Begin
Repeat
write('nhap n='); readln(n);
Until n>= 2;
For i:= 2 to n do
Begin
k:=0;
for j:= 2 to trunc(sqrt(i)) do
if i mod j=0 then k:= 1;
if k=0 then write(i:3);
End;
Readln
End.
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 17
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
Vậy đó là kỹ năng lập trình người lập trình có thể tinh chỉnh chương
trình từng bước làm sao đưa ra một phương án tối ưu cho người xem dễ tiếp thu
cũng như chiếm bộ nhớ của máy tính càng ít các tốt.
IV- Chạy thử, sửa lỗi, kiểm tra, thay đổi chương trình:
1. Chạy thử:
Một chương trình đã viết xong chưa chắc đã chạy được trên máy vi tính
để cho kết quả mong muốn.
Ví dụ: Tìm số lớn nhất trong 3 số a,b,c nguyên dương được nhập vào từ
bàn phím.
Lần 1: Program tim_so;
uses crt;
var
a,b,c:integer;
begin
clrscr;
write('nhap 3 so=');readln(a,b,c);
if a
else if a
write('so lon nhat la ',a);
readln
End.
Với chương trình này cũng chạy được song đáp số có lúc đúng, có lúc
sai tuỳ thuộc vào lúc nhập giá trị a,b,c {nếu ta nhập thứ tự a=5,b=7,c=9 thì sẽ
cho ta kết quả số lớn nhất là 7. Vậy thì sai hoàn toàn}
Do đó người lập trình cần phải biết cách tìm lỗi. Sữa lỗi, điều chỉnh viết
lại chương trình cũng là kỹ năng quan trọng của người lập trình. Vậy với dụ trên
để kết quả luôn đúng thì ta có thể viết lại chương trình
Lần 2: Program tim_so;
uses crt;
var
a,b,c,t:integer;
begin
clrscr;
write('nhap 3 so=');readln(a,b,c);
t:=a;
if t
if t
write('so lon nhat la ',t);
readln;
End.
Nếu nhập:
Lần nhập
A
B
C
Kết quả
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 18
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
1
5
4
7
7
2
5
7
9
9
3
9
3
5
9
2. Phân loại lỗi và cách sửa lỗi:
- Lỗi về thuật toán: Điều chỉnh lại thuật toán, thêm vị trí có thể, loại bỏ
thuật toán sai, tìm thuật toán khác nghĩa làm lại từ đầu
1
2
1
3
Ví dụ: viết chương trình tính tổng S= 1 + + + .... +
1
(n được nhập vào
n
từ bàn phím)
Học sinh viết chương trình khai báo biến S thuộc kiểu dữ liệu nguyên
thì chương trình sẽ không thực hiện được phép toán tính tổng. Do vậy để thực
hiện được phép toán thì khai báo biến S là thuộc kiểu dữ liệu thực.
- Lỗi về trình tự: Phải xem lại thuật toán, phân tích lại từ trên xuống dưới để đặt lại cho đúng với thuật toán.
Ví dụ: Viết chương trình giải bất phương trình bậc nhất ax+b>0 với a,b
được nhập vào từ bàn phím.
Program bptb1;
var
a,b:real;
begin
write('nhap cac he so=');readln(a,b);
if a=0 then { bat phuong trinh co dang 0x+b>0}
if b=0 then
writeln(‘ bat phuong trinh co vo so nghiem’)
else Writeln(‘ bat phuong trinh vo nghiem’)
else {bat phuong trinh co dang ax>-b}
if a>0 then
writeln(‘bat phuong trinh co nghiem x>’,-b/a:4:2);
else
writeln(‘bat phuong trinh co nghiem x<’,-b/a:4:2);
readln; End.
- Lỗi về cú pháp: Viết lại cho đúng cú pháp của ngôn ngữ lập trình mà
mình đang sử dụng.
Ví dụ: Lỗi sau câu lệnh ta không sử dụng dấu chấm phẩy, hay kết thúc
chương trình không có dấu chấm, hay từ khoá DOWNTO nếu ta viết DOWN
TO thì sẽ không có nghĩa.
3. Kiểm tra:
Có nhiều chương trình khó kiểm tra tính đúng đắn, nhất là chương trình
tìm kiếm lời giải tối ưu. Vì chúng chưa biết kết qủa nào là đúng nhất. Vì vậy
việc tìm lỗi rất là khó khăn. Trong quá trình chạy thử một chương trình ta cần.
Lưu ý:
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 19
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
- Nếu khởi đầu bằng bộ chương trình (test) nhỏ nhưng các giá trị đặc
biệt (đây là dễ bị lỗi nhất).
- Làm nhiều các bộ test nhưng phải đa dạng tránh lặp đi lặp lại các bộ
test tương tự.
- Nên kết thúc bằng các bộ test có kích thước lớn để kiểm tra tính chịu
đựng của chương trình.
4. Thay đổi chương trình:
Một chương trình đã viết xong, đã chạy thử tốt, giải quyết đúng bài toán
mà ta mong muốn nhưng chưa có nghĩa là quá trình lập trình đã xong.Mà người
lập trình muốn nó ở đây ta có thể sửa đổi nó theo một hướng khác mà nó có thể
đáp ứng được một yêu cầu mới. Như phần tinh chế một chương trình là rất quan
trọng cho việc sửa chữa chương trình cũ sang chương trình mới.
Ví dụ: - Nhập 3 số a,b,c kiểm tra xem 3 số đó có thể là độ dài của các
cạnh một tam giác hay không. Từ đó ta có thể chuyển nó sang dạng là các cạnh
đó thoã mãn tam giác cân, đều hay là tính diện tích của tam giác đó.
- Tính tổng cho N số nguyên đầu tiên được nhập vào từ bàn phím. Từ
đó ta có thể triển khai tính giai thừa, tìm số nguyên tố, độ dài của dãy số đó,
tính trung bình cộng cho dãy số……
- Nhập vào mảng của dãy số từ bàn phím . Từ đó ta có thể tìm giá trị
lớn, nhỏ của mảng, trung bình độ dài của mảng, điểm của học sinh….
Vậy là một người lập trình bạn cần nắm được các tiêu chuẩn của một
chương trình từ giúp bài toán có một kết quả tốt.
- Tính tin cậy: Có một giải thuật đúng.
- Tính uyển chuyển: Chương trình có thể sửa đổi
- Tính trong sáng: dễ đọc, dễ hiểu.
- Tính hữu hiệu: chạy chương trình nhanh và tốn ít dung lượng bộ nhớ
về không gian và thời gian.
Tóm lại: Quá trình xây dựng chương trình là một chuỗi các bước tinh
chế. ở mỗi bước được phân ra nhiều công việc con để từ đó đưa ra được phương
pháp tối ưu. Song người lập trình cần rèn luyện để có ý thức về các quyết định
liên quan và biết khảo sát nghiêm túc cũng như từ bỏ các lời giải ngay cả khi
chúng đúng. Mà cần phải cân nhắc mọi phương tiện của từng lời giải theo một
tiêu chuẩn.
Để đưa ra một phương pháp tối ưu cho một bài toán không đơn giản.
Bởi một bài toán chúng ta có thể đưa ra nhiều phương pháp giải khác nhau.
Song trong lập trình người giải không sử dụng đúng cách giải thì một bài toán
lại đi ngược lại là cho các kết quả khác nhau. Điều đó chứng tỏ cho thấy người
lập trình cần phải nắm được các bước giải bài toán trong lập trình.
Bài toán cho kết quả sai là do nhiều nguyên nhân mà tôi đã trình bày ở
phần trước như:
+ Chọn kiểu dữ liệu sai
+ Viết kết quả in ra ở dạng có quy cách và không quy cách
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 20
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
+ Phép gán sai ví dụ như bài toán tính tổng ban đầu ta phải gán S:=0;
nếu gán S:= 1; thì cho kết quả sai. Hay Bài toán tính tích thì phép gán phải
ngược trở lại ban đầu S:=1;
Tóm lại đây là chương trình học khá mới mẻ, các bài toán đưa ra để
xây dựng một chương trình chưa có gì lạ phức tạp. Cho nên giáo viên cần phải
nắm chắc các phương pháp để truyền đạt. Đồng thời cũng phối hợp chương
trình toán đã học đến những phần nào để từ đó đưa các ví dụ, bài tập để học
sinh có thể nắm chắc lý thuyết cũng như thực hành trên máy tính dễ tiếp thu. Để
từ đó các em rút ra được ưu điểm của các chương trình này so với cách tính tay
ở chỗ nào.
b. Chuyên đề 2: Khả năng chuyển đổi qua lại giữa hai cấu trúc lặp
Tôi đã chọn chuyên đề “Khả năng chuyển đổi qua lại giữa hai cấu
trúc lặp” là một trong những chuyên đề tương đối quan trọng trong chương
trình Tin học , giúp các em nắm được cấu trúc của câu lệnh lặp, học sinh chuyển
đổi qua lại giữa hai cấu trúc lặp để học sinh phân biệt, nắm vững về hai cấu trúc
lặp.
Khi học Tin học bài học Bài 7. “Câu lệnh lặp”, bài 8: “Lặp với số lần
chưa biết trước”. Học sinh đã có rất nhiều khó khăn, nhầm lẫn trong việc xác
định vòng lặp và xác định điều kiện dừng của vòng lặp.
Trong quá trình ôn luyện tôi đã đưa ra bài toán như sau:
Với a là số nguyên được nhập từ bàn phím và a > 2, xét các bài toán
sau đây:
Bài 1. Tính và đưa kết quả ra màn hình tổng
S=
1
1
1
1
+
+
+ ... +
a a +1 a + 2
a + 100
Bài 2. Tính và đưa kết quả ra màn hình tổng
1
1
1
1
+
+
+ ... +
+ ...
a a +1 a + 2
a+N
1
< 0, 0001 .
Cho đến khi
a+ N
S=
Giáo viên đưa ra các câu hỏi sau:
Câu 1. Bài 1 đã xác định dược lần lặp chưa?
Học sinh trả lời là: đã xác định được lần lặp, cụ thể cộng dồn đến
a+100.
Câu 2. Em hãy viết câu lệnh lặp để tính tổng S ở bài 1?
Học sinh viết:
S:=1/a;
for i:=1 to 100 do
S:=S+1/(a+i);
Câu 3. Bài 2 đã xác định được lần lặp chưa?
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 21
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
Học sinh trả lời là: chưa xác định được lần lặp, vì với a được nhập từ
bàn phim thì: 1/(a+N) < 0.0001 không xác định được cụ thể N bằng bao nhiêu.
Câu 4. Em hãy viết câu lệnh lặp để tính tổng S ở bài 2?
Học sinh viết:
S:=1/a;
N:=1;
While 1/(a+N) < 0.0001 do
Begin
S:=S+1/(a+N);
N:=N+1;
End;
Giáo viên cho học sinh hoàn chỉnh chương trình dựa trên hai vòng lặp
đã có ở trên để giải 2 bài toán trên.
Câu 5. Em hãy cho biết sự tương đồng của hai bài toán trên:
Học sinh trả lời:
Xuất phát, S được gán giá trị: 1/a;
Tiếp theo, cộng dồn vào S một giá trị: 1/(a+N), với N tăng từ 1,2,3…
Câu 6. Hai bài toán trên khác nhau ở điểm nào?
Học sinh trả lời:
Bài toán 1 đã biết số lần lặp cụ thể, bài toán 2 chưa xác định được lần
lặp cụ thể.
Câu 7. Có thể dùng câu lệnh while…do để viết vòng lặp tính tổng S ở
bài 1 được không? Và có thể dùng câu lệnh for…do để viết vòng lặp tính tổng S
ở bài 2 được không?
Học sinh trả lời:
Việc dùng câu lệnh lặp while…do để thực hiện vòng lặp cho câu lệnh
for…do là có thể làm được, nhưng việc dùng câu lệnh for…do để thực hiện
vòng lặp cho câu lệnh while…do là không được vì:
+ Câu lệnh for…do sau khi thực hiện câu lệnh sau do thì biến đếm tự
động tăng lên 1, trong câu lệnh while…do ta có thể thực hiện lệnh tăng
biến_đếm lên 1 bằng cách thực hiện câu lệnh gán biến_đếm:=biến_đếm+1.
+ Câu lệnh for…do kết thúc khi biến_đếm > Giá_trị_cuối, trong câu
lệnh while…do ta có thể đưa điều kiện biến_đếm>Giá_trị_cuối vào trong điều
kiện kiểm tra vòng lặp while…do, cụ thể bài 1 ta có thể thực hiện như sau:
S:=1/a;
N:=1;
While N <= 100 do
Begin
S:=S+1/(a+N);
N:=N+1;
End;
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 22
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
+ Câu lệnh while…do thực hiện câu lệnh khi điều_kiện còn đúng, nên
ta không xác định được đến vòng lặp thứ bao nhiêu để điều_kiên sai vì thế ta
không thể dùng vòng lặp for…do để thực hiện tính tổng S cho bài 2.
Trong quá trình thảo luận để giải thích, chứng minh vấn đề “khả năng
chuyển đổi qua lại giữa hai câu lệnh lặp” bắt buộc học sinh phải nắm vững cú
pháp, cũng như ý nghĩa của hai câu lệnh trên. Dẫn đến việc các em thấy được sự
giống và khác nhau của hai câu lệnh một cách rõ ràng hơn.
2.3.2.2.2 Thảo luận trao đổi, giải đáp thắc mắc
Sau khi đã sử dụng các hình thức trên, giáo viên dành một thời gian
nhất định một đến hai buổi học cho học sinh thảo luận những kiến thức đã được
học tập hợp những ý kiến thắc mắc, băn khoăn, vướng mắc để giải đáp bổ sung
củng cố lại giúp các em có một lượng kiến thức vững vàng trước kỳ thi .
2.3.2.3. Xây dựng bộ đề để khảo sát.
Trong quá trình bồi dưỡng HSG, tôi xây dựng bộ đề khảo sát gồm nhiều
đề, sau đây tôi xin đưa ra 5 đề khảo sát cơ bản sau:
2.3.2.3.1. Đề khảo sát số 1
ĐỀ KHẢO SÁT CHỌN HỌC SINH GIỎI CẤP THCS
MÔN: TIN HỌC
Thời gian: 150 phút (không kể thời gian phát đề)
(Đề số 1)
Yêu cầu: Mỗi thí sinh tự tạo 1 thư mục với tên SBDxxx trong thư mục HSG,
ổ đĩa D.
- Các tệp tin dữ liệu vào *.INP và dữ liệu ra *.OUT đều phải được đặt trong
thư mục D:\HSG
- Các tệp tin bài làm *.PAS lưu trong thư mục riêng của từng thí sinh.
Ví dụ: D:\HSG\SBD001\BAI1.PAS
Tổng quan về đề thi:
Tên bài
Tìm số
Số tự nhiên
Dãy 0 - 1
Xâu kí tự
Chương trình
BAI1.PAS
BAI2.PAS
BAI3.PAS
BAI4.PAS
Dữ liệu vào
Bàn phím
Bàn phím
DAYSO.INP
XAUKT.INP
Dữ liệu ra
Màn hình
Màn hình
DAYSO.OUT
XAUKT.OUT
Điểm
4,0
6,0
5,0
5,0
Lập chương trình giải các bài toán sau:
Bài 1: TÌM SỐ. (4,0 điểm)
Nhập vào từ bàn phím hai số nguyên dương phân biệt A, B (
A ≤ 10000, B ≤ 10000 )
Xuất ra màn hình các kết quả sau đây.
- Dòng 1: giá trị biểu thức 2.A+B và số nhỏ nhất trong 2 số A và B
- Dòng 2: số lượng các số chẵn từ A đến B (nếu A
(B
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 23
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
- Dòng 3: các số nguyên tố từ A đến B (nếu A
(B
- Dòng 4: hai số nguyên C và D sao cho
A C
C
=
đồng thời
tối giản.
B D
D
Ví dụ:
INPUT
A= 3
B=9
OUTPUT
15 3
3
3 5 7
1 3
Bài 2: SỐ TỰ NHIÊN. (6,0 điểm)
Nhập vào một số tự nhiên N (10< N <109). Lập trình trả lời các câu hỏi sau:
- N có bao nhiêu chữ số
- Tổng các chữ số của N
- Tìm chữ số đầu tiên của N
- Giả sử N gồm k chữ số. Tìm số tự nhiên nhỏ nhất gồm k chữ số được tạo
ra từ k chữ số của số tự nhiên N
- Nhập vào số tự nhiên m (m<= số chữ số của N). Hãy tính tổng m chữ số
cuối cùng của N
Tên file bài làm: BAI2.PAS
Dữ liệu vào: Nhập từ bàn phím số tự nhiên N, m (Nếu N, m không thỏa mãn thì
thông báo nhập lại)
Dữ liệu ra: Ghi ra màn hình kết quả theo yêu cầu
Ví dụ:
INPUT
OUTPUT
Màn hình tham khảo
N = 3421
4
10
3
1234
m=2
3
Bài 3: DÃY 0 - 1. (5,0 điểm)
Đọc vào một dãy gồm N số chứa các số 0 hoặc 1. Hãy kiểm tra dãy này có
chứa các số 0 và 1 xen kẽ nhau không?
Tên file bài làm: BAI3.PAS
Dữ liệu vào: Cho trong file văn bản DAYSO.INP gồm 2 dòng:
- Dòng đầu chứa số nguyên N (1≤ N ≤ 20)
- Dòng thứ hai chứa dãy số 0 , 1. Các số trên cùng 1 dòng cách nhau bởi
dấu cách.
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 24
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
Dữ liệu ra: Ghi ra file văn bản DAYSO.OUT chứa chữ ‘YES” nếu đó là dãy
chứa các số 0 và 1 xen kẽ nhau, ngược lại ghi “NO”.
Ví dụ:
DAYSO.INP
5
10101
6
010111
DAYSO.OUT
YES
NO
Bài 4: XÂU KÍ TỰ. (5,0 điểm)
Nhập vào một xâu kí tự ST khác rỗng và một từ S.
Yêu cầu:
- Thực hiện chuẩn hóa xâu ST. Tức là xóa các dấu cách thừa và chuyển
các chữ cái đầu thành chữ hoa, những kí tự khác thành chữ thường.
- Đếm trong xâu ST có bao nhiêu từ.
- Đếm số lần xuất hiện của từ S có trong xâu ST và vị trí xuất hiện tương
ứng của chúng.
Tên file bài làm: BAI4.PAS
Dữ liệu vào: Cho trong file văn bản XAUKT.INP có cấu trúc như sau:
- Dòng 1: Chứa một xâu ST có độ dài không quá 120 kí tự.
- Dòng 2: Chứa một từ S cần tìm.
Dữ liệu ra: Ghi ra file văn bản XAUKT.OUT có cấu trúc như sau:
- Dòng 1: Ghi xâu ST sau khi đã được chuẩn hóa
- Dòng 2: Ghi số lượng từ có trong xâu ST
- Dòng 3: Ghi số lần xuất hiện của từ S trong xâu ST sau khi đã được
chuẩn hóa và vị trí xuất hiện tương ứng. Nếu không tìm thấy thi ghi 0
Ví dụ 1:
XAUKT.INP
XAUKT.OUT
Ky thi hoc SinH gioi cap huyen Ky Thi Hoc Sinh Gioi Cap Huyen
lop 8
Lop 8
Hoc
9
1 3
Ví dụ 2:
XAUKT.INP
XAUKT.OUT
Chao mung dai hoi dai bieu DANG Chao Mung Dai Hoi Dai Bieu Dang
BO huyen phu cat lan thu 21
Bo Huyen Phu Cat Lan Thu 21
bo
14
0
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 25
***** MỘT SỐ GIẢI PHÁP NÂNG CAO HIỆU QUẢ
BỒI DƯỠNG HSG MÔN TIN HỌC CẤP THCS *****
2.3.2.3.2. Đề khảo sát số 2
ĐỀ KHẢO SÁT CHỌN HỌC SINH GIỎI CẤP THCS
MÔN: TIN HỌC
Thời gian: 150 phút (không kể thời gian phát đề)
(Đề số 2)
Yêu cầu: Mỗi thí sinh tự tạo 1 thư mục với tên SBDxxx trong thư mục HSG,
ổ đĩa D.
- Các tệp tin dữ liệu vào *.INP và dữ liệu ra *.OUT đều phải được đặt trong
thư mục D:\HSG
- Các tệp tin bài làm *.PAS lưu trong thư mục riêng của từng thí sinh.
Ví dụ: D:\HSG\SBD001\BAI1.PAS
Tổng quan về đề thi:
Tên bài
Số siêu nguyên tố
Xếp hàng
Tần số
Xâu kí tự
Chương trình
BAI1.PAS
BAI2.PAS
BAI3.PAS
BAI4.PAS
Dữ liệu vào
BAI1.INP
BAI2.INP
BAI3.INP
BAI4.INP
Dữ liệu ra
BAI1.OUT
BAI2.OUT
BAI3.OUT
BAI4.OUT
Điểm
5,0 đ
5,0 đ
5,0 đ
5,0 đ
Lập chương trình giải các bài toán sau:
Bài 1: SỐ SIÊU NGUYÊN TỐ. (5,0 điểm)
Tại Vương quốc Byte xinh đẹp, mỗi người luôn chọn cho mình một con
số, theo họ số nguyên tố là số mang lại sự may mắn và ai tìm được một số siêu
nguyên tố còn may mắn hơn nữa. Số siêu nguyên tố là một số nguyên tố mà khi
bỏ 1 số tùy ý các chữ số bên phải của nó thì phần còn lại vẫn là 1 số nguyên tố.
Số 2333 là 1 số siêu nguyên tố vì 2333 là một số nguyên tố và 233, 23, 2 cũng là
các số nguyên tố.
Tên file bài làm: BAI1.PAS
Dữ liệu vào: Cho trong file văn bản BAI1.INP Chứa một số nguyên dương N (N
≤ 109)
Dữ liệu ra: Ghi ra file văn bản BAI1.OUT theo cấu trúc như sau: Nếu N là siêu
nguyên tố ghi giá trị 1, ngược lại ghi giá trị 0
Ví dụ:
BAI1.INP
BAI1.OUT
2333
1
13
0
GV: Nguyễn Văn Phong – THCS Cát Chánh
Trang 26