Tải bản đầy đủ (.pdf) (191 trang)

KỈ YẾU HỘI THẢO GIÁO VIÊN CÁC TRƯỜNG THPT CHUYÊN pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.75 MB, 191 trang )

2
KỈ YẾU
HỘI THẢO GIÁO VIÊN CÁC TRƯỜNG
THPT CHUYÊN
Đồ sơn 7/2011
3
Mục lục
CÔNG TÁC DẠY CHUYÊN VÀ BỒI DƯỠNG HỌC SINH GIỎI Ở QUẢNG TRỊ 4
ĐỊNH HƯỚNG CHUYÊN MÔN TRONG ĐÀO TẠO – BỒI DƯỠNG HỌC SINH NĂNG KHIẾU
TIN HỌC 12
CÔNG TÁC PHÁT HIỆN VÀ BỒI DƯỠNG ĐỘI TUYỂN TIN HỌC TẠI TRƯỜNG THPT
CHUYÊN LÊ HỒNG PHONG 28
GIẢI BÀI TOÁN TỐI ƯU TỔ HỢP BẰNG PHƯƠNG PHÁP DUYỆT 34
PHÁT HIỆN VÀ XÂY DỰNG ĐỘI TUYỂN QUỐC GIA 41
LUỒNG CỰC ĐẠI DÒNG CHẢY TRONG MẠNG LƯỚI 47
BIỂU DIỄN ĐỒ THỊ VÀ DUYỆT ĐỒ THỊ 51
THAM LUẬN VỀ BỒI DƯỠNG HỌC SINH GIỎI MÔN: TIN HỌC TẠI THỪA THIÊN HUẾ.59
LOANG TRONG LƯỚI Ô VUÔNG 63
PHƯƠNG PHÁP QUY HOẠCH ĐỘNG TRẠNG THÁI 99
PHƯƠNG PHÁP QUY HOẠCH ĐỘNG 109
TỔ CHỨC CÁC HOẠT ĐỘNG VỀ CNTT TRONG TRƯỜNG THPT CHUYÊN HẠ LONG TỈNH
QUẢNG NINH 143
DẠY HỌC CHUYÊN ĐỀ GIẢI THUẬT THAM LAM 146
DẠY HỌC CHUYÊN ĐỀ DUYỆT TOÀN BỘ VÀ NÂNG CAO 152
GIỚI THIỆU PHƯƠNG PHÁP QUY HOẠCH ĐỘNG 162
CHƯƠNG TRÌNH TỰ HỌC TỰ BỒI DƯỠNG GIÁO VIÊN MÔN TIN HỌC GIAI ĐOẠN 2011-
2015 182
KINH NGHIỆM PHÁT HIỆN VÀ BỒI DƯỠNG ĐỘI TUYỂN TIN HỌC CỦA HẢI PHÒNG185
PHƯƠNG PHÁP DẠY HỌC MÔN TIN HỌC CHUYÊN 190
4
CÔNG TÁC DẠY CHUYÊN VÀ BỒI DƯỠNG HỌC SINH GIỎI Ở


QUẢNG TRỊ
ThS. Đoàn Thị Ái Phương, Sở GD&ĐT Quảng Trị
ĐẶT VẤN ĐỀ
Giáo dục và Đào tạo có vai trò hết sức quan trọng đó là đào tạo nguồn nhân
lực cho xã hội, Giáo dục được coi là nền móng của sự phát triển Khoa học – Kỹ
thuật và đem lại sự phát triển cho đất nước. Có thể nói rằng không có giáo dục
thì không có sự phát triển đối với con người. Đảng ta đã coi "Giáo dục là quốc
sách hàng đầu" Hội nghị TW 4 khoá VII đã khẳng định "Giáo dục - Đào tạo là
chìa khoá để mở cửa tiến vào tương lai". Nghị quyết TW 2 khoá VIII đã tiếp tục
khẳng định "Muốn tiến hành Công nghiệp hóa, hiện đại hóa thắng lợi thì phải
phát triển mạnh Giáo dục - Đào tạo, phát huy nguồn lực con người, yếu tố cơ
bản của sự phát triển nhanh và bền vững". Đại hội Đảng lần thứ X tiếp tục nhấn
mạnh Giáo dục vừa là động lực vừa là mục tiêu của sự phát triển.
Với mục tiêu đào tạo nguồn nhân lực chất lượng cao, bồi dưỡng nhân tài
cho quê hương, đất nước, công tác bồi dưỡng những học sinh năng khiếu để trở
thành những công dân toàn diện trong xu thế hội nhập là việc làm hết sức quan
trọng. Vì vậy việc phát hiện và bồi dưỡng học sinh giỏi trở thành vấn đề cấp
thiết trong chiến lược xây dựng và phát triển đất nước, đây là một trong những
thước đo để kiểm định chất lượng mũi nhọn của Giáo dục.
Xác định được mục tiêu và tầm quan trọng của công tác đào tạo nhân lực
và bồi dưỡng nhân tài cho tỉnh nhà, trong những năm qua chính quyền địa
phương và ngành Giáo dục Quảng Trị đã hết sức quan tâm đến đội ngũ của
trường Chuyên và công tác bồi dưỡng đội tuyển học sinh giỏi của Tỉnh.
THỰC TRẠNG TÌNH HÌNH BỒI DƯỠNG HỌC SINH GIỎI HIỆN
NAY
Thuận lợi
5
Nhà nước, chính quyền địa phương và ngành Giáo dục Quảng Trị đã hết
sức quan tâm đến đội ngũ và công tác bồi dưỡng học sinh giỏi, mặc dù chưa đáp
ứng được đầy đủ những yêu cầu và mong muốn của giáo viên, nhưng nhà nước

