Sáng kiến kinh nghiệm 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

Thực trạng dạy học ngôn ngữ lập trình C++, Python ở các trường THPT.

Ngôn ngữ lập trình C++, Python là ngôn ngữ được định hướng dạy học

trong chương trình GDPT 2018 và được khuyến khích triển khai dạy học trong

giai đoạn chuyển tiếp hiện nay nhưng việc thực hiện còn có một số khó khăn

nhất định:

+ SGK hiện hành dùng ngôn ngữ lập trình Pascal để minh họa nên học

sinh không có sách phù hợp để làm tài liệu học tập. Việc tìm kiếm tài liệu dạy

học phù hợp trình độ học sinh rất vất vả.

+ Đối với giáo viên việc trao đổi, chia sẻ, học hỏi kinh nghiệm gặp nhiều

khó khăn do hầu hết đội ngũ giáo viên đều quen với ngôn ngữ lập trình Pascal,

chưa mạnh dạn chuyển sang dạy ngôn ngữ khác có tính ưu việt hơn.

+ Kiến thức về lập trình không nằm trong nội dung thi THPT quốc gia

nên hầu hết học sinh không coi trọng, ít học bài và làm bài tập chỉ những học

sinh đã yêu thích, đam mê mới đầu tư thời gian cho việc học lập trình. Vì thế

lượng giáo viên đam mê chuyên môn, đầu tư thời gian trăn trở nghiên cứu cải

tiến cách dạy, cách học không nhiều.

+ Thời lượng dành cho dạy học ngôn ngữ lập trình 1,5 tiết/tuần, để mô tả

thuật toán giải các bài toán trên máy tính là rất ít để có thể hiểu rõ ràng và áp

dụng thành thạo ngôn ngữ lập trình. Thêm vào đó, cơ sở vật chất chưa đáp ứng

được nhu cầu học tập nên việc triển khai dạy học chỉ có thể giúp học sinh hiểu

được cơ bản quá trình giải một bài toán trên máy tính, còn để tất cả học sinh tự

giải một bài hoàn chỉnh là rất khó.

pdf46 trang | Chia sẻ: thuydung3ka2 | Ngày: 04/03/2022 | Lượt xem: 2414 | Lượt tải: 4Download
Bạn đang xem 20 trang mẫu của tài liệu "Sáng kiến kinh nghiệm 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ải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
dài nhất (Đề thi HSG tỉnh lớp 12 năm học 2012 – 2013) 
Xâu S được gọi là xâu con chung của xâu S1 và xâu S2 nếu xâu S là một 
dãy các ký tự liên tiếp trong S1 và cũng là dãy các ký tự liên tiếp trong S2. 
Yêu cầu: Cho hai xâu kí tự S1 và S2 (có không quá 255 ký tự). Hãy tìm 
một xâu con chung S dài nhất của hai xâu S1 và S2. Ví dụ: S1 = ‘Ky thi học sinh 
gioi Tinh môn Tin hoc’, S2 = ’hoc sinh gioi mon Tin hoc’ thì S =‘hoc sinh gioi '. 
Dữ liệu vào từ file văn bản Bai2.inp: 
Dòng đầu tiên ghi xâu S1; 
Dòng thứ hai ghi xâu S2. 
Kết quả ghi ra file văn bản Bai2.out: Chỉ một số duy nhất là độ dài của 
xâu con chung dài nhất S. (Nếu hai xâu S1, S2 không có kí tự nào chung thì ghi 
số 0). 
Ví dụ: 
Bai2.inp Bai2.inp 
Ky thi hoc sinh gioi Tinh mon tin hoc 
hoc sinh gioi mon Tin hoc 
14 
Gợi ý: Đây là bài toán tìm xâu con dài nhất của một xâu trong xâu còn lại. Ta sẽ 
sử dụng cách duyệt theo phương pháp kiểm tra độ dài để kiểm tra sự xuất hiện 
của xâu con ở xâu ngắn hơn trong xâu còn lại 
 36 
