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
MC LC
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 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 bn nhng đ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ẾTTÍ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 ngôn ngữ nguồn mcho phép cộng đồng thể đóng góp bằng
cách bổ sung các module, các kho hàm số, tviệ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 vic bồi dưỡng hc sinh gii dy tin hc trường, bn thân tôi nhn thy
Python mt ngôn ng lp trình pháp cht chẽ, đơn gin d hiu nhiu
công c h tr . Nhưng tốc độ chạy chương trình chậmn rất nhiu so vi ngôn ng
lập trình khác như: C, C++, Pascal...
- Để đạt được nhng kết qu cao trong các kì thi là vic khó. Vì ngoài tiêu chí chm
bài đúng thì còn có gii hn v thi gian. Làm cách nào giúp cho hc sinh nắm được
các kiến thc và k năng phân tích các bài bài toán, tìm ra li gii cho bài toán và lp
trình trên ngôn ng lp trình chy nhanh nht.
- Mt vấn đề nữa cũng là rào cản đối vi vic các hc sinh tiếp cn với các đề thi hc
sinh đó là: k ng đọc đề, phân tích đề, tìm ra li giải cho bài toán chưa tốt.
- T thc tế trên, trong quá trình bồi dưỡng ging 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 li gii chính xác nht nhanh nht ca
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à
ging dy phi tp trung rèn luyn cho hc sinh. Đặc biệt tôi quan tâm đến kiến thc
để làm tăng tôc độ chy code trên NNLT python. thế nên tôi đã nghiên cứu chọn
đề tài “Một số giải pháp tăng độ chạy code python.
2. MỤC ĐÍCH NGHIÊN CU
Trong phạm vi đề tài của mình, chúng tôi nghiên cứu, tìm tòi mt 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, PHM VI VÀ THI GIAN NGHIÊN CU
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 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 THUYT KHOA HC
- 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 nâng
cao chất lượng đội tuyển HS giỏi.
- Giúp cho học sinh đủ khả năng phân tích tìm ra cách lập trình tối ưu nhất, chạy
nhanh nhất trên NNLT python .
5. NHIM 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ựngc hot độngnh tnh kiến thc khi dy hc tin học theo định hưng
phát trin năng lc cho hc sinh lp 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 - tng hp, so sánh - đối chiếu.
Phương pháp nghiên cứu lý luận: Sưu tầm, đọc tài liu tham kho, nghiên cu
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 thc tiễn: Quan sát, điều tra - kho sát, thc nghiệm
phm, tng kết kinh nghim, tham vn chuyên gia.
* Nhim v nghiên cu:
Nghiên cu nhng cơ sở lí lun và thc tin ca đề tài