đã có những chính sách ưu đãi đối với đội ngũ giáo viên dạy trường Chuyên.
Sở Giáo dục và Đào tạo Quảng Trị luôn quan tâm chỉ đạo và có những
chính sách và kế hoạch cụ thể đối với công tác bồi dưỡng học sinh giỏi ở trường
Chuyên.
Bộ GD&ĐT đã có định hướng rõ hơn về chương trình và công tác bồi
dưỡng ở trường Chuyên. Việc tập huấn phương pháp dạy học cho trường
Chuyên năm qua đã định hướng lại một cách rõ ràng hơn trong việc bồi dưỡng
học sinh giỏi, phát huy năng khiếu, bồi dưỡng nhân tài chứ không nhằm mục
tiêu lấy giải trong các kỳ thi. Việc Bộ GD&ĐT công bố đáp án trong kỳ thi vừa
qua là một căn cứ cơ bản làm rõ hơn trong việc xác định nội dung, mức độ,
phương pháp và kỹ năng làm bài cần có cho học sinh trong các kỳ thi.
Đội ngũ giáo viên tham gia bồi dưỡng đội tuyển là những giáo viên dạy
Chuyên nhiều năm, có năng lực và tâm huyết với công tác bồi dưỡng học sinh
giỏi.
Khó khăn
Trong vài năm lại đây công tác bồi dưỡng học sinh giỏi và đội tuyển gặp
rất nhiều khó khăn, một phần do có một số thay đổi về chủ trương quyền lợi cơ
bản của học sinh đạt giải Quốc gia. Học sinh hầu hết là không mặn mà, thiết tha
với việc thi học sinh giỏi, môn Tin Học lại càng khó hơn, các em chủ yếu tập
trung cho việc thi Đại học. Vì vậy, tinh thần học tập của các em trong khâu bồi
dưỡng học sinh giỏi là không nhiệt tình, không hết mình, thiếu sự đam mê, nhiều
khi mang tính nghĩa vụ vì sợ nhà trường khiển trách.
Hầu hết phụ huynh đều không ủng hộ và ngăn cản con em mình vào đội
tuyển, họ chỉ muốn đầu tư cho con em họ học để thi vào Đại học, đây cũng là
một vấn đề hết sức nan giải trong công tác chọn đội tuyển.
Đội ngũ giáo viên dạy Chuyên và tham gia công tác bồi dường còn quá
thiếu, càng ngày càng nhiều giáo viên không còn muốn tham gia, đây là khó
khăn lớn nhất, bởi thiếu đội ngũ giáo viên thì thật khó nói đến việc bồi dưỡng có
6
hiệu quả. Có nhiều lý do để dẫn đến thiếu đỗi ngũ, có lẽ phải nói đến là chính

sách đãi ngộ đối với Giáo dục nói chung và người làm công tác bồi dưỡng học
sinh giỏi nói riêng. Vì vậy những sinh viên giỏi của khoa Tin các trường ĐHSP
khi tốt nghiệp ra trường hầu hết không đi dạy mà đi vào làm việc ở những ngành
khác.
Với những thuận lợi và khó khăn đó, ngành Giáo dục Quảng Trị trong
những năm qua đã nổ lực hết mình, khắc phục khó khăn, vượt lên chính mình để
làm được những gì có thể để thực hiện mục tiêu và nhiệm vụ đã đề ra.
CÔNG TÁC PHÁT HIỆN VÀ KINH NGHIỆM BỒI DƯỠNG ĐỘI
TUYỂN
Công tác phát hiện và tuyển chọn học sinh
Trong công tác bồi dưỡng học sinh giỏi, khâu phát hiện và tuyển chọn học
sinh là khâu hết sức quan trọng, nó quyết định đến chất lượng và sự thành công
của đội tuyển.
Việc phát hiện và tuyển chọn học sinh căn cứ vào nhiều cơ sở, và từng giai
đoạn khác nhau. Để phát hiện và tuyển chọn chính xác, đúng những tài năng
thực sự, nhà trường đã căn cứ vào nhiều thông tin. Việc tổ chức, phát hiện,
tuyển chọn được nhà trường phân công cho tổ bộ môn và từng giáo viên, giáo
viên đưa vào kế hoạch công tác của mình và có kế hoạch bàn giao cho giáo viên
kế cận năm sau.
- Đầu tiên nhà trường chú trọng và quan tâm việc phát hiện và chọn đội
tuyển ngay từ khi các em thi tuyển vào lớp 10, căn cứ vào kết quả thi tuyển của
các em trong lớp chuyên Tin để khoanh vùng lựa chọn. Sau đó tổ chức thi khảo
sát để đánh giá lại và chọn sơ bộ đội tuyển và tổ chức bồi dưỡng ngay từ lớp 10.
- Dựa trên cơ sở bài khảo sát chất lượng đầu năm, qua thực tế các giờ học
trong những tuần đầu và kết quả học bộ môn phát hiện và bổ sung vào đội tuyển.
- Đối với lớp chuyên Toán, trong quá trình dạy học trên lớp, quá trình tiếp
xúc với học sinh, nếu phát hiện học sinh nào có sự yêu thích Tin học, có sự đam
mê trong khai thác và khám phá các lĩnh vực của Tin Học, thi giáo viên sẽ có
trách nhiệm giúp đỡ các em, hướng các em tiếp cận dần với các chuyên đề bồi
7