Bài 7: Chuẩn hóa văn bản: 
Một văn bản được gọi là văn bản chuẩn nếu: 
- Hai từ liền nhau có duy nhất một dấu cách trống. 
- Dấu ngắt câu (dấu chấm, dấu phẩy, dấu chấm phẩy, dấu chấm hỏi, dấu 
chấm than) được đặt sát vào từ ngay trước nó, sau đó mới đến dấu cách trống. 
- Dấu mở ngoặc đặt sát vào phía bên trái của từ bắt đầu mở ngoặc. 
- Dấu đóng ngoặc đặt sát bên phải từ cuối cùng được đóng ngoặc. 
Hãy viết chương trình nhập vào 1 xâu văn bản, đưa ra xâu đó ở dạng văn 
bản chuẩn. 
Gợi ý: 
- Xóa các dấu cách thừa: thực hiện như bài tập 2 của mục 2.2.1 hoặc có 
thể dùng lệnh for lùi duyệt để tìm và xóa. 
- Xử lý với các dấu câu: 
+ Dùng xâu phụ để chứa các dấu câu: s1=".,;?!)"; 
+ Duyệt từng ký tự i của xâu s: 
+/ Nếu s[i] có mặt trong xâu s1 thì xóa dấu cách phía trước nếu có và 
thêm dấu cách phía sau nếu chưa có. 
+/ Nếu s[i] là dấu ngoặc mở thì xóa dấu cách phía sau nếu có và thêm dấu 
cách phía trước nếu chưa có. 
Bài 8. ĐOẠN MAX (Đề thi HSG tỉnh lớp 12 năm học 2013 – 2014) 
Cho chuỗi kí tự S gồm toàn các chữ cái in hoa (AZ) với độ dài không 
vượt quá 104. 
Yêu cầu: Hãy tìm đoạn con các kí tự liên tiếp dài nhất sao cho không có 
kí tự nào xuất hiện nhiều hơn một lần. Trong trường hợp có nhiều hơn một đoạn 
con có cùng chiều dài dài nhất, hãy chỉ ra đoạn xuất hiện đầu tiên trong chuỗi S. 
Dữ liệu: Vào từ văn bản DOANMAX.INP: 
- Gồm một dòng duy nhất chứa chuỗi S. 
Kết quả: Ghi ra file văn bản DOANMAX.OUT 
- Chỉ một dòng duy nhất chứa số nguyên P và L tương ứng là vị trí và 
chiều dài của đoạn con dài nhất tìm được. 
Ví dụ: 
DOANMAX.INP DOANMAX.OUT 
ABABCDAC 3 4 
 37 
Gợi ý: 
Với bài toán này ta sử dụng phương pháp kiểm tra theo độ dài. 
Vì đoạn con yêu cầu các ký tự xuất hiện không lớn hơn một lần nên ta chỉ 
cần kiểm tra các xâu có độ độ dài từ 26 trở xuống. 
Để kiểm tra tính duy nhất của mỗi ký tự trong dãy con, ta xây dựng hàm 
KT(i,j) trả về giá trị True khi mỗi ký tự trong đoạn i,j là duy nhất. Ta có thể sử 
dụng mảng đánh dấu với chỉ số tương ứng từ A-Z để phát hiện một ký tự trong 
đoạn con đã xuất hiện để trả nhanh về giá trị false. 
Bài 9: Quản lý thi: 
Trong công tác tổ chức các kỳ thi, để đảm bảo tính khách quan, công bằng 
cho các thí sinh, một công đoạn hết sức quan trọng là lập danh sách dự thi và 
đánh số báo danh. Để đánh số báo danh, danh sách thí sinh phải được sắp xếp 
với tên theo bảng chữ cái. 
Em hãy viết chương trình giúp cán bộ làm công tác thi sắp xếp danh sách 
thí sinh theo bảng chữ cái. 
Dữ liệu: Vào từ file văn bản THISINH.INP, gồm: 
- Dòng đầu tiên ghi một số nguyên N. 
- N dòng tiếp theo mỗi dòng ghi một xâu là họ và tên của thí sinh. 
Kết quả: Ghi ra file văn bản THISINH.OUT: gồm N dòng, mỗi dòng ghi 
họ tên của một thí theo thứ tự tên đã được sắp xếp theo bảng chữ cái. 
Giới hạn: 0 < N < 30000; 
Ví dụ: 
THISINH.INP THISINH.OUT 
3 
Hoang Thi Hoa 
Nguyen Van Thuy 
Tran Thi An 
Tran Thi An 
Hoang Thi Hoa 
Nguyen Van Thuy 
Gợi ý: 
- Dùng mảng hoten dùng để lưu danh sách thí sinh: hoten[i] ghi họ và tên 
thí sinh i. 
- Với mỗi thí sinh i, tách lấy phần tên lưu vào mảng: ten[i]. 
- Sắp xếp mảng tên theo thứ tự tăng dần, với mỗi lượt tráo đổi 2 phần tử 
trong mảng tên thì tráo đổi luôn 2 phần tử tương ứng trong mảng hoten. 
- Xuất ra kết quả là danh sách thí sinh trong mảng hoten sau khi sắp xếp. 
 38 
