
cv
SỞ GIÁO DỤC VÀ ĐÀO TẠO NGHỆ AN
TRƯỜNG THPT NGHI LỘC 3
--------------
SÁNG KIẾN KINH NGHIỆM
Tên đề tài:
MỘT SỐ GIẢI PHÁP
TĂNG TỐC ĐỘ CHẠY CODE PYTHON
Họ và tên: Hà Thi Hợi
MÔN: TIN HỌC
Số điện thoại: 0947131136
Năm thực hiện: 2023 - 2024

2
MỤC LỤC
MỤC LỤC ................................................................................................................... 2
PHẦN I. ĐẶT VẤN ĐỀ .............................................................................................. 4
1. LÝ DO CHỌN ĐỀ TÀI .......................................................................................... 4
2. MỤC ĐÍCH NGHIÊN CỨU .................................................................................. 4
3. ĐỐI TƯỢNG, PHẠM VI VÀ THỜI GIAN NGHIÊN CỨU .............................. 5
4. GIẢ THUYẾT KHOA HỌC .................................................................................. 5
5. NHIỆM VỤ VÀ PHƯƠNG PHÁP NGHIÊN CỨU: ........................................... 5
6. ĐÓNG GÓP MỚI CỦA ĐỀ TÀI ........................................................................... 6
PHẦN II. NỘI DUNG NGHIÊN CỨU ..................................................................... 7
CHƯƠNG 1. CƠ SỞ LÝ LUẬN VÀ THỰC TIỄN ................................................. 7
1. CƠ SỞ LÝ LUẬN CỦA ĐỀ TÀI ............................................................................ 7
2. CƠ SỞ THỰC TIỄN CỦA ĐỀ TÀI ....................................................................... 8
CHƯƠNG 2. MỘT SỐ GIẢI PHÁP ....................................................................... 10
1. TÌM HIỂU PYTHON ............................................................................................ 10
2. MỘT SỐ GIẢI PHÁP TĂNG TỐC ĐỘ CHẠY CODE PYTHON ................... 12
2.1. Dùng cấu trúc dữ liệu và thuật toán phù hợp ................................................. 12
2.1.1. Tại sao cấu trúc dữ liệu cần thiết? ................................................................ 12
2.1.2 Tại sao cần dùng thuật toán phù hợp? .......................................................... 17
a. Thuật toán tối ưu .................................................................................................. 17
b. Độ phức tạp của thuật toán và Lựa chọn cách giải thuật ................................ 17
c. Quy trình để viết một thuật toán ......................................................................... 19
d. Một số loại thuật toán cơ bản và những điều cần biết ...................................... 20
- Thuật toán sàng nguyên tố với Python ............................................................... 20
- Khi nào cần dùng đến sàng nguyên tố? .............................................................. 23
- Thuật toán sắp xếp của Python ........................................................................... 23
- Thuật toán tìm kiếm tuyến tính .......................................................................... 30
- Thuật toán tìm kiếm nhị phân............................................................................. 32
- Đánh giá độ phức tạp của các thuật toán ........................................................... 35
2.2. Dùng list comprehension thay vì vòng for ....................................................... 36

3
2.3 Hạn chế dùng biến global, Gán kết hợp nhiều biến ........................................ 36
2.4. Nối chuỗi bằng join, sử dụng import hợp lý, dùng 1 thay cho infinity loop 37
MINH HỌA MỘT SỐ CODE ................................................................................. 38
4. KHẢO SÁT SỰ CẤP THIẾT VÀ TÍNH KHẢ THI CỦA CÁC GIẢI PHÁP . 47
5. KHẢ NĂNG ỨNG DỤNG VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI. ........ 50
PHẦN III. KẾT LUẬN VÀ NHỮNG KIẾN NGHỊ .............................................. 51
PHỤ LỤC 1 ............................................................................................................... 53
PHỤ LỤC 2 ............................................................................................................... 56
1. PHIẾU KHẢO SÁT CÁC GIẢI PHÁP CỦA SÁNG KIẾN ............................. 56
2. HÌNH ẢNH BIỂU ĐỒ KHẢO SÁT TÍNH KHẢ THI VÀ CẤP THIẾT ........ 57
4. 20 ĐOẠN CODE PYTHON NÊN THUỘC LÒNG .......................................... 61
6. TÀI LIỆU THAM KHẢO .................................................................................... 70
DANH MỤC CÁC CHỮ VIẾT TẮT TRONG ĐỀ CƯƠNG ................................ 70

4
PHẦN I. ĐẶT VẤN ĐỀ
1. LÝ DO CHỌN ĐỀ TÀI
- Theo chương trình GDPT 2018 thì tin học lớp 10 là học ngôn ngữ lập trình
Python.
- Python là ngôn ngữ mã nguồn mở và cho phép cộng đồng có thể đóng góp bằng
cách bổ sung các module, các kho hàm số, thư viện thuật toán. Điều này làm cho
Python phát triển bùng nổ trong giới khoa học và giáo dục đại học. Đặc biệt trong một
số ngành mũi nhọn của CNTT như IoT, trí tuệ nhân tạo (AI), dữ liệu lớn (big data) và
CMCN 4.0, các phát triển rất nhanh thời gian gần đây của công nghệ đều gắn liền với
Python.
- Qua việc bồi dưỡng học sinh giỏi và dạy tin học ở trường, bản thân tôi nhận thấy
Python là một ngôn ngữ lập trình có cú pháp chặt chẽ, đơn giản dễ hiểu và có nhiều
công cụ hỗ trợ . Nhưng tốc độ chạy chương trình chậm hơn rất nhiều so với ngôn ngữ
lập trình khác như: C, C++, Pascal...
- Để đạt được những kết quả cao trong các kì thi là việc khó. Vì ngoài tiêu chí chấm
bài đúng thì còn có giới hạn về thời gian. Làm cách nào giúp cho học sinh nắm được
các kiến thức và kỹ năng phân tích các bài bài toán, tìm ra lời giải cho bài toán và lập
trình trên ngôn ngữ lập trình chạy nhanh nhất.
- Một vấn đề nữa cũng là rào cản đối với việc các học sinh tiếp cận với các đề thi học
sinh đó là: kỹ năng đọc đề, phân tích đề, tìm ra lời giải cho bài toán chưa tốt.
- Từ thực tế trên, trong quá trình bồi dưỡng và giảng dạy tôi luôn băn khoăn trăn trở
làm thế nào để giúp các em tìm ra được lời giải chính xác nhất và nhanh nhất của
các bài toán môn Tin học. Điều đó đã thúc đẩy tôi trong quá trình bồi dưỡng HSG và
giảng dạy phải tập trung rèn luyện cho học sinh. Đặc biệt tôi quan tâm đến kiến thức
để làm tăng tôc độ chạy code trên NNLT python. Vì thế nên tôi đã nghiên cứu và chọn
đề tài “Một số giải pháp tăng độ chạy code python” .
2. MỤC ĐÍCH NGHIÊN CỨU
Trong phạm vi đề tài của mình, chúng tôi nghiên cứu, tìm tòi một số giải pháp rèn
luyện kĩ năng và phát triển năng lực giải quyết bài toán tối ưu trên NNLT python cho
học sinh:
+ Rèn luyện kỹ năng phân tích bài toán, ứng dụng kiến thức tin học vào giải quyết
các bài toán .
+ Hiểu được mỗi quan hệ chặt chẽ giữa các môn tin học nói riêng cũng như giữa các
ngành khoa học nói chung.
+ Rèn luyện cho học sinh tư duy logic, khoa học; ham hiểu biết, tìm tòi, sáng tạo, say
mê môn học.
+ 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.

5
3. ĐỐI TƯỢNG, PHẠM VI VÀ THỜI GIAN NGHIÊN CỨU
3.1. Đối tượng nghiên cứu
+ Học sinh lớp 10 Trường THPT Nghi Lộc 3
+ Học sinh trong đội tuyển HSG của Trường THPT Nghi Lộc 3
3.2 Thời gian nghiên cứu
Từ Tháng 11 năm 2023 đến 15 tháng 3 năm 2024
3.2. Phạm vi nghiên cứu.
+ Khả năng học lập trình của học sinh lớp 10 và học sinh trong đội tuyển HSG.
trường THPT Nghi Lộc 3 .
+ Đề xuất một số giải pháp nhằm nâng cao chất lượng học lập trình cho học sinh
khối 10 và học sinh trong đội tuyển HSG.
4. GIẢ THUYẾT KHOA HỌC
- Nếu đề tài được áp dụng thành công thì sẽ giúp học sinh nâng cao chất lượng học
tập bộ môn lập trình trên NNLT python.
- Góp phần giúp nhà trường nâng cao chất lượng giáo dục học sinh. Đạc biệt là nâng
cao chất lượng đội tuyển HS giỏi.
- Giúp cho học sinh có đủ khả năng phân tích và tìm ra cách lập trình tối ưu nhất, chạy
nhanh nhất trên NNLT python .
5. NHIỆM VỤ VÀ PHƯƠNG PHÁP NGHIÊN CỨU:
5.1. Nhiệm vụ nghiên cứu
Sáng kiến kinh nghiệm có nhiệm vụ sau đây:
- Phân tích rõ thực trạng về việc dạy học tin học lớp 10 THPT.
- Xây dựng KHDH theo năng lực.
- Xây dựng các hoạt động hình thành kiến thức khi dạy học tin học theo định hướng
phát triển năng lực cho học sinh lớp 10 THPT
- Kết quả thực nghiệm.
5.2. Phương pháp nghiên cứu
Phương pháp thống kê, phân tích - tổng hợp, so sánh - đối chiếu.
Phương pháp nghiên cứu lý luận: 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.
Phương pháp nghiên cứu thực tiễn: Quan sát, điều tra - khảo sát, thực nghiệm sư
phạm, tổng kết kinh nghiệm, tham vấn chuyên gia.
* Nhiệm vụ nghiên cứu:
Nghiên cứu những cơ sở lí luận và thực tiễn của đề tài