dưỡng cho học sinh chuyên Tin. Khi thấy các em thực sự có khả năng và yêu
thích thì sẽ bổ sung các em vào đội tuyển và các em sẽ được hưởng mọi chế độ
như các em trong đội tuyển Tin học. Qua thực tế nhiều năm phát hiện cho thấy,
những em học sinh này thực sự phát triển rất tốt và thường đạt giải trong các kỳ
thi Quốc gia.
Công tác tổ chức giảng dạy và bồi dưỡng
Đào tạo học sinh Chuyên và bồi dưỡng học sinh giỏi là một quá trình mang
tính khoa học, không thể chỉ một vài tháng mà phải có kế hoạch cụ thể trong
suốt cả ba năm học. Chỉ có như thế mới cung cấp được đầy đủ các kiến thức cần
thiết cho học sinh và phát hiện chính xác khả năng học tập của các em. Công tác
này ảnh hưởng trực tiếp đến sự thành công hay thất bại của công tác đào tạo bồi
dưỡng học sinh giỏi.
a) Kế hoạch bồi dưỡng
Trường đã xây dựng được một kế hoạch bồi dưỡng hàng năm cho học sinh
ngay từ năm lớp 10. Những năm trước đây khi chưa có chương trình học 37 tuần
của Bộ GD&ĐT, thì trường THPT Chuyên thường học sớm 1 tháng trước khi
vào năm học mới. trong 1 tháng này chỉ tập trung chủ yếu để dạy môn chuyên.
Sau khi vào năm học, những học sinh được chọn sẽ tham gia học bồi dưỡng
thêm 1 tuần 2 đến 3 buổi.
Tổ chuyên môn đã xây dựng chương trình bồi dưỡng trên cơ sở chương
trình hướng dẫn của Bộ GD&ĐT sao cho phù hợp với tình hình thực tế tại
Quảng Trị, Chương trình được ban giám hiệu nhà trường duyệt và thông qua.
Trước khi nghĩ hè, tổ chuyên môn sẽ phân công các giáo viên phụ trách các
chuyên đề bồi dưỡng cho năm sau. Nội dung bồi dưỡng sẽ được giáo viên
chuẩn bị trước trong hè để bồi dưỡng cho học sinh khi học sinh bắt đầu vào năm
học mới.
Kết thúc mỗi chuyên đề đều cho học sinh làm bài kiểm tra để đánh giá, trên
cơ sở đó kịp thời bổ sung uốn nắn những chổ hỏng cho học sinh.
b) Công tác tổ chức bồi dưỡng
Mục tiêu đào tạo học sinh Chuyên và bồi dưỡng học sinh giỏi là đào tạo

cho các em có kiến thức khoa học cơ bản, hiện đại, tiến tiến, có tính tự lập và
8
khả năng sáng tạo, nhận thức ở mức độ cao. Trong đó việc rèn luyện cho học
sinh có tính tự lập và khả năng nhận thức ở mức độ cao là quan trọng và hết sức
khó khăn.
Để đạt được mục tiêu đó, trong khâu tổ chức dạy học, giáo viên cần phải
thực hiện một số nội dung sau:
- Từ những khó khăn đã nêu trên, nhất là đối với học sinh chuyên Tin thì
trước tiên giáo viên phải làm công tác tư tưởng cho học sinh, phân tích cho học
sinh thấy lợi thế của học sinh chuyên Tin sau này vào Đại học, có thể lấy gương
của các thế hệ anh chị đi trước để làm tăng thêm niềm tin cho các em, Qua đó
làm cho các em yêu thích môn học và say mê học tập.
- Giáo viên phải giới thiệu chương trình, các loại sách, tài liệu tham khảo
và cách truy cập Internet để tìm tài liệu học tập cho học sinh.
- Hướng dẫn học sinh cách học, cách ghi chép bài, hướng dẫn học sinh tiếp
thu một số kiến thức cơ bản về môn Chuyên.
- Giúp học sinh biết cách giải quyết, khai thác một đơn vị kiến thức hay
một bài tập. Từ đó tập cho các em khả năng tư duy logic, tư duy độc lập sáng tạo
và biết cách phân loại các bài tập, tổng quát hóa một vấn đề của kiến thức.
- Sau khi các em đã học xong một số kiến thức cơ bản, tổ chức kiểm tra
định kỳ theo từng chuyên đề đã bồi dưỡng.
- Hướng dẫn học sinh tự học, cách xây dựng bộ test để tự test các bài tập
cho mình và cho bạn. Giới thiệu với các em các trang web hay và hướng dẫn các
em tham gia giải bài trực tuyến trên trang ICAP hoặc trên tạp chí Tin học và nhà
trường.
c) Tổ chức học tâp của học sinh
Trong quá trình giảng dạy môn chuyên và bồi dưỡng HSG thì công tác tổ
chức học tập của học sinh là một yếu tố rất quan trọng, nó ảnh hưởng đến sự
thành công hay thất bại của hoc sinh. Để làm tốt công tác này ta cần thực hiện
tốt những nội dung sau:

9
- Học sinh khi học môn chuyên hay tham gia các đội tuyển phải có trách
nhiệm trong việc học tập, rèn luyện của minh, các em phải có lời hứa danh dự
trước Thấy Cô bộ môn và Lãnh đạo nhà trường.
- Ngoài việc học tập trên lớp các giờ chính khóa, học sinh phải tham gia
đầy đủ các buổi học bối dưỡng, tham gia giải các bài tập trong sách nâng cao,
trong các chuyên đề, trong các tài liệu tham khảo, nghiên cứu và giải các đề thi
trên mạng hay Tạp chí.
- Các giáo viên khi giảng dạy nên thành lập các nhóm học tập trong học
sinh. Từ đó giao cho các em một số chuyên đề tự nghiên cứu, Việc làm này giúp
học sinh có lòng say mê, tự tin trong học tập, có phương pháp tự nghiên cứu.
- Mỗi học sinh cần phải có một cuốn sổ tự học, tích lủy kiến thức trong
đó bao gồm các bài tập hay, các đề thi cùng đáp án, các kiến thức tự tìm hiểu,
đúc kết sau một quá học tập và sáng tạo,…. Những ghi chép này rất cần thiết
cho việc học tập, rèn luyện nâng cao khiến thức của học sinh giỏi
d) đội ngũ giáo viên
Đội ngũ giáo viên đóng một vai trò vô cùng quan trọng trong việc đào
tạo, bồi dưỡng học sinh giỏi. Vì vậy nhà trường phải chọn ra được một đội ngũ
giáo viên có năng lực, nhiệt tình và tâm huyết để tham gia giảng dạy và bồi
dưỡng học sinh giỏi. Mỗi giáo viên đươc giao nhiệm vụ phụ trách từng mảng
chuyên đề để dễ nghiên cứu và giảng dạy có chất lượng. Các chuyên đề này có
thể thay đổi theo chu kỳ hàng năm để giáo viên có thể được dạy qua tất cả các
chuyên đề, từ đó có cái nhìn tổng quát về chương trình bồi dưỡng học sinh giỏi.
Giáo viên dạy Chuyên hay bồi dưỡng học sinh giỏi. phải tham khảo
nhiều tài liệu một cách thường xuyên để cập nhật, bổ sung và phát triển chuyên
đề mà mình phụ trách, phải chủ động đi trước học sinh một bước, thường xuyên
vào các trang đề thi olympic của các nước lấy một số đề về cho học sinh giải,
hướng dẫn và cùng tham gia giải bài tập với học sinh.
Trong công tác giảng dạy và bồi dưỡng học sinh giỏi, nhiệm vụ quan trọng
của người Thầy là phải dạy cho các em tiếp cận kiến thức một cách tự nhiên,

