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ếnthứ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
Trang 1MỤ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
Trang 2Thông tư số 14/2002/TT-BGD&ĐT ngày 1/4/2002 về việc hướng dẫn quántriệ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ảngdạy, đào tạo và ứng dụng CNTT trong ngành giáo dục đã chỉ rõ: Nâng cao nhậnthức về vai trò của CNTT, ứng dụng và phát triển CNTT trong GD&ĐT sẽ tạomộ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à đàotạ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 trungchỉ đạ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ấtlượng giáo dục trong nhà trường Hàng năm, nhà trường đã chỉ đạo tổ chuyênmô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âncông giáo viên kèm cặp, giúp đỡ những học sinh trong đội tuyển đi thi học sinhgiỏ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ếnthứ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ọcsinh 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ọckị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ếtquả 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 sinhgiỏ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ấtcậ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ăngkhiế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àmnghề 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ậptuy 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
Trang 3trì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 quantâm để cùng với nhà trường lo cho việc học của con cái mình Điều đó đã làmphiề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ứcbồ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íchmạnh mẽ ý thức tự giác, lòng say mê và ý chí vươn lên trong học tập, tu dưỡngcủ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à đàotạ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ộttrong 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 traudồ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ênhọc hỏi kinh nghiệm để hoàn thiện hơn trong quá trình giảng dạy Trong quá trìnhgiả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ọcsinh 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ôimuố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ườngchuyên mà là học sinh ở các trường đại trà, đặc biệt là trường nằm trên địa bànmộ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ưỡngtạ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útkinh 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).
Trang 41.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ốilớ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
Trang 52 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ồidưỡ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ữngchủ 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ọngxâ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ếnlượ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ọcsinh luôn gặp không ít khó khăn - đó là bài toán khó mà tôi đã tập trung giảiquyết từ nhiều năm nay Trong quá trình thực hiện vẫn còn nhiều khâu, nhiềuchỗ 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ưacao, 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ềnmó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ủagia đì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 sinhcò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ọcsinh 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 coitrong hơn Chính vì thế việc đào tạo học sinh giỏi nhân tố quyết định cho tươnglai 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 đếnchấ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àinhằ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
Trang 6tạ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 sinhgiỏ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áoviê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ểuthuậ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 đượctiế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 Saukhi đã 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ấtlượ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ắmvữ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áttriể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ươngphá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ướngnâ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
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 địnhchỉ tiêu học sinh mũi nhọn cần phấn đấu Sau đó lập danh sách cụ thể đối tượngcầ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ệcdạ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ồidưỡ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
Trang 7tô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ọngphầ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ộtcá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ínhsá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ônthả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àmmệ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 ápdụ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ápdạ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 thunhanh 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ồidưỡ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ọccủ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ènluyệ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ápviết trong bài lập trình
Trang 8Song 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 sinhgiỏ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ôimua 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ọcsinh, 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ếmthô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ờigian, động viên từ phía gia đình các em Tôi đã đến từng gia đình có con em thamgia trong đội tuyển, nhờ gia đình động viên và tạo điều kiện cho các em có thờigian đầ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ạodựng đội ngũ tài năng cho tương lai phải được xác định rõ hơn, không cho phépviệ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ủaphong 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 hamhiể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 sinhthườ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ềukiệ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
Trang 9Nhâ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ôngminh nhưng không được tôi luyện, kèm cặp, bồi dưỡng thường xuyên thì cũngkhó có thể khẳng định, phát triển được trí thông minh ở các em Đó cũng là yêucầu đặt ra trong quá trình chỉ đạo, bồi dưỡng ở các nhà trường Nó đòi hỏi sự trăntrở, 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 theohướ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ọcsinh 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 độituyể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ọcnó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ảoluậ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ươngpháp hiện đại để bồi dưỡng cho học sinh năng lực ham muốn học hỏi, tư duysá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ọcsá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áccô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ấyrằ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àigiả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ọcphả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ớikiến thức mới, qua đó hiểu được kiến thức đã học trên lớp, đồng thời học sinhthấ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áccô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ươngtrì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ọithứ đều có điểm khởi đầu của nó, với học sinh việc học Pascal là khởi đầu choviệ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 trongmáy tính, các máy tự động…Quá đó giúp các em có thêm một định hướng, mộtniềm đam mê về Tin học, về nghề nghiệp mà các em chọn sau này Đồng thời
Trang 10Pascal 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ộtloạ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ôngtin ra (Output) Phương pháp tổng quát để giải một bài toán bằng máy vi tínhdựa trên ngôn ngữ pascal thì cần các bước :
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ônphả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ảiphươ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ònmộ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
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 chophép biến đổi từ A đến B
3 Một số ví dụ:
Trang 11Ví 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ếptụ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
Trang 12- 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:
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ằngtam),….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:
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 thaythế 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ếpphả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
Trang 13- Các mũi tên quy định trình tự các thao tác.
* 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);
While (a<=0) or (b<=0) do Begin
Trang 14Write(‘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ậttoá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ộtgiá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 xemnhìn vào có thể dễ hiểu được bài toán đó là gì? Do đó việc tinh chỉnh các bướccho 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ântí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ậptrì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ươngtrì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áccâ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 tinhchỉ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 đượcphươ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
Trang 15- 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 đếnkhi S=[]
Trang 16d 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ảngBoolean linh hoạt hơn như sau:
for i:=2 to N do a[i]:=true;
for i:= 2 to N div 2 do
Trang 17Vậy đó là kỹ năng lập trình người lập trình có thể tinh chỉnh chươngtrì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 thucũ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
if a<b then a:=b
else if a<c then a:=c;
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úcsai 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ếtlạ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
Trang 181 5 4 7 7
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
Ví dụ: viết chương trình tính tổng S=
n
1
3
1 2
- 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 vdư-ớ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
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}
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ìnhtì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ậyviệ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 ý:
Trang 19- Nếu khởi đầu bằng bộ chương trình (test) nhỏ nhưng các giá trị đặcbiệ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ườilậ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 quantrọ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ộtchươ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ươngphá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 địnhliê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ả khichú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ộttiê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ánlạ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ườilậ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
Trang 20+ 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ảingượ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úclặ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ầnchư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
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 đếna+100
Câu 2 Em hãy viết câu lệnh lặp để tính tổng S ở bài 1?
Trang 21Họ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?
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ầnlặ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:
Trang 22+ 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ăngchuyể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 giannhất định một đến hai buổi học cho học sinh thảo luận những kiến thức đã đượchọ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ổ sungcủ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:
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 (
10000, 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) hoặc từ B đến A nếu (B<A)
Trang 23- Dòng 3: các số nguyên tố từ A đến B (nếu A<B) hoặc từ B đến A nếu (B<A)
- Dòng 4: hai số nguyên C và D sao cho A C
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
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ởidấu cách
Trang 24Dữ 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”
- Đế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 đã đượcchuẩn hóa và vị trí xuất hiện tương ứng Nếu không tìm thấy thi ghi 0
Chao mung dai hoi dai bieu DANG
BO huyen phu cat lan thu 21
bo
Chao Mung Dai Hoi Dai Bieu Dang
Bo Huyen Phu Cat Lan Thu 2114
0
Trang 25Số siêu nguyên tố BAI1.PAS BAI1.INP BAI1.OUT 5,0 đXếp hàng BAI2.PAS BAI2.INP BAI2.OUT 5,0 đTần số BAI3.PAS BAI3.INP BAI3.OUT 5,0 đXâu kí tự BAI4.PAS BAI4.INP BAI4.OUT 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êunguyê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
≤ 10 9 )
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ụ:
Trang 26Bài 2: XẾP HÀNG (5,0 điểm)
Lớp 9A có N bạn học sinh (N<=50), mỗi bạn được gắn với một mã số bất
kì Trong buổi đồng diễn thể dục N bạn được xếp thành một hàng dọc theo thứ
tự từ nhỏ đến lớn của mã số Để đội hình toàn trường cân đối thầy giáo chuyểnmột bạn lớp khác vào vị trí trong hàng có mã số là K vào đội hình lớp 9A Emhãy giúp thầy giáo xếp bạn có mã số K vào vị trí trong hàng sao cho không làmxáo trộn đội hình đã được sắp xếp mà vẫn đảm bảo nguyên tắc xếp hàng đã nóitrên
Hãy viết chương trình để thực hiện công việc đó
Tên file bài làm: BAI2.PAS
Dữ liệu vào: Cho file văn bản BAI2.INP có 2 dòng, trong đó:
- Dòng đầu: ghi hai số N và K
- Dòng thứ hai ghi các mã số của mỗi học sinh viết cách nhau ít nhất một dấu cách.
Dữ liệu ra: Ghi ra file văn bản BAI2.OUT gồm hai dòng
Trang 27Bài 3: TẦN SỐ (5,0 điểm)
Cho dãy số nguyên dương, số lần xuất hiện của một số được gọi tần sốcủa số nguyên đó Hãy tìm số nguyên dương có tần số cao nhất và tần số tươngứng của nó
Tên file bài làm: BAI3.PAS
Dữ liệu vào: Cho từ file văn bản BAI3.INP bao gồm:
- Dòng đầu tiên chứa một số nguyên N( 1≤ N ≤ 10000) là số lượng các số nguyên trong dãy.
- Mỗi dòng trong N dòng tiếp theo chứa số nguyên M( 1≤ M ≤ 1000) trong dãy.
Dữ liệu ra: Ghi ra file văn bản BAI3.OUT, gồm 2 số nguyên viết trên một
dòng, số thứ nhất ghi số nguyên có tần số cao nhất, số thứ 2 là tần số của nó( trong trường hợp có nhiều số nguyên có tần số cao nhất bằng nhau, hãy đưa
ra số nguyên nhỏ nhất và tần số của nó) Hai số cách nhau một ký tự trắng.
2 2
Bài 4: XÂU KÍ TỰ (5,0 điểm)
Nhập một xâu kí tự S khác rỗng
Yêu cầu: - Đếm trong xâu có bao nhiêu từ.
- Thực hiện chuẩn hoá xâu Tức là xoá các dấu cách thừa và chuyểncác chữ cái đầu thành chữ hoa, những ký tự khác thành chữ thường
Tên file bài làm: BAI4.PAS
Dữ liệu vào: Được cho trong tệp văn bản BAI4.INP gồm 1 dòng ghi xâu S
Dữ liệu ra: Ghi ra tệp văn bản BAI4.OUT có cấu trúc như sau:
- Dòng 1: Ghi số lượng từ có trong xâu S.
- Dòng 2: Ghi xâu S sau khi đã được chuẩn hoá.
2.3.2.3.3 Đề khảo sát số 3
Trang 28ĐỀ KHẢO SÁT CHỌN HỌC SINH GIỎI CẤP THCS
Số chính phương BAI1.PAS BAI1.INP BAI1.OUT 5,0
An toàn giao thông BAI2.PAS BAI2.INP BAI2.OUT 5,0
Lập chương trình giải các bài toán sau:
Bài 1: SỐ CHÍNH PHƯƠNG (5,0 điểm)
Số chính phương là số nguyên có căn bậc 2 là một số nguyên VD: 289 là sốchính phương vì 289 = 17.17
Cho trước một số nguyên N (2<N<2000) Viết chương trình in ra các sốchính phương từ 3 đến N và đếm xem có bao nhiêu số chính phương vừa xuấtra
Tên file bài làm: BAI1.PAS
Dữ liệu vào: Cho trong file văn bản BAI1.INP có 1 dòng chứa 1 số nguyên N
(2<N<2000)
Dữ liệu ra: Ghi ra file văn bản BAI1.OUT gồm 2 dòng:
- Dòng 1: Các số chính phương từ 3 đến N, các số cách nhau ít nhất một khoảng trắng
Trang 29Một đoàn xe có N chiếc (0<N<100) lưu thông qua trạm kiểm soát trọng tải.Mỗi xe được đánh số thứ tự từ 1 đến N và có khối lượng K (tấn) là số tự nhiên(0< Ki <40; 1 i N≤ ≤ ).
Viết chương trình thực hiện việc tính tổng khối lượng của đoàn xe và kiểmtra xem các xe có số thứ tự bao nhiêu vượt mức cho phép lưu thông, biết rằngnếu xe có khối lượng vượt quá 20 tấn thì không được phép lưu thông
Tên file bài làm: BAI2.PAS
Dữ liệu vào: Cho trong file văn bản BAI2.INP có 2 dòng, trong đó:
- Dòng 1: Ghi số nguyên N (0<N<100)
- Dòng 2: Ghi khối lượng lần lượt của N xe, các số cách nhau ít nhất một khoảng trắng.
Dữ liệu ra: Ghi ra file văn bản BAI2.OUT gồm 2 dòng, trong đó:
- Dòng 1: Tổng khối lượng của đoàn xe
- Dòng 2: Số thứ tự các xe vượt mức khối lượng qui định, các số cách nhau ít nhất một khoảng trắng, nếu đoàn xe không có xe nào vượt mức khối lượng qui định thì ghi số 0.
Bài 3: THỐNG KÊ (5,0 điểm)
Phòng Giáo dục và Đào tạo quản lý học sinh các cấp học: Mầm non, Tiểuhọc và trung học cơ sở Số lượng học sinh quản lý có độ tuổi từ 3 đến 15 tuổi
Để phục vụ cho việc báo cáo, Phòng Giáo dục và Đào tạo cần thống kê số họcsinh theo từng độ tuổi
Hãy viết chương trình giúp Phòng Giáo dục và Đào tạo thống kê số lượnghọc sinh theo từng độ tuổi
Tên file bài làm: BAI3.PAS
Dữ liệu vào: Cho trong file văn bản BAI3.INP có 2 dòng, trong đó:
- Dòng 1: Ghi số N (10≤N<10000) là số lượng học sinh mà phòng quản
lý
- Dòng 2: Ghi N số tương ứng là độ tuổi của N học sinh, mỗi học sinh cách nhau ít nhất một khoảng trắng.
Dữ liệu ra: Ghi ra file văn bản BAI3.OUT gồm nhiều dòng, mỗi dòng ghi 2 số,
số thứ nhất ghi độ tuổi, số thứ hai là số lượng học sinh ở độ tuổi đó.