Sáng kiến kinh nghiệm “Định hướng ra đề các kỳ thi học sinh giỏi bộ môn Tin học” nhằm mục đích hỗ trợ và nâng cao chất lượng đào tạo năng khiếu Tin học ở Những năm gần đây, Tin học trở t
Trang 1MÔN TIN HỌC
I LÝ DO CHỌN ĐỀ TÀI
Tin học là một môn học có tính tư duy, có hoạt động trí tuệ sáng tạo và hấp dẫn đốivới nhiều học sinh, thầy cô giáo và cả các bậc phụ huynh Nhiều tỉnh thành đã vàđang xây dựng các phong trào khuyến học để tìm kiếm, phát hiện, phát triển, bồidưỡng các học sinh có năng khiếu Tin học Ở Đồng Nai, hiện có một số chươngtrình phát triển năng khiếu như: các lớp năng khiếu chương trình 3, các lớp chuyênTin, các đội tuyển học sinh giỏi (HSG) Tin học, các câu lạc bộ, đội nhóm năngkhiếu Tin học… Một số kỳ thi nhằm phát hiện và tuyển chọn các học sinh có năngkhiếu Tin học như: HSG cấp tỉnh lớp 12 vòng 1, vòng 2, kỳ thi tin học trẻ, từ năm
2012 – 2013 có kỳ thi HSG lớp 10 Việc phát triển, mở rộng phong trào bồi dưỡngHSG Tin học là một việc làm cần thiết, không chỉ ở các trường chuyên, các thànhphố, thị xã lớn mà phải được mở rộng ở khắp các trường THPT trong tỉnh
Sáng kiến kinh nghiệm “Định hướng ra đề các kỳ thi học sinh giỏi bộ môn Tin học” nhằm mục đích hỗ trợ và nâng cao chất lượng đào tạo năng khiếu Tin học ở
Những năm gần đây, Tin học trở thành môn học chính quy trong chương trình giáodục THPT, đội ngũ giáo viên Tin học phát triển mạnh về số lượng lẫn chất lượng,việc bồi dưỡng HSG Tin học cũng đã phát triển ở các trường THPT không chuyên,các kỳ thi cấp tỉnh đã có sự góp mặt của một số trường Các trường tham gia đã đạtđược những thành nhất định, có những học sinh lọt vào kỳ thi HSG lớp 12 vòng 2
Trang 2để chọn đội tuyển thi quốc gia …Một số thuận lợi trong việc bồi dưỡng HSG Tinlà:
- Giáo viên tin học độ tuổi trẻ, giàu nhiệt huyết, đam mê, …
- Học sinh thích thú với môn tin học
Tuy nhiên, số lượng các trường THPT không chuyên tham gia bồi dưỡng HSG Tinvẫn là khiêm tốn, chủ yếu do gặp phải các khó khăn như:
1 Thiếu hụt các nguồn tài liệu phục vụ cho việc bồi dưỡng như: sách,
nguồn bài tập, kinh nghiệm bồi dưỡng …
2 Thiếu thông tin về các kỳ thi, cách làm bài, chấm thi, … Điều này làm
cho các giáo viên khó triển khai việc bồi dưỡng một cách hiệu quả
3 Các kỳ thi HSG được tổ chức chung cho các học sinh chuyên Tin và
không chuyên làm cho mặt bằng không đồng bộ
4 Chưa có định hướng thống nhất cho việc bồi dưỡng và ra đề các
kỳ thi HSG giữa các trường trong toàn tỉnh
5 Cơ sở vật chất.
6 Chưa có sự quan tâm đúng mức từ ban giám hiệu nhà trường.
7 Học sinh đặt trọng tâm vào việc thi đại học, không dám theo đuổi việc
ôn thi HSG
8 Giáo viên bồi dưỡng còn kiêm nhiều nhiều công việc khác, không thể
toàn tâm toàn ý
9 …
Để góp phần nâng cao chất lượng và đẩy mạnh phong trào bồi dưỡng HSG Tinhọc, người giáo viên cần phải được hỗ trợ các bước đầu Sáng kiến kinh nghiệmnày nhằm mục đích thảo luận với các giáo viên đồng nghiệp cách giải quyết một sốvấn đề khó khăn trong việc bồi dưỡng HSG ở bộ môn Tin học Hy vọng vớichuyên đề này sẽ giúp các thầy cô khắc phục được những khó khăn 1, 2, 3, 4 đãnêu ở trên
Trang 32 Nội dung của đề tài: ĐỊNH HƯỚNG RA ĐỀ CÁC KỲ THI HỌC SINH GIỎI BỘ MÔN TIN HỌC
Các kỳ thi HSG Tin học ở quy mô cấp tinh thành và quốc gia dành cho khối THCS
và THPT hiện nay đều thi về lập trình Tuy không quy định rõ ngôn ngữ lập trìnhđược sử dụng (có thể là Java, C, Pascal, …), nhưng đa số các trường điều sử dụngngôn ngữ Pascal để bồi dưỡng và thực hiện bài thi Các máy để thí sinh thực hànhhiện nay chủ yếu được cài đặt trình biên dịch Free Pascal với nhiều ưu điểm vượttrội so với trình biên dịch Turbo Pascal hoặc Borlan Pascal trước đây Nội dungkiến thức trong đề thi khá rộng và đa dạng Tháng 12/2009, Bộ Giáo Dục và ĐàoTạo đã phát hành tài liệu “Chương trình chuyên sâu THPT chuyên – Môn Tin học”nhằm thống nhất trên phạm vi toàn quốc kế hoạch dạy học và nội dung dạy họcmôn Tin học cho trường THPT chuyên và nội dung bồi dưỡng học sinh giỏi mônTin học cấp THPT Tùy theo quy mô và cấp độ của từng cuộc thi, ban tổ chứcthường căn cứ vào tài liệu này để giới hạn nội dung cho đề thi
2.1 Định hướng nội dung
Việc định hướng nội dung các kỳ thi HSG Tin học là cần thiết, điều này giúp cácgiáo viên bồi dưỡng HSG dễ dàng hơn trong công tác xây dựng kế hoạch và nộidung giảng dạy Với tiêu chí để học sinh có nhiều nhất cơ hội được tham gia các
kỳ thi HSG Tin học, định hướng nội dung các kỳ thi cấp tỉnh nên tương đồng vớicác kỳ thi cùng cấp hoặc cao hơn như kỳ thi Olympic 30.4, kỳ thi Tin học trẻ, kỳthi HSG quốc gia Tuy nhiên, do tin học là môn mới phát triển, phong trào bồidưỡng HSG chưa phổ biến Để các trường THPT không chuyên có thời gian làmquen và thích nghi, đồng thời khuyến khích phát triển phong trào bồi dưỡng họcsinh giỏi bộ môn Tin học, trong năm nay và vài năm sắp tới, nội dung một số kỳthi vẫn cần có sự giảm nhẹ, thay đổi so với các chuẩn chung Sau đây là một số đềxuất định hướng nội dung cho các kỳ thi:
2.1.1 Học sinh giỏi khối 10
Đối tượng: học sinh lớp 10
Trang 4Nội dung kiến thức:
Kỹ thuật lập trình: rẽ nhánh, lặp, mảng, xâu, tệp, kiểu bản ghi, chương trìnhcon, kỹ thuật đệ quy, …
Các bài toán số học: ước, bội, số nguyên tố, cơ số, dãy số, …
Một số thuật toán sắp xếp, tìm kiếm: Sắp xếp đơn giản, QuickSort, …
2.1.2 Học sinh giỏi khối 12 vòng 1
Đối tượng: học sinh lớp 11, 12
Mục đích: phát triển phong trào và chọn lọc học sinh cho vòng 2.
Nội dung kiến thức
Nội dung thi HSG khối 10
Các bài toán sử dụng phương pháp quy hoạch động
Một số thuật toán duyệt, vét cạn quay lui : tổ hợp, dãy nhị phân, hoán vị, …
Chia để trị: Biết được ý tưởng cơ bản của phương pháp giải bài toán bằngcách chia để trị là chuyển việc giải bài toán kích thước lớn về việc giải cácbài toán có kích thước nhỏ hơn
2.1.3 Học sinh giỏi khối 12 vòng 2
Đối tượng: học sinh lớp 11, 12
Mục đích: chọn đội tuyển để tham dự kỳ thi HSG quốc gia.
Nội dung kiến thức:
Định hướng nội dung theo HSG lớp 12 vòng 1
Mô hình đồ thị không có và có trọng số, cây: Đỉnh, cạnh/cung, bậc, đường
đi, chu trình, tính liên thông, thành phần liên thông, cây khung, trọng số.Chu trình, đường đi Hamilton
Các kỹ thuật tìm kiếm, loang bằng DFS, BFS
Bài toán tìm đường đi ngắn nhất
Bài toán tìm cây khung nhỏ nhất
Các bài toán sử dụng phương pháp quy hoạch động nâng cao
Trang 5 Các bài toán về hình học nguyên.
Một số bài toán dạng “cho gì làm nấy” có tính chất sáng tạo
2.1.4 Tin học trẻ bảng B
Đối tượng: học sinh THCS.
Mục đích: phát triển phong trào và chọn đội tuyển để thi tin học trẻ quốc gia.
Nội dung kiến thức:
Nội dung thi HSG khối 10
2.1.5 Tin học trẻ bảng C
Đối tượng: học sinh THCS và THPT
Mục đích: phát triển phong trào và chọn đội tuyển để thi tin học trẻ quốc gia.
Nội dung kiến thức:
Nội dung thi HSG khối 12 vòng 1
Lý thuyết trò chơi
2.2 Định hướng cấu trúc đề thi
Không như các bộ môn tự nhiên khác, các bài tập tin học thông thường có sẽ cónhiều cách giải, chiến lược giải khác nhau từ đơn giản đến phức tạp, tùy theo cáchgiải mà điểm đạt được cao hay thấp Nếu thí sinh lựa chọn đúng thuật toán, cài đặtchương trình hoàn hảo sẽ được điểm tối đa Tuy nhiên, lựa chọn một cách giải đơngiản để lấy một phần điểm cũng là một giải pháp nên hướng đến Các định hướng
ra đề sau áp dụng để các thí sinh đạt điểm tối đa của một bài toán
Thông thường, một đề thi gồm khoảng 3 – 4 bài toán, thời gian 180 phút Trongđó:
Một bài mức độ dễ:
Ngữ cảnh đơn giản, thuật toán rõ ràng, gần với các dạng bài phổ biến
Đây là bài để khuyến khích, động viên các học sinh tham dự thi các kỳ thi HSG
Ví dụ: Bài tập Chuỗi đá NECKLACE
Trang 6Nam đã làm được một chuỗi đá từ những viên đá màu mà cậu sưu tập được Cácviên đá của Nam có màu xanh, đỏ hoặc vàng Theo Nam, một chuỗi đá đẹp sẽ có
đủ 3 màu xanh, đỏ, vàng và số lượng các viên đá mỗi màu bằng nhau Bạn hãygiúp Nam kiểm tra chuỗi đá của cậu ấy có là chuỗi đá
đẹp hay không nhé!
Input: Gồm một dòng duy nhất ghi một xâu độ dài
không quá 5000 biểu diễn chuỗi đá Các kí tự của xâu
là ‘G’,’R’ hoặc ‘Y’ tương ứng với các viên đá màu
xanh, đỏ hoặc vàng
Output: Nếu chuỗi đá là một chuỗi đá đẹp, ghi ra ‘YES’ Nếu không ghi ra ‘NO’ Giải
Đây là một bài tập xử lí xâu kí tự Dùng xâu s để lưu chuỗi đá Gọi y, r, g lần lượt
là số lượng các viên đá ‘Y’, ‘G’, ‘R’ trong chuỗi đá Ta duyệt xâu s để tính sốlượng các viên đá từng loại
for i:=1 to length(s) do
begin
if s[i]='Y' then inc(y);
if s[i]='R' then inc(r);
if s[i]='G' then inc(g);
end;
Điều kiện để chuỗi đá đẹp là y = g = r và y, g, r > 0
if (y>0) and (y=r) and (r=g) then write('YES')
Input Output
YRGGYR YES
Trang 7else write('NO');
Một – hai bài mức độ trung bình: thỏa ít nhất một tiêu chí
Đề bài có lồng ghép ngữ cảnh rắc rối, khó nhận ra thuật toán
Đòi hỏi áp dụng hai hoặc nhiều thuật toán cơ bản
Các bài mức độ trung bình giúp đánh giá công tác bồi dưỡng HSG ở các trườngTHPT Nếu có một kế hoạch và thời gian bồi dưỡng đầy đủ, các học sinh hoàn toàn
có thể đạt điểm tối đa ở các bài tập này
Ví dụ: Bài tập Đi chơi TOUR
Được giao quản lý cuộc đi chơi cuối tháng của lớp, Tim phải có nhiệm vụ chọnngày và khách sạn sao cho tất cả các thành viên trong lớp đều ở cùng một kháchsạn và chi phí không vượt quá quỹ lớp
Lớp Tim có N người và có thể đi chơi vào 1 trong D ngày cho trước Quỹ lớp hiệnđang có số tiền là Q và Tim đã thu thập được thông tin của H khách sạn trong Dngày có thể đi chơi
Hãy giúp Tim tìm ra cách phải tiêu ít tiền nhất hoặc thông báo rằng không thể thựchiện được yêu cầu trên
Trang 8Output: Ghi ra chi phí rẻ nhất hoặc “stay home” nếu lớp Tim không thể du lịch Giải
Đề bài có ngữ cảnh khá dài dòng, phức tạp, liên
quan đến nhiều tham số đầu vào Tuy nhiên nếu
phân tích kỹ đề bài Ta chỉ cần thử từng khách
sạn một Với khách sạn i có giá cho một người
một ngày là p, ta duyệt qua d ngày Lớp có thể ở
khách sạn i nếu:
Trong d ngày, phải có ít nhất 1 ngày có số
phòng trống > n
Tổng số tiền ở p*n không vượt quá Q
Nếu có nhiều khách sạn có thể ở Kết quả bài
toán sẽ là chi phí nhỏ nhất tìm được
Một bài mức độ khó: thỏa ít nhất một tiêu chí
Đòi hỏi áp dụng các thuật toán đặc biệt
Đòi hỏi kết hợp nhiều thuật toán, kỹ thuật lập trình nặng nề, phức tạp
Không có trong các dạng bài tập phổ biến
Đây là bài tập để phân loại các thí sinh thật sự xuất sắc, có năng khiếu ở bộ mônTin học
Ví dụ Bài tập Số nguyên tố ghép MPRIME
Các số nguyên tố trong dãy B gọi là số nguyên tố ghép
Yêu cầu: Cho trước số nguyên dương K ≤ 500, hãy tìm số nguyên tố ghép thứ K.
Dữ liệu: Gồm 1 số nguyên dương K duy nhất.
3 1000 2 3200
0 2 2300
27 3 20
900
5 2000 2 4300
4 3 0 4450
7 8 0 13
Stayhome
Trang 9Kết quả: In ra 1 số nguyên dương duy nhất là số nguyên tố ghép thứ K.
Một số lưu ý khi ra đề:
Đề thi phải mô tả thật rõ ràng về quy cách đặt tên file chương trình, file input,file output, các ràng buộc về thời gian và bộ nhớ chạy chương trình
Các bài mức độ trung bình hoặc khó, nên ghi rõ giới hạn % test nhỏ, % test lớn
để thí sinh lựa chọn thuật toán phù hợp
- Có độ khó tăng dần về kích thước bài toán
- Có độ khó tăng dần về thời gian xử lí
- Ngẫu nhiên hoàn toàn
Nguyên tắc hoạt động của chương trình chấm
Chương trình chấm sẽ chạy chương trình của thí sinh với các file input trong test
để sinh ra các file output, sau đó sẽ so khớp các file output này với file output củađáp án Nếu 2 file giống nhau hoàn toàn (hoặc có một số ngoại lệ ví dụ như chữ
Trang 10hoa, chữ thường…) thì thí sinh sẽ nhận được điểm của test đó, điểm của bài là tổngđiểm các test đúng.
Giám khảo cũng có thể quy định điểm số riêng cho từng test
Ví dụ: với một bài toán 3 điểm, nếu thí sinh chạy đúng được 10/20 test của bài đó
và các test được thiết lập điểm bằng nhau thì sẽ được 1.5 điểm
Một số lưu ý với học sinh
Trong một số trường hợp, giám khảo sẽ chấm bài thủ công cho thí sinh (mởchương trình thí sinh để đọc code và chạy thủ công), tuy nhiên hầu hết là căn cứtrên kết quả thu được từ chương trình chấm Vì vậy, để đạt được hiệu quả với cácchấm bài như trên, học sinh cần lưu ý:
- Học sinh phải nắm rõ các thủ tục nhập, xuất từ file
- Khi nộp bài học sinh phải lưu ý làm theo đúng các định dạng: đặt tênchương trình, đặt tên file input, output, các giá trị kết quả xuất ra fileoutput
- Kết quả của thí sinh có thể đúng, nhưng nếu xuất ra file output saiđịnh dạng thì bài đó khi chấm sẽ coi là sai Ví dụ, bài toán yêu cầutính chu vi và diện tích hình vuông Định dạng là xuất chu vi trước,diện tích sau Nếu thí sinh làm ngược lại, xuất diện tích trước, chu visau thì bài đó sẽ bị chấm sai
Phần mềm chấm bài AMM2
Hiện có nhiều phần mềm được áp dụng để chấm bài trong các kỳ thi lập trình Mộtphần mềm phổ biến hiện này là AMM - được phát triển bởi khoa CNTT trườngĐại học Khoa học tự nhiên Tp HCM Hiện đã phát triển lên phiên bản 2.2
Trang 11Phần mềm chấm bài Themis
Themis là phần mềm chấm bài tự động được phát triển theo yêu cầu của Cục Khảo
thí và Kiểm định chất lượng giáo dục, Bộ Giáo dục và Đào tạo Sản phẩm đượcthiết kế phục vụ kỳ thi học sinh giỏi Quốc gia hàng năm, nhưng hoàn toàn có thể
sử dụng trong tất cả các kỳ thi và bài kiểm tra tin học dùng cơ chế chấm điểm tựđộng bằng bộ test Phần mềm được viết bởi hai tác giả Lê Minh Hoàng và Đỗ ĐứcĐông Hiện đã phát triển lên phiên bản 1.6.4
Yêu cầu cấu hình phần mềm và phần cứng: Microsoft Windows XP, Vista,
Seven hoặc mới hơn Microsoft Office Excel (Từ phiên bản Office 2000 trở lên)
Trang 12nếu cần kết xuất báo cáo ra Excel Mọi cấu hình phần cứng đủ cài đặt các phầnmềm trên đều có thể chạy Themis.
(Đề thi này gồm … trang, có … câu)
TỔNG QUAN ĐỀ THI
Bà
i
(Thời gian chạy chương trình 01 giây)
Bài 1 (6 điểm) Nguyên tố cùng nhau COPRIME
Hai số nguyên a và b gọi là nguyên tố cùng nhau nếu chúng có ước số chung lớn
nhất bằng 1 Ví dụ: 6 và 25 là nguyên tố cùng nhau vì chúng có ước số chung lớnnhất là 1; 6 và 15 không nguyên tố cùng nhau vì chúng có ước số chung lớn nhất là3
Yêu cầu: Cho 2 số nguyên dương a, b Kiểm tra xem a và b
có nguyên tố cùng nhau hay không
Input: 2 số nguyên dương a, b (a, b ≤ 109)
Output: xuất ‘YES’ nếu 2 số nguyên tố cùng nhau, ngược lại
xuất ‘NO’
Bài 2 (7 điểm) Số đối xứng SYM
Một số nguyên dương gọi là số đối xứng nếu sau khi đảo
ngược số đó ta nhận được chính số đó Ví dụ: số 1234321
là số đối xứng; số 12345321 không phải số đối xứng
Yêu cầu: Cho số nguyên dương n (n1000000000).
Kiểm tra xem n có phải số đối xứng hay không
Input: số nguyên dương n ≤ 109
Output: xuất ‘YES’ nếu n là số đối xứng, ngược lại xuất ‘NO’
Trang 13Bài 3 (7 điểm) Số lớn nhất NUMBER
Cho một xâu văn bản chỉ chứa chữ cái và chữ số Hãy tìm trong xâu dãy các chữ sốliên tiếp có giá trị lớn nhất Nếu có nhiều dãy số cùng lớn nhất thì đếm xem có baonhiêu dãy số như vậy Ví dụ: xâu ‘tin28hoc6tre2013dong17nai’ có dãy số liên tiếplớn nhất là 2013 và có 1 dãy số như vậy
Yêu cầu: Cho một xâu văn bản s Tìm dãy số liên tiếp lớn nhất và số lượng dãy số
đó
Input: xâu S dài không quá 255 kí tự
Output:
Dòng đầu xuất số nguyên k là
số lượng dãy số liên tiếp lớn
nhất
Nếu k>0, dòng thứ hai xuất
dãy số đầu tiên tìm được
(Đề thi này gồm … trang, có … câu)
TỔNG QUAN ĐỀ THI
(Thời gian chạy chương trình 01 giây)
Bài 1 (30 điểm) Kí tự không xuất hiện NO
Bảng chữ cái viết thường tiếng Anh có 26 chữ cái ‘a’ ’z’ Cho xâu kí tự s gồm một
số chữ cái viết thường trong bảng chữ cái tiếng Anh
Yêu cầu: Hãy đếm số lượng các chữ cái viết thường trong bảng chữ cái tiếng Anh
không xuất hiện trong xâu s
Input: xâu s dài không quá 200 kí tự.
Output: số lượng chữ cái không xuất hiện trong xâu s.
tin28hoc6tre2013dong17nai 1
2013 conghoaxahoichunghiavietnam 0
Input Output