chủ động và sáng tạo, cụ thể là dạy cho các em cách tìm đến kiến thức và nghiên
cứu nó, cách làm bài tập, cách đọc sách và tìm tài liệu, cách mở rộng và khai
10
thác kiến thức,… Người Thầy phải luôn thắp sáng ngọn lửa say mê môn học cho
học sinh, phải dạy cho các em biến ước mơ thành hiện thực, biết vượt qua khó
khăn để cố gắng vươn lên, biết rút kinh nghiệm sau những thất bại hay thành
công trong từng giai đoạn mà mình phấn đấu.
Học sinh khi tham gia vào đội tuyển phải chịu rất nhiều áp lực, do đó giáo
viên dạy chuyên và bồi dưỡng học sinh giỏi phải là người luôn gần gủi, chia sẻ,
động viên, khuyến khích các em, giúp các em hứng khởi trong quá trình học tập
và bồi dưỡng.
KINH NGHIỆM BỒI DƯỠNG VÀ PHÁT TRIỂN ĐỘI NGŨ GIÁO
VIÊN CHUYÊN
Đội ngũ giáo viên có một vai trò vô cùng quan trọng để làm cho giáo dục
thực hiện được sứ mệnh cao cả đó là đào tạo nhân lực và bồi dưỡng nhân tài cho
quê hương đất nước. Vì vậy phát triển đội ngũ giáo viên là yêu cầu cấp thiết, là
yếu tố cơ bản có ý nghĩa quyết định trong việc phát triển giáo dục, đặc biệt là
bồi dưỡng và phát triển đội ngũ giáo viên Chuyên.
Trong những năm qua, ngành giáo dục Quảng trị luôn quan tâm bồi dưỡng
và phát triển đội ngũ giáo viên Chuyên.
- Qua các kỳ thi giáo viên dạy giỏi, Trưởng bộ môn và giáo viên cốt cán
của bộ môn luôn chú ý phát hiện những giáo viên có năng lực, có tâm huyết với
nghề nghiệp. Từ đó theo dỏi, bồi dưỡng để dần dần tiếp cận với công tác bồi
dưỡng học sinh giỏi và giới thiệu cho lãnh đạo Sở có kế hoạch bổ sung đội ngũ
cho giáo viên Chuyên.
- Tìm hiểu ở khoa Tin của trường ĐHSP để phát hiện những sinh viên có
khả năng, giới thiệu cho ngành để có chính sách thu hút và bố trí sau khi ra
trường, để từ đó bồi dưỡng dần cách tiếp cận với chương trình dạy Chuyên và
bồi dưỡng học sinh giỏi.
- Hàng năm Hội đồng bộ môn Tin học ở Quảng Trị tham mưu với lãnh đạo

cho phép bộ môn mời các Giáo sư, Tiến sỹ đầu ngành, có trình độ cao và nhiều
kinh nghiệm trong giảng dạy với các chuyên đề liên quan đến công tác dạy
Chuyên và bồi dưỡng học sinh giỏi về bồi dưỡng nâng cao trình độ cho đội ngũ
giáo viên Tin học của tỉnh, từ đó năng cao dần trình độ cho đội ngũ.
11
KẾT LUẬN
Công tác dạy Chuyên và bồi dưỡng học sinh giỏi ở Quảng Trị những năm
gần đây tuy chưa đạt được kết quả cao trong kỳ thi học sinh giỏi Quốc gia,
nhưng phần nào đã đáp ứng được yêu cầu rèn luyện các mục tiêu nhận thức ở
mức độ cao, sự trưởng thành của học sinh sau khi khi rời ghế nhà trường phổ
thông. Hầu hết các em học sinh chuyên Tin đều được học tập ở môi trường cao
hơn và học giỏi ở các trường Đại học. Nhiều em đang giữ những vị trí chủ chốt
ở các Trường Đại học và các ngành khoa học, nhiều em đã rất thành đạt đảm
nhiệm ỏ một số vị trí cao trong các ngành và đã quay về giúp đỡ nhà trường,
giúp tỉnh nhà trong các chiến lược xây dựng và phát triển quê hương. Điều đó
cho thấy mô hình đào tạo Chuyên, bồi dưỡng học sinh học sinh giỏi là hết sức
cần thiết, cần phát huy và phát triển mạnh hơn nửa.
Đội ngũ giáo viên đóng một vai trò hết sức quan trọng để phát triển mô
hình đào tạo Chuyên, bồi dưỡng học sinh học sinh giỏi. Vì vậy cần phải có
những chính sách và chiến lược xây dựng và phát triển đội ngũ, phải thu hút
những nhân tài về với ngành Giáo dục, những em học sinh giỏi của nhà trường
sau khi tốt nghiệp Đại học trở về giảng dạy ở trường…có như thế thì mới làm
cho thực hiện được mục tiêu của ngành Giáo dục là trường Chuyên là nơi đào
tạo nhân lực chất lượng cao và bồi dưỡng nhân tài cho quê hương đất nước.
12
ĐỊNH HƯỚNG CHUYÊN MÔN TRONG ĐÀO TẠO – BỒI DƯỠNG HỌC
SINH NĂNG KHIẾU TIN HỌC
Nguyễn Thanh Tùng, GV Đại học Bách Khoa HN
A – ĐỊNH HƯỚNG
Các cuộc thi Olympic Tin học được triển khai rộng rãi ở gần hết các nước

