
1
SỞ GIÁO DỤC VÀ ĐÀO TẠO NGHỆ AN
TRƯỜNG THPT YÊN THÀNH 3
----------------------------------
SÁNG KIẾN
Đề tài:
RÈN LUYỆN KỸ NĂNG LẬP TRÌNH
VỚI CHỦ ĐỀ XÂU KÝ TỰ CHO HỌC SINH KHÁ GIỎI
TRONG NGÔN NGỮ LẬP TRÌNH C++ VÀ PYTHON
TÁC GIẢ: Tô Thị Tường
ĐIỆN THOẠI: 0975905669
TỔ: Toán – Tin
THỜI GIAN THỰC HIỆN: Năm học 2019 - 2020
Năm học 2020 - 2021
----------------------------------

2
Đề tài:
“RÈN LUYỆN KỸ NĂNG LẬP TRÌNH VỚI CHỦ ĐỀ XÂU KÝ TỰ
CHO HỌC SINH KHÁ GIỎI
TRONG NGÔN NGỮ LẬP TRÌNH C++ VÀ PYTHON”
MỤC LỤC
NỘI DUNG
Trang
Phần 1 - ĐẶT VẤN ĐỀ:
3
I - Lý do chọn đề tài.
3
II – Điểm mới của đề tài.
4
Phần 2 - NỘI DUNG.
5
I – CƠ SỞ LÝ LUẬN
5
1. Vai trò của việc rèn luyện kỹ năng lập trình cho học sinh
khá giỏi.
5
2. Sự cần thiết dạy học cho học sinh khá giỏi về ngôn ngữ lập
trình C++ và Python.
5
3. Tầm quan trọng của chủ đề Xâu ký tự trong dạy học lập
trình.
6
II – THỰC TRẠNG VẤN ĐỀ
6
1. Thực trạng dạy học ngôn ngữ lập trình C++, Python ở các
trường THPT.
6
2. Thực trạng dạy học ngôn ngữ lập trình C++, Python ở
trường chúng tôi.
7
3. Thực trạng dạy học chủ đề xâu dữ liệu cho đối tượng học
sinh khá giỏi.
7
III – GIẢI QUYẾT VẤN ĐỀ
8
1 – Một số đặc tính và kiến thức cơ bản về xâu dữ liệu trong
NNLT C++ và Python
8
1.1 Một số đặc tính khác nhau giữa Xâu trong C++ và Xâu
trong Python
8
1.2 Tóm tắt một số thao tác xử lý xâu trong C++
8
1.3 Tóm tắt một số thao tác xử lý xâu trong Python
10

3
2 – Rèn luyện kỹ năng lập trình với chủ đề Kiểu xâu
11
2.1 Ôn luyện kỹ năng sử dụng thao tác xử lý xâu qua một số
bài toán cơ bản
11
2.2 Rèn luyện kỹ năng giải một số dạng bài tập phổ biến về
xâu ký tự.
19
2.2.1 Dạng bài tập yêu cầu biến đổi xâu
19
2.2.2 Dạng bài tập có yêu cầu duyệt xử lý xâu con
23
2.2.3 Dạng bài tập có yêu cầu xử lý số lớn.
27
3 - Một số bài tập mở rộng và nâng cao
31
4 - Hiệu quả của sáng kiến
42
Phần 3. PHẦN KẾT LUẬN
43
I - Kết luận chung
43
II – Ý nghĩa của đề tài
43
III - Khả năng ứng dụng, mở rộng của đề tài
44
IV - Đề xuất
44
DANH MỤC CÁC CHỮ VIẾT TẮT TRONG SÁNG KIẾN
Nội dung
Viết tắt
Giáo dục phổ thông
GDPT
Phát triển năng lực.
PTNL
Trung học phổ thông
THPT
Giáo viên
GV
Học sinh
HS
Ngôn ngữ lập trình
NNLT
Ngôn ngữ lập trình C++
C++
Ngôn ngữ lập trình Python
Python

