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 cn thiết dy hc cho hc sinh khá gii v ngôn ng lp
trình C++ và Python.
5
3. Tm quan trng ca ch đề Xâu t trong dy hc lp
trình.
6
II THỰC TRẠNG VẤN ĐỀ
6
1. Thc trng dy hc ngôn ng lp trình C++, Python các
trường THPT.
6
2. Thc trng dy hc ngôn ng lp trình C++, Python
trường chúng tôi.
7
3. Thc trng dy hc ch đề xâu d liệu cho đối tượng hc
sinh khá gii.
7
III GIẢI QUYẾT VẤN ĐỀ
8
1 Một số đặc nh kiến thứ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++ 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 luyn k năng sử dng thao tác x lý xâu qua mt 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 ớng năng lực”.
Trong chương trình giáo dục phổ thông mới, bmôn Tin họ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 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 tính cập nhật, hiện đại,
thông dụng nC++, 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 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 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 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.
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 tviệ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ộ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á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 định hướng những học sinh
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 tự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ử xâu tự cũng
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 chuyên môn, ham học hỏi tôi luôn tìm tòi
nghiên cứu tôi đã 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 đã đạ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 tự cho học sinh kgiỏi trong ngôn ngữ lập trình C++ 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 giúp giáo viên 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 ý thức tìm 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 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, tng chúng tôi đã trin khai dy hc
ngôn ng lp trình C++ song song vi ngôn ng lp trình Python cho hc sinh
khá gii thông qua các s hoạt động hc tập như Sinh hot Câu lc b Tin hc,
trong bồi dưỡng hc sinh khá gii và nghiên cu khoa hc k thut.
- Sáng kiến này s đón đu giúp giáo viên chun b kiến thc chuyên
môn nghip v để triển khai chương trình chương trình GDPT 2018 mt cách
hiu qu nht.
- Sáng kiến đã xây dng các bài toán thành mt h thng theo mt trình t
logic s sắp đặt ca phương pháp quy trình giải toán, giúp hc sinh d
dàng tiếp cn vi ni 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 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.