trên thế giới hướng tới các mục đích:
Đẩy mạnh phong trào dạy và học Tin học nhằm đáp ứng các yêu cầu của
cuộc sống đang được tin học hóa sâu rộng và với tốc độ cao trong mọi lĩnh vực,
Phát hiện các nhân tố nổi bật để đào tạo và khai thác nguồn nhân lực đỉnh
cao, có tri thức và có tay nghề theo kịp sự phát triển của lý thuyết và yêu cầu của
thực tế.
Việc đào tạo, bồi dưỡng học sinh giỏi Tin học chịu tác động rất nhiều của
hai yếu tố:
Sự phát triển của lý thuyết,
Sự phát triển của công cụ Tin học.
Có thể thấy rõ xu hướng dạy và học Tin học cho đến nay chia thành ba giai
đoạn:
Giai đoạn I: những năm cuối của thế kỷ XX,
Giai đoạn II: Thập kỷ đầu tiên của thế kỷ XXI,
Giai đoạn III: Thập kỷ thứ 2 của thế kỷ XXI, tức là những năm hiện tại.
Ở giai đoạn I, ngành Tin học mới tách ra và phát triển thành một ngành
khoa học độc lập. Người ta tập trung mọi sức lực vào việc xây dựng nền móng
cho một ngành khoa học mới, cố gắng tìm cách để giải quyết được các lớp bài
toán truyền thống xuất hiện khi tiếp cận bài toán trên quan điểm toán học.
Việc nắm vững các kiến thức toán học là điều kiện chủ yếu để giải quyết các bài
toán tin học. Ngoài ra còn phải lưu ý tới cấc ràng buộc tự nhiên về bộ nhớ nhỏ
và tốc độ tương đối thấp của máy tính lúc bấy giờ. Đó là sự tiếp tục của tư duy
những năm 70 – 80 của thế kỷ 20.
13
Ví dụ,
Chúng ta đã đạt được những kết quả rực rỡ trong thời kỳ này vì đội ngũ
giáo viên tin học phần lớn xuất thân từ giáo viên chuyên ngành toán. Học sinh
của chúng ta được trang bị kiến thức cơ sở về toán khá tốt.
Giai đoạn II từ những năm 2001 đến 2007, sự tiến bộ về công nghệ và sự
phổ cập của các hệ thống phần mềm tiên tiến đã đưa đến những sự chuyển dịch

trong việc đào tạo chuyên gia trong lĩnh vực tin học. Điều này dẫn đến những
thay đổi trong công tác phát hiện, đào tạo và bồi dưỡng học sinh giỏi tin học. Do
đó nội dung thi Tin học Quốc tế cũng có nhiều thay đổi. Các kiến thức giải thuật
được coi là đỉnh cao trước đây bây giờ đã trở thành “bảng cửu chương” mà ai
cũng phải biết và phải thuộc. Những giải thuật phức tạp, ít dùng thì không nhất
thiết phải thuộc, nhưng bất cứ ai và lúc nào cũng có thể tra cứu, tìm kiếm chúng
trên Internet khi cần thiết. Sự thông minh và tính sáng tạo bây giờ phải thể hiện
không phải ở chổ bạn thuộc nhiều hay ít các giải thuật khác nhau, cũng không
phải bạn cài đặt chúng nhanh tới mức nào. Thử thách bây giờ là ở chổ bạn có thể
tìm ra những giải pháp hữu hiệu giải quyết một cách có hiệu quả các bài toán
các vấn đề có mô hình toán học đơn giản nhưng có kích thước lớn hay không?
Để đạt được mục đích đó người lập trình phải biết tận dụng tối đa khả
năng mà phần cứng và hệ điều hành cung cấp. Các hệ thống lập trình mới như
Free Pascal, Dev C++ (những phiên bản đầu tiên) đã tạo điều kiện để người
dùng khai thác được tối đa khả năng của phần cứng.
Đáng tiếc là tới tận năm 2007 khi thế giới đã đi hết chặng đường quan
trọng này thì chúng ta mới được phép chính thức đặt chân lên mãnh đất đã in
đầy dấu chân của những người tiên phong, đi vào con đường vốn bây giờ đã trở
thành kỷ niệm đẹp của những người đi trước.
Ở giai đoạn III, tức là ở những năm gần đây, trong danh mục yêu cầu đối
với người lập trình có thêm hai đòi hỏi mới:
Không những bạn phải đứng vững trên nền tảng của phần cứng và hệ thống
mà còn phải biết khai thác tối đa khả năng của công cụ lập trình. Cụ thể, bạn
phải khai thác được triệt để mặt mạnh của các thư viện của hệ thống lập trình
có trong tay,
14
Nâng cao tính hoàn thiện của chương trình: chương trình phải cho kết quả
đúng và xử lý có hiệu quả với từng lớp dữ liệu (của bài toán).
Các hệ thống lập trình như Free Pascal 2.4.4, Dev C++ 4.9.9 đều cung cấp
những thư viện khổng lồ hỗ trợ người dùng và đều có thể mang lại những hiệu