4
Phần 1. ĐẶT VẤN ĐỀ
I. LÝ DO CHỌN ĐỀ TÀI.
Giáo dục phổ thông nước ta đang thực hiện bước chuyển từ chương trình
giáo dục tiếp cận nội dung sang chương trình giáo dục “định hướng năng lực”.
Trong chương trình giáo dục phổ thông mới, bộ môn Tin học có rất nhiều điểm
mới, trong đó Bộ GD-ĐT đã ban hành hướng dẫn điều chỉnh nội dung dạy học,
cho phép và khuyến khích các cơ sở giáo dục dần loại bỏ ngôn ngữ lập trình
Pascal lựa chọn giảng dạy các ngôn ngữ lập trình có tính cập nhật, hiện đại, và
thông dụng như C++, Python…
Hưởng ứng thực hiện nhiệm vụ đổi mới của ngành ở trường chúng tôi đã
triển khai dạy học ngôn ngữ lập trình C++ cho toàn bộ học sinh khối 11 thay thế
Pascal và trong các hoạt động nhóm chuyên môn chúng tôi đã tổ chức nghiên
cứu về ngôn ngữ Python, tổ chức Câu lạc bộ Tin học tập hợp các học sinh yêu
thích, đam mê Tin học bước đầu triển khai cho học sinh có sân chơi bổ ích, lành
mạnh, thu hút học sinh khá giỏi tham gia học tập, chia sẻ lẫn nhau nhằm khơi
dậy niểm đam mê tin học đối với học sinh, đồng thời nâng cao năng lực chuyên
môn của giáo viên, trang bị kiến thức, nghiệp vụ sẵn sàng thực hiện tốt nhiệm vụ
đổi mới góp phần đi tới đạt mục tiêu chung của ngành.
Là một giáo viên bộ môn Tin học, bên cạch việc dạy học các kiến thức
phổ thông về tin học thì việc bồi dưỡng học sinh khá giỏi cũng hết sức quan
trọng; trách nhiệm của người giáo viên Tin học là tổ chức các hoạt động học tập
cho học sinh để phát triển hệ thống năng lực mà một học sinh phổ thông cần
phải có. Khi giảng dạy tôi thường phân tích những điểm ưu, nhược của các ngôn
ngữ lập trình để các em có cái nhìn tổng quan, bao quát về một số ngôn ngữ lập
trình như C++, Python để gieo niềm đam mê định hướng những học sinh có
năng lực vào đội ngũ nhân lực CNTT chất lượng cao của đất nước.
Qua quá dạy học, tôi nhận thấy chủ đề “Xâu ký tự” là một nội dung rất
quan trọng trong việc tiếp cận ngôn ngữ lập trình bậc cao, xử lý xâu ký tự cũng
là yêu cầu thường gặp trong việc xây dựng các phần mềm ứng dụng thực tiễn,
nhưng việc dạy học chủ để này ở một số trường THPT còn gặp nhiều khó khăn,
hiệu quả chưa cao. Với niềm đam mê chuyên môn, ham học hỏi tôi luôn tìm tòi
nghiên cứu và tôi đã có những giải pháp tốt nhất nhằm đem lại hiệu quả cao
trong công tác bồi dưỡng học sinh khá giỏi và đã đạt được những kết quả mong
đợi. Tôi xin chia sẻ sáng kiến chủ đề “Rèn luyện kỹ năng lập trình với chủ đề
xâu ký tự cho học sinh khá giỏi trong ngôn ngữ lập trình C++ và Python” với
mong muốn đưa ra được giải pháp nhằm nâng cao hiệu quả bồi dưỡng học sinh
khá giỏi và giúp giáo viên có thêm một số cách thức để ôn luyện phù hợp. Qua
đó, tôi cũng mong muốn mọi giáo viên Tin học luôn có ý thức tìm tòi, nghiên
cứu nâng cao trình độ, năng lực chuyên môn, thực hiện tốt công cuộc đổi mới
của ngành.

5
II. ĐIỂM MỚI CỦA ĐỀ TÀI
- Hiện nay Python là ngôn ngữ lập trình đang được sử dụng rộng rãi để tạo
ra các ứng dụng Trí tuệ nhân tạo (AI), phân tích dữ liệu lớn (Big data), học máy
(machine learning).... Trong chương trình GDPT mới 2018, python sẽ là một lựa
chọn phù hợp để giảng dạy cho học sinh THPT vì câu lệnh đơn giản ngắn gọn,
dễ viết, dễ tiếp cận. Với những lý do trên, trường chúng tôi đã triển khai dạy học
ngôn ngữ lập trình C++ song song với ngôn ngữ lập trình Python cho học sinh
khá giỏi thông qua các số hoạt động học tập như Sinh hoạt Câu lạc bộ Tin học,
trong bồi dưỡng học sinh khá giỏi và nghiên cứu khoa học kỹ thuật.
- Sáng kiến này là sự đón đầu giúp giáo viên chuẩn bị kiến thức chuyên
môn nghiệp vụ để triển khai chương trình chương trình GDPT 2018 một cách
hiệu quả nhất.
- Sáng kiến đã xây dựng các bài toán thành một hệ thống theo một trình tự
logic có sự sắp đặt của phương pháp và quy trình giải toán, giúp học sinh dễ
dàng tiếp cận với nội dung và rèn luyện tư duy thuật toán .
- Sáng kiến đã chọn lọc hệ thống các bài tập thích hợp, sắp xếp một cách
logic, hợp lí từ dễ đến khó nhằm giúp học sinh củng cố kiến thức, rèn luyện kỹ
năng phát triển tư duy và biết áp dụng Tin học vào thực tiễn.
- Thông qua việc hướng dẫn giải các bài toán giáo viên rèn luyện kỹ năng
lựa chọn thuật toán cho học sinh bằng cách định hướng, uốn nắn, trau chuốt
từng lời giải từng bài tập, qua đó góp phần tạo niềm tin và hứng thú học tập.