Bài 10. SỐ ĐƠN ĐIỆU 
(Đề thi HSG tỉnh lớp 11 năm học 2013 – 2014) 
Số a1, a2, , an được gọi là số đơn điệu nếu ai ai+2 hoặc ai > 
ai+1 < ai+2 (i=1, 2)n  Số có một chữ số; số có hai chữ số khác nhau cũng 
được gọi là số đơn điệu lần lượt có độ dài bằng 1; 2. 
Ví dụ: Các số 5, 58, 3748, 32435465768 là số đơn điệu vì: 
Số 5 có 1 chữ số 
Số 58 có 2 chữ số khác nhau. 
Số 3748 có: 3 4 < 8 
Số 32435465768 ta thấy: 3 > 2 3 4 5 6 < 8 
Yêu cầu: Viết chương trình xác định số chữ số lớn nhất tạo thành số đơn điệu 
của một số cho trước. 
Dữ liệu: 
Vào từ file văn bản SDD.INP: Gồm một số nguyên dương N có không 
quá 75 chữ số. 
Kết quả: 
Ghi ra file văn bản SDD.OUT: Chứa số nguyên là số chữ số lớn nhất tạo 
thành đoạn số đơn điệu của số N. 
Ví dụ: 
SDD.INP SDD.OUT 
3748 4 
Gợi ý: 
Số nguyên N có thể có 75 chữ số nên ta không thể xử lý bằng kiểu dữ liệu 
số. Ta sẽ đọc số nguyên N vào 1 xâu ký tự và xử lý theo các thao tác xử lý xâu. 
Ta đưa bài toán về dạng tìm xâu con dài nhất của xâu tạo thành dãy đơn điệu 
(các ký tự trong dãy tăng, giảm đan xen). Ta có thể biểu diễn diễn tính đơn điệu 
của một phần tử s[i] bằng biểu thức s[i]-s[i-1]*s[i]-s[i+1] <0. 
Khi đó yêu cầu của bài toán trở thành tìm độ dài k của xâu con dài nhất 
chứa mà mọi phần tử i trong xâu con đều thỏa mãn s[i]-s[i-1]*s[i]-s[i+1] <0 và 
lúc đó kết quả cần in ra là k+2. 
Bài toán yêu cầu tìm xâu con dài nhất nhưng xâu đơn điệu có tính chất: 
mọi xâu con của xâu đơn điệu đều đơn điệu nên ta sử dụng phương pháp phát 
triển xâu con sẽ tốt hơn phương pháp kiểm tra theo độ dài. 
 39 