quả tương đương trong lập trình. Tuy vậy C++ nhận được sự lựa chọn đông đảo
thí sinh dự thi hơn vì các lý do:
Thư viện chuẩn hộ trợ lập trình của C++ dễ tiếp cận hơn vì có nhiều tài liệu
giới thiệu,
Có nhiều phiên bản chương trình dịch miễn phí để những Ban tổ chức cung
cấp cho thí sinh,
Ở nhiều nước lấy C++ làm cơ sở giảng dạy ở trường phổ thông,
Trong tương lai, khi lên đại học người ta sẽ dùng C++ là chủ yếu,
Mặt mạnh của Pascal là khả năng thể hiện có cấu trúc trong quá trình triển
khai giải thuật không còn là trọng tâm trong nội dung giảng dạy,
C++ cho phép xây dựng chương trình tối ưu, thể hiện các tiểu xảo lập trình.
Tuy vậy, C++ cũng có những mặt yếu của nó so với Pascal. Ta sẽ nói đến
những vấn đề này muộn hơn, khi đề cập tới công cụ lập trình.
14
Nâng cao tính hoàn thiện của chương trình: chương trình phải cho kết quả
đúng và xử lý có hiệu quả với từng lớp dữ liệu (của bài toán).
Các hệ thống lập trình như Free Pascal 2.4.4, Dev C++ 4.9.9 đều cung cấp
những thư viện khổng lồ hỗ trợ người dùng và đều có thể mang lại những hiệu
quả tương đương trong lập trình. Tuy vậy C++ nhận được sự lựa chọn đông đảo
thí sinh dự thi hơn vì các lý do:
Thư viện chuẩn hộ trợ lập trình của C++ dễ tiếp cận hơn vì có nhiều tài liệu
giới thiệu,
Có nhiều phiên bản chương trình dịch miễn phí để những Ban tổ chức cung
cấp cho thí sinh,
Ở nhiều nước lấy C++ làm cơ sở giảng dạy ở trường phổ thông,
Trong tương lai, khi lên đại học người ta sẽ dùng C++ là chủ yếu,
Mặt mạnh của Pascal là khả năng thể hiện có cấu trúc trong quá trình triển
khai giải thuật không còn là trọng tâm trong nội dung giảng dạy,
C++ cho phép xây dựng chương trình tối ưu, thể hiện các tiểu xảo lập trình.
Tuy vậy, C++ cũng có những mặt yếu của nó so với Pascal. Ta sẽ nói đến

những vấn đề này muộn hơn, khi đề cập tới công cụ lập trình.
14
Nâng cao tính hoàn thiện của chương trình: chương trình phải cho kết quả
đúng và xử lý có hiệu quả với từng lớp dữ liệu (của bài toán).
Các hệ thống lập trình như Free Pascal 2.4.4, Dev C++ 4.9.9 đều cung cấp
những thư viện khổng lồ hỗ trợ người dùng và đều có thể mang lại những hiệu
quả tương đương trong lập trình. Tuy vậy C++ nhận được sự lựa chọn đông đảo
thí sinh dự thi hơn vì các lý do:
Thư viện chuẩn hộ trợ lập trình của C++ dễ tiếp cận hơn vì có nhiều tài liệu
giới thiệu,
Có nhiều phiên bản chương trình dịch miễn phí để những Ban tổ chức cung
cấp cho thí sinh,
Ở nhiều nước lấy C++ làm cơ sở giảng dạy ở trường phổ thông,
Trong tương lai, khi lên đại học người ta sẽ dùng C++ là chủ yếu,
Mặt mạnh của Pascal là khả năng thể hiện có cấu trúc trong quá trình triển
khai giải thuật không còn là trọng tâm trong nội dung giảng dạy,
C++ cho phép xây dựng chương trình tối ưu, thể hiện các tiểu xảo lập trình.
Tuy vậy, C++ cũng có những mặt yếu của nó so với Pascal. Ta sẽ nói đến
những vấn đề này muộn hơn, khi đề cập tới công cụ lập trình.
15
B – CÔNG CỤ LẬP TRÌNH
Trang bị kiến thức về ngôn ngữ lập trình chưa bao giờ là một vấn đề lớn
trong tin học. Điều quan trọng là kỹ thuật lập trình và tổ chức dữ liệu. Khi đã
biết tương đối tốt một ngôn ngữ lập trình thì việc chuyển sang lập trình ở một
ngôn ngữ mới khá đơn giản.
Bên cạnh ngôn ngữ truyền thống PASCAL với hệ thống lập trình Free
Pascal và C++ với hệ thống lập trình DEV C++, nhiều nước còn cho phép và
khuyến khích sử dụng một loạt các ngôn ngữ khác như Delphi, Python, Java,
C#, v . v . . .
Đương nhiên, khi chọn một ngôn ngữ nào đó làm công cụ cho mình người

lập trình cần phải:
Biết rõ những điểm mạnhvà yếu của ngôn ngữ cũng như của hệ thống hệ
thống lập trình hỗ trợ,
Cần nắm vững các dịch vụ mà hệ thống lập trình cung cấp,
Cần có thói quen suy nghĩ và hành động phù hợp với ngôn ngữ và hệ
thống lập trình,
Cần biết càng sâu càng tốt các thư viện chuẩn hỗ trợ lập trình và biết khai
thác chúng một cách tối ưu.
Nếu có cách tiếp cận hợp lý thì những vấn đề trên có thể giải quyết được
một cách khá đơn giản và hiệu quả.
Ở nước ta, trong bậc PTTH hệ thống lập trình được sử dụng phổ biến là
ngôn ngữ PASCAL với hệ thống lập trình Free Pascal. Ở bậc đại học, ngôn ngữ
lập trình chủ yếu là C/C++ với hệ thống Dev C++.
Trên thế giới nhiều nước sử dụng C++ với các hệ thống lập trình Dev C++
hoặc tương đươngngay từ bậc phổ thông trung học.
Việc giảng dạy đại trà trong nhà trường không phải là vấn đề thảo luận ở
đây. Nhưng việc trang bị công cụ cho học sinh năng khiếu, phục vụ cho các kỳ
thi Tin học là vấn đề nằm trong tầm xem xét và xử lý của chúng ta.
Các thành phần và cấu trúc tương đương của 2 hệ thống lập trình
16
Các phép tính số học
Stt
PASCAL
C/C++
Ví dụ
Pascal
C/C++
+
+
a + b

a + b
-
-
a - b
a - b
*
*
a * b
a * b
/
/
a / b
a / b
DIV
/
n div m
n / m
MOD
%
n mod m
n % m
Các phép tính quan hệ
Stt
PASCAL
C/C++
Ví dụ
Pascal
C/C++
<
<

a < b
a < b
<=
<=
a <= b
a <= b
=
==
a = b
a == b
>=
>=
a >= b
a >= b
<>
!=
a<>b
a!=b
and
&&
Pascal sử dụng các
phép xử lý bit để tạo
biểu thức quan hệ.
or
||
not
!
17
Các phép tính xử lý bit
Stt

PASCAL
C/C++
Ví dụ
Pascal
C/C++
not
~
and
|
or
&
xor
^
shl
<<
shr
>>
Khai báo
Lệnh gán
PASCAL
Var i,j,k:integer;
m,n: longint;
a,b:real;
p,d:int64;
x:array[0 20] of longint;
y:array[1 10, 1 5] of longint;
z:array[1 15] of real;
c:char;
s:string;
C++

int i,j,k;
long m,n,x[21], y[10][5];
float a,b,z[15];
long long p,d;
char c;
string s;
PASCAL
a:=y[i,j];
a:=a+b;
a:=a*z[i];
i:=i+1;
k:=i div j;
k:=i mod j;
C++
a=y[i][j];
a+=b; // a=a+b;
a*=z[i];
i++; // ++i;
k=i/j;
k=i%j;
18
19
Lệnh IF
Câu lệnh FOR
PASCAL
if a<> b then c=c+5;
if a= b then z[i]:=0 else
begin
z[i]:= z[i]+c;
z[n-i]:=z[n-i]-c

end;
C++
if (a!=b) c+=5;
if (a==b)z[i]=0;
else
{z[i]+=c;
Z[n-i]-=c;
}
Đặt điều
kiện trong
ngoặc
Lưu ý có ;
Lưu ý có ;
Không có then
PASCAL
for i:=1 to n do
begin
. . . .
end;
for j:= n downto 1 do
begin
. . . .
end;
C++
for (i=1;i<=n;i++)
{
. . . .
}
for (i=n;i>0;i )
{

. . . .
}
20
Lưu ý: Có thể khai báo biến i cục bộ hóa trong chu trình:
Tổ chức chu trình có số lần lặp không biết trước
Phần đầu chương trình
Ở PASCAL có thể có hoặc không có phần đầu chương trình:
Ở C++: bắt buộc phải khai báo các thư viện:
C++
for (int i=1;i<=n;i++){ . . . }
for (int i=n;i>0;i ) { . . . }
PASCAL
repeat
. . . . .
until j=i;
while i<j do
begin
. . . .
end;
C++
do
{
. . . .
} while (i==j);
while (i<j)
{
. . . .
}
PASCAL
Program NIM;

Uses crt, matrix;
Khai báo thư viện
C++
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
Khai báo thư viện,
thừa không sao!
21
Tổ chức vào ra với file văn bản
PASCAL
Const tfi=’NIM.INP’;
Tfo=’NIM.OUT’;
Var fi,fo:text;
. . . . . . .
Assign(fi,tfi); reset(fi);
Readln(fi,a,b,c);
Close(fi);
. . . . . . .
Assign(fo,tfo);
Rewrite(fo);
Writeln(fo,a,’ ‘,b);
Write(fo,c);
Close(fo);
C++
ifstream fi (“NIM.INP”);
ofstream fo (“NIM.OUT”);
. . . . . . . .
fi>>a>>b>>c;

fi.close();
. . . . . . . .
fo<<a<<” “<<b<<endl;
fo<<c;
fo.close();
Trong phần khai báo.
Flies tự động được mở,
22
Chương trình con và chương trình chính
Ví dụ:
Xử lý xâu
PASCAL
Procedure p1(i,j:integer);
Begin . . . End;
Procedure p2;
Begin . . . End;
Function fact(i:integer);integer;
Begin
. . . . . .
fact:=k
End;
. . . . . .
BEGIN
. . . .
END.
C++
void p1(int i,int j)
{ . . . . }
void p2()
{ . . . . }

int fact(int i)
{ . . .
return(k);
}
. . . . . . .
int main()
{ . . . .
}
PASCAL
Program NIM;
Const tfi='NIM.INP';
tfo='NIM.OUT';
Var a:array[1 1000] of longint;
i,n,g,t,k:longint;
fi,fo:text;
BEGIN
assign(fi,tfi);
reset(fi);
readln(fi,n);
for i := 1 to n do readln(fi,a[i]);
close(fi);
g:=0;
for i:=1 to n do g:=g xor a[i];
k:=0;
for i:=1 to n do
begin
t:=a[i]-(a[i] xor g);
if t>0 then
begin
inc(k);

a[i]:=t
end
else a[i]:=0
end;
assign(fo,tfo); rewrite(fo);
writeln(fo,k);
if k > 0 then
for i:=1 to n do if a[i]>0 then
writeln(fo,i,' ',a[i]);
close(fo)
END.
C++
#include <fstream>
#include <conio.h>
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{long n,g,t,k;
ifstream fi ("NIM.INP");
ofstream fo ("NIM.OUT");
fi >> n;
{long a[n+1];
for (long i = 1; i <=n;i++)
fi>>a[i];
k=0;
g=0;
for (long i=1; i <=n;i++) g^=a[i];
if (g>0)
{ for (long i=1;i<=n;i++)

{ t = a[i] – (a[i]^g);
if (t>0)
{k++;a[i]=t;
} else a[i]=0;
}
}
fo<<k<<endl;
if (k>0)
for (long i= 1; i<=n;i++) if
(a[i]>0) fo<<i << " "<<a[i]<<endl;
fi.close(); fo.close();
}
}
23
Xâu là một trong các loại dữ liệu cơ bản mà các hệ thống lập trình đều phải
cung cấp địch vụ để khai báo, lưu trữ và xử lý.
Cả trong PASCAL và C++ đều có 2 loại xâu:
Trong PASCAL:
Xâu kiểustring (ngắn và dài),
Xâu kiểu Pchar trong hệ thống lập trình Free Pascal,
Trong C++:
Xâu dạng C,
Xâu dạng C++.
Tồn tại một loạt các dịch vụ cung cấp các phép xử lý xâu loại 2 và chuyển
đổi dạng biểu diễn xâu. Các dịch vụ này được tổ chức trong thư viện Strings của
PASCAL và string của C++.
string s(“ABCD12345abcdABCDE2”);
string ns(“0123456789”);
l=s.size(); // l=s.length(); 19  l
k=s.find(“BC”); // 1  k (bắt đầu từ 0)

m=s.rfind(“BC”); // 14  m
p=s.find_first_of(‘C’); // 2  p
q=s.find_last_of(‘C’); // 15  q
i=s.find_first_of(ns); // 4  i
j=s.find_last_not_of(ns); // 17  j
24
C++
#include <fstream>
#include <string>
#include <iostream>
using namespace std;
int main()
{ string
s=("ABCD12345abcdABCDE2");
string ns=("0123456789");
int l,k,m,p,q,i,j;
ofstream fo ("xl_xau.out");
l=s.size();
k=s.find("BC");
m=s.rfind("BC");
p=s.find_first_of('C');
q=s.find_last_of('C');
i=s.find_first_of(ns);
j=s.find_last_not_of(ns);
fo<<"L = "<<l<<endl;
fo<<"K = "<<k<<endl;
fo<<"M = "<<m<<endl;
fo<<"P = "<<p<<endl;
fo<<"Q = "<<q<<endl;
fo<<"I = "<<i<<endl;

fo<<"J = "<<j<<endl;
fo.close();
}
XL_XAU.OUT
L = 19
K = 1
M = 14
P = 2
Q = 15
I = 4
J = 17
25
PASCAL cũng cung cấp những dịch vụ tương tự trong thư viện Strings. Dưới
đây là vài ví dụ nêu trong tài liệu hướng dẫn sử dụng của Free Pascal.
PASCAL
Program Example13 ;
Uses s t r i n g s ;
{ Program to demonstrate the StrScan and StrRScan f u
n c t i o n s . }
Const P : PChar = ’ This i s a PCHAR s t r i n g . ’ ;
S : Char = ’ s ’ ;
begin
Writeln ( ’P , s t a r t i n g from f i r s t ’ ’ s ’ ’ : ’ ,StrScan
(P, s ) ) ;
Writeln ( ’P , s t a r t i n g from l a s t ’ ’ s ’ ’ : ’
,StrRScan (P, s ) ) ;
end .
Find_first và Find_last
PASCAL
Program Example14 ;

Uses s t r i n g s ;
{ Program to demonstrate the StrLower and StrUpper f u n c t i o n s . }
Const P1 : PChar = ’THIS IS AN UPPERCASE PCHAR STRING ’ ;
P2 : PChar = ’ t h i s i s a lowercase s t r i n g ’ ;
begin
Writeln ( ’ Uppercase : ’ ,St rU pper (P2 ) ) ;
StrLower ( P1 ) ;
Writeln ( ’ Lowercase : ’ ,P1 ) ;
end .
Chữ hoa và chữ thường
(có công cụ tương đương trong C)
26
Như vậy, việc dùng PASCAL hay C++ đều có thể giải quyết một cách hiệu quả
các bài toán thi học sinh giỏi. Tuy vậy, trong mọi trường hợp, học sinh cần
được:
Trang bị thêm các kiến thức mới,
Có thói quen khai thác các công cụ trong hệ thống lập trình,
Biết cách sử dụng hợp lý và có hiệu quả các công cụ hiện có.
Đã là một công dạy và học, tại sao ta không làm việc ngay với C++? Điều này là
hoàn toàn khả thi và có lợi vì:
Về mặt pháp lý:
Bộ Giáo dục cho phép sử dụng C/C++ trong kỳ thi,
Công cụ: cũng thuộc loại Open Sources (miễn phí),
Về thời gian:
02 tiết cho việc giới thiệu cách viết chương trình trên C++,
02 tiết cho việc làm quen với môi trường lập trình Dev C++,
Các kiến thức khác, nếu cần, trang bị dần trong suốt quá trình bồi dưỡng (theo
nguyên tắc “Mưa dầm thấm đất”),
Lợi ích:
PASCAL

Program Example15 ;
Uses s t r i n g s ;
{ Program to demonstrate the StrPos f u n c t i o n . }
Const P : PChar = ’ This i s a PChar s t r i n g . ’ ;
S : Pchar = ’ i s ’ ;
begin
Writeln ( ’ Pos i t ion of ’ ’ i s ’ ’ i n P : ’ , s i z e i n t ( StrPos (P,S))-s i z e i n t (P ) ) ;
end .
Tìm vị trí xâu con

×