Bài 11. CENSOR (Đề thi HSG tỉnh lớp 11 năm học 2015 – 2016) 
Cho một xâu S có độ dài tối đa là 106 ký tự. Trong xâu S người ta loại bỏ 
sự xuất hiện của một xâu con T có độ dài ≤ 100 ký tự. Để làm điều này, người ta 
tìm sự xuất hiện của T lần đầu tiên trong S và xóa nó. Sau đó cứ lặp đi lặp lại 
quá trình này cho đến khi không còn sự xuất hiện của T trong S. Lưu ý rằng việc 
xóa một lần xuất hiện có thể tạo ra một sự xuất hiện mới của T chưa từng tồn tại 
trước đó. Hãy xác định nội dung cuối cùng của xâu S. 
Dữ liệu: Vào từ file văn bản CENSOR.INP: 
Dòng đầu tiên chứa xâu S. 
Dòng thứ hai chứa xâu T. Chiều dài của xâu T bé hơn chiều dài của S, và 
tất cả các kí tự của S và T đều là ký tự thường (trong phạm vi từ a..z). 
Kết quả: Ghi ra file văn bản CENSOR.OUT chỉ một dòng chứa xâu S sau 
khi đã xóa bỏ hết T. Đảm bảo rằng S sẽ không trở nên xâu rỗng trong quá trình 
xóa. 
Ví dụ 
CENSOR.INP CENSOR.OUT 
whatthemomooofun 
moo 
whatthefun 
Gợi ý: 
Ta nếu ta sử dụng lệnh find() kết hợp câu lệnh while để tìm các xâu T 
trong xâu S rồi xóa thì kết quả vẫn đúng nhưng sẽ không đảm bảo được thời 
gian nên ta sẽ dùng cách sau: 
- Dùng thêm biến X để chứa kết quả, ban đầu X là xâu rổng; biến ls,lt, lx 
lần lượt lưu độ dài của xâu S, T, X. 
- Lần lượt duyệt từng ký tự S[i] của xâu S: 
+ Nối S[i] vào X, nếu lx>=lt thì sao chép lt ký tự cuối của xâu x và 
biến tg. 
+ Nếu tg = T thì xóa trong lt ký tự cuối của xâu X. 
- Sau khi duyệt hết các ký tự của xâu S thì xâu X chứa kết quả cần tìm. 
Bài 12. ITOA - Chuyển số thành xâu. 
( 
Viết chương trình nhập vào các cặp số (a,b). Tính tổng a+b và ghép chúng 
thành một xâu ký tự. Kiểm tra xem xâu ký tự đó có đối xứng hay không? 
Dữ liệu nhập: 
- Dòng 1 ghi n là số cặp (ai,bi) (n<=109) ; 
- n dòng kế tiếp ghi 2 số nguyên a,b (0<a,b<109) 
 40 
Dữ liệu xuất: 
- Ghi YES nếu xâu biểu diễn cuối cùng là đối xứng, ghi NO nếu xâu 
không đối xứng 
 Ví dụ 
input output 
2 
12 12 
21 21 
yes 
Với n=2 ta có 2 cặp (a,b) có tổng tương ứng là: 12+12=24 và 21+21=42. 
Ta ghép lại thành một xâu 2442 là một xâu đối xứng. 
Gợi ý: 
 - Xây dựng hàm KTĐX(string s) đưa vào xâu s, lấy ra giá trị true nếu xâu 
đó đối xứng, giá trị false nếu xâu không đối xứng. 
- Đọc số lượng dòng vào n, đọc từng dòng vào cặp số vào a, b; tính tổng 
a,b sau đó chuyển tổng sang dạng xâu rồi nối vào kết quả. Gọi hàm KTĐX trên 
xâu kq để ghi đáp án. 
Bài 13. RADIO(Đề thi HSG tỉnh lớp 11 năm học 2015 – 2016) 
Một đài phát thanh cần phát một thông tin quan trọng tới người dân. Để 
chắc chắn mọi người đều nghe được thông tin nên đài sẽ phát đi phát lại thông 
tin đó nhiều lần. Cho một chuỗi các ký tự mà một người dân nghe được. Hãy 
xác định chuỗi ngắn nhất các ký tự mà có thể là thông tin cần phát. Chính xác 
hơn là hãy xác định chuỗi S’ từ chuỗi S đã cho sao cho S có trong chuỗi lặp lại 
S’+S’+..+S’. 
Dữ liệu: Vào từ file RADIO.INP 
Dòng đầu chứa một số nguyên L là độ dài chuỗi S. (1 < L < 1000000) 
Dòng thứ 2 chứa đúng L ký tự của chuỗi S. S chỉ chứa các ký tự từ a..z. 
Kết quả: Ghi ra file RADIO.OUT 
Độ dài L’ của xâu S’. Lưu ý L’ phải nhỏ nhất có thể. 
Ví dụ: 
RADIO.INP RADIO.OUT 
8 
cabcabca 
3 
Giải thích test: Các thông tin có thể là abc, cab, abcabc, thông tin ngắn 
nhất là 3 ký tự. 
Hạn chế: Có 60% test có L < 100. 
 41 
Gợi ý: Gọi l1 là độ dài của xâu S’ thỏa mãn điều kiện. 
Ta duyệt l1 lần lượt từ 1 đến L (độ dài từ nhỏ đến lớn) nếu gặp trường họp 
thỏa mãn thì ta dừng việc duyệt và khi đó l1 là kết quả cần tìm. 
Để kiểm tra độ dài l1 có thỏa mãn hay k, ta kiểm tra các cặp ký tự cách 
nhau l1 đơn vị, nếu chỉ cần phát hiện 1 cặp khác nhau thì nó đã không thỏa mãn. 
Bài 14: ĐẾM TỪ (Đề thi HSG tỉnh lớp 11 năm học 2019 – 2020) 
Bessie đã gặp một dòng văn bản hấp dẫn được khắc vào một tảng đá lớn ở 
giữa vùng chăn thả bò yêu thích của cô. Ý nghĩa của dòng văn bản dường như là 
từ một ngôn ngữ cổ xưa bí ẩn liên quan đến một bảng chữ cái chỉ gồm ba ký tự 
C, O, và W. Mặc dù Bessie không thể giải mã văn bản nhưng COW là mẫu từ 
yêu thích của cô, và cô tự hỏi có bao nhiêu lần COW xuất hiện trong dòng văn 
bản. 
 Bessie không phiền lòng nếu có những kí tự khác xen kẽ trong COW, 
miễn rằng các kí tự xuất hiện theo thứ tự đúng là C, O, W. Cô cũng không ngại 
nếu các lần xuất hiện khác nhau của COW có chung một số chữ cái. Ví dụ, 
COW xuất hiện một lần trong CWOW, hai lần trong CCOW, và tám lần trong 
CCOOWW. 
Bạn hãy vui lòng giúp Bessie đếm xem có bao nhiêu lần COW xuất hiện 
trong dòng văn bản đã gặp. 
Dữ liệu: Vào từ file văn bản COW.INP: 
Dòng đầu tiên gồm một số nguyên duy nhất N ≤ 105. 
Dòng thứ hai chứa một chuỗi gồm N ký tự C, O, hay W. 
Kết quả: Ghi ra file văn bản COW.OUT chỉ một số nguyên duy nhất là số 
lần COW xuất hiện như một dãy con (các kí tự không nhất thiết phải liên tục) 
trong chuỗi input. 
Lưu ý rằng các kết quả có thể rất lớn, vì vậy để chắc chắn hãy sử dụng số 
nguyên 64 bit để làm các phép tính của bạn. 
Ví dụ: 
COW.INP COW.OUT 
6 
COOWWW 
6 
Hạn chế: Có 50% số test có N < 255. 
Gợi ý: 
- Dùng: + Biến slC để lưu số lượng ký tự C tính từ đầu đến vị trí đang xét. 
+ Biến slCO để lưu số lượng cách ghép thành cặp ký tự CO tính từ đầu 
đến vị trí đang xét. 
+ Biến kq để lưu số lượng cách ghép các ký tự thành COW tính từ đầu 
đến vị trí đang xét. 
 42 
- Duyệt các ký tự trong xâu từ trái sang phải: 
+ Nếu gặp ký tự C ta tăng slC lên 1. 
+ Nếu gặp ký tự O: Thì ta lấy các ký tự C ghép với ký tự O này ta có thêm 
slC cách ghép, vậy slCO = slCO + slC; 
+ Nếu gặp ký tự W: Thì ta lấy các cặp ký tự CO phía trước ghép với ký tự 
W này ta có thêm slCO cách ghép, vậy kq = kq + slCO. 
Như vậy, khi duyệt xong đáp số của bài toán được lưu trong biến kq. 
Bài 15. Mật Khẩu ( 
Một xâu ký tự được gọi là mật khẩu “an toàn” nếu xâu có độ dài ít nhất 
bằng 6 và chứa ít nhất một chữ cái in hoa, một chữ cái thường, một chữ số. 
Ví dụ, ‘a1B2C3’, ‘tinHoc6’ là hai mật khẩu “an toàn”. Còn ‘a1B2C’, 
’a1b2c3’, ‘A1B2C3’, ‘tinHoc’ đều không phải là mật khẩu “an toàn”. 
Một lần, Sắn nhìn thấy một xâu S, chỉ gồm các loại ký tự: chữ cái in hoa, 
chữ cái thường và chữ số. Sắn muốn tự kiểm tra khả năng đoán nhận mật khẩu 
bằng cách đếm xem có bao nhiêu cặp chỉ số (i, j) thỏa mãn điều kiện: 1 ≤ i < j 
≤ length(S) và xâu con gồm các ký tự liên tiếp từ i đến j của S là mật khẩu “an 
toàn”. 
Cho xâu S, các bạn hãy tính số lượng cặp chỉ số (i, j) thỏa mãn điều kiện 
nêu trên. 
Dữ liệu nhập: 
 - Một dòng chứa xâu S có độ dài không quá 106. 
Kết quả: 
 - In ra một số nguyên duy nhất là số cặp chỉ số (i, j) tìm được. 
Ví dụ: 
Input OutPut 
abc3456789PQ 6 
abc123 0 
Gợi ý: 
- Dùng biến c1,c2,c3 để đánh dấu sử có mặt lần lượt các loại ký tự hoa, 
thường, số; các biến =0 nếu k có mặt, bằng 1 nếu có mặt loại ký tự này. 
- Xây dựng hàm KTMK(long i,j) đưa vào xâu con từ I đến j, lấy ra giá trị 
true nếu nó thỏa mãn mật khẩu, false nếu k phải là mật khẩu. 
- Duyệt xét các xâu con để tính số lượng xâu thỏa mãn. Lưu ý nếu đoạn 
từ j đến j thỏa mãn thì mọi đoạn con phủ đoạn từ i đến j đều thỏa mãn, ta dùng 
công thức để tích số cách chọn, sau đó bỏ qua các đoạn con đã được tính, rồi 
duyệt các chỉ số đầu tiếp theo 
 43 
IV - HIỆU QUẢ CỦA SÁNG KIẾN. 
Sau khi áp dụng đề tài rèn luyện kỹ năng lập trình về chủ đề xâu ký tự 
trên đối tượng học sinh khá giỏi, đã thu được một số kết quả tích cực, đáng ghi 
nhận sau: 
* Kết quả khảo sát, thực nghiệm tại đơn vị: 
 Tiến hành khảo sát kỹ năng giải quyết các bài tập chủ đề xâu dữ liệu qua 
quá trình giảng dạy và các bài kiểm tra có 88% học sinh giải được 95% bài tập 
mức độ dễ; 86% học sinh giải được 90% bài tập mức độ trung bình; 76% học 
sinh giải được 70% bài tập mức độ khó; 
Khảo sát mức độ hứng thú, yêu thích môn học, mong muốn theo ngành 
CNTT qua việc lấy ý kiến trước và sau khi áp dụng đề tài. Có 89% học sinh yêu 
thích lập trình; 72% học sinh được hỏi có mong muốn học tập lâu dài và theo 
đuổi ngành công nghệ thông tin; 
Qua khảo sát cho thấy việc áp dụng đề tài vào dạy học rất là cần thiết. 
* Đối với học sinh đã có sự tiến bộ rõ rệt về các mặt sau: 
+ Năng lực phân tích, nhận dạng và lựa chọn được thuật toán thích hợp để 
giải quyết các bài toán về xâu ký tự. 
+ Khả năng đánh giá độ phức tạp của thuật toán. 
+ Khả năng tư duy thuật toán, phát huy tính sáng tạo. 
+ Năng lực vận dụng các kiến thức đã học vào giải quyết vấn đề. 
+ Trình bày thuật toán, diễn đạt chương trình rõ ràng, chuẩn xác. 
+ Mức độ yêu thích, say mê học tập với môn học tăng lên rõ rệt, hầu hết 
các em đều hứng thú và mong muốn được học tập chuyên sâu để làm việc trong 
ngành CNTT. 
+ Trong năm học này các em đã có những thành tích đáng tự hào. Trong 
kỳ thi học sinh giỏi tỉnh khối 12 học sinh của tôi đã đạt giải Nhì và có em học 
sinh khối 11 đã xây dựng được phần mềm ứng dụng thực tiễn đạt giải Ba trong 
kỳ thi khoa học kỹ thuật cấp tỉnh. 
 44 
Phần 3: KẾT LUẬN: 
 I - KẾT LUẬN CHUNG: 
Trong quá trình nghiên cứu các tài liệu về chương trình môn Tin học 
trong chương trình giáo dục phổ thông 2018 và các tài liệu để nâng cao chuyên 
môn nghiệp vụ, nghiên cứu về các ngôn ngữ lập trình thích hợp hơn trong 
chương trình mới với hai định hướng chính là STEM và Algorithm với NNLT 
C++ và Python, tôi đã chú trọng nghiên cứu chủ đề Xâu ký tự và hiệu quả dạy 
học chủ đề xâu ký tự trên đối tượng học sinh khá giỏi ở trường THPT. 
Kể từ năm học 2019 - 2020 tôi đã sưu tầm, đọc tài liệu tham khảo, nghiên 
cứu các văn bản liên quan đến các vấn đề của đề tài này. Điều tra, khảo sát về 
thực trạng và chất lượng dạy học bộ môn Tin học trong giai đoạn vừa qua đã 
làm nảy sinh Sáng kiến này. 
- Tôi hoàn thành nội dung đề tài, báo cáo thành chuyên đề trong các lần 
họp tổ chuyên môn để cùng đồng nghiệp bổ sung những thiếu sót của đề tài. 
Giao lưu học hỏi, trao đổi kinh nghiệm với các đồng môn ở các trường bạn. 
- Thực nghiệm dạy học, hướng dẫn học sinh nghiêm túc nghiên cứu và 
thực hiện đề tài nhằm nâng cao khả năng vận dụng kiến thức bộ môn vào giải 
quyết bài toán thực tiễn. 
 - Đề tài đã được áp dụng vào việc dạy học trong bồi dưỡng học sinh khá 
giỏi và trong sinh hoạt Câu lạc bộ Tin học ở trường chúng tôi. Trong quá trình 
thực nghiệm sư phạm chúng tôi đã quan sát, thống kê, phân tích, tổng hợp, so 
sánh, đối chiếu, đánh giá về hiệu quả của đề tài và tiếp tục bổ sung, hoàn thiện. 
 II- Ý NGHĨA CỦA ĐỀ TÀI 
- Với bản thân nghiên cứu đề tài sáng kiến kinh nghiệm là việc làm tốt để 
nghiên cứu khoa học làm quen với phương pháp làm khoa học tuy chỉ trong 
phạm vi hẹp nhưng với nỗ lực của bản thân và sự giúp đỡ của đồng nghiệp đã có 
những đề tài khoa học tốt, lý thú và hiệu quả. 
- Đề tài có thể làm tài tiệu tham khảo hữu ích đối với các đồng nghiệp 
trong việc thực hiện chương trình giáo dục phổ thông mới, góp phần nâng cao 
chất lượng, hiệu quả công tác giảng dạy môn Tin học. 
 - Nội dung đề tài có thể làm tài liệu tham khảo quý cho học sinh các 
trường Trung học phổ thông, góp phần nâng cao kiến thức, kỹ năng giải các bài 
tập. Tạo niềm đam mê môn học cũng như yêu thích ngành Công nghệ thông tin. 
- Cũng qua đề tài, tôi muốn cùng đồng nghiệp trao đổi, trau dồi chuyên 
môn nhằm góp phần nâng cao trình độ chuyên môn nghiệp vụ và khả năng mở 
rộng kiến thức. 
 45 
III – PHẠM VI ỨNG DỤNG, MỞ RỘNG CỦA ĐỀ TÀI: 
- Sáng kiến này có thể áp dụng để dạy học cho đối tượng học sinh yêu 
thích, học sinh khá, giỏi bộ môn tin học, giáo viên Tin học không chỉ ở trường 
tôi trong những năm học tới mà có thể ứng dụng ở bất cứ địa phương nào, ngôi 
trường nào. 
- Đề tài có thể ứng dụng vào giải quyết các bài toán thực tiễn, có thể phát 
triển, mở rộng đề tài để giải quyết các bài toán phức tạp hơn. 
- Có thể áp dụng tư tưởng, cách thức, phương pháp của đề tài vào các 
phần nội dung khác, chủ đề khác của chương trình Tin học. 
IV – ĐỀ XUẤT: 
* Đối với tư tưởng suy nghĩ của giáo viên và học sinh: 
- Giáo viên cần tích cực xây dựng nội dung khoa học, lựa chọn phương 
pháp phù hợp, tạo sự hứng thú, tạo động cơ học tập cho học sinh. 
- Tăng cường trao đổi học tập kinh nghiệm lẫn nhau, tích cực đổi mới 
phương pháp, kỹ thuật dạy học, vận dụng kiến thức bộ môn để giải quyết các 
vấn đề của thực tiễn cuộc sống. 
- Đối với tổ bộ môn phải nhận thấy được kiến thức chủ đề Xâu dữ liệu đặc 
biệt quan trọng và tính ứng dụng thực tiễn rất cao cần đầu tư thời gian chú trọng 
hơn vào chủ đề này. 
* Đối với các tổ chức quản lí chỉ đạo. 
- Các nhà trường cần chỉ đạo loại bỏ NNLT Pascal , triển khai đưa NNLT 
C++ và Python vào dạy học. 
- Tạo điều kiện để giáo viên được giao lưu với các đơn vị trên địa bàn 
thông qua các cuộc hội thảo chuyên đề. 
- Chỉ đạo các giáo viên tích cực nghiên cứu, đổi mới dạy học, nâng cao 
trình độ chuyên môn, nghiệp vụ. 
- Cần giới thiệu, triển khai, mở rộng ứng dụng các sáng kiến. 
Lời cảm ơn: Đề tài của tôi hoàn thành nhờ vào sự giúp đỡ của các bạn bè 
và đồng nghiệp. Tôi xin chân thành cám ơn thầy cô, các bạn bè đồng nghiệp và 
các em học sinh đã giúp tôi hoàn thành sáng kiến này. Rất mong được sự đóng 
góp, tham gia ý kiến để khắc phục những khuyết điểm và hạn chế để đề tài của 
tôi được hoàn thiện và thực sự hữu ích hơn. 
Nghệ An, ngày 15 tháng 03 năm 2021 
Tác giả đề tài 
 46 
TÀI LIỆU THAM KHẢO 
1. Bộ Giáo dục và Đào tạo, Chương trình giáo dục phổ thông môn Tin học 
2018. Thông tư số 32/2018/TT-BGDĐT, Hà Nội. 
2. Hồ Sỹ Đàm, Sách giáo khoa Tin học 10 (2011). Nhà xuất bản giáo dục, 
Hà Nội. 
3. Hồ Sỹ Đàm, Sách giáo khoa Tin học 11 (2011). Nhà xuất bản giáo dục, 
Hà Nội. 
4. Hồ Sỹ Đàm, Sách bài tập Tin học 11 (2011). Nhà xuất bản giáo dục, 
Hà Nội 
5. Bùi Việt Hà, Python cơ bản, Nhà xuất bản Đại Học Quốc Gia Hà Nội 6. 
6. Bùi Việt Hà – Bùi Vũ Huy, Lời giải bài tập Python cơ bản, Nhà xuất 
bản Đại Học Quốc Gia Hà Nội 
7. Một số tài liệu, trang mạng liên quan: 
https://vnoi.info/problems/list/; 
 .. 

File đính kèm:

  • pdfsang_kien_kinh_nghiem_ren_luyen_ky_nang_lap_trinh_voi_chu_de.pdf
Sáng Kiến Liên Quan