Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 61 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
61
Dung lượng
1,35 MB
Nội dung
SỞ GIÁO DỤC VÀ ĐÀO TẠO NGHỆ AN TRƯỜNG THPT NGHI LỘC SÁNG KIẾN KINH NGHIỆM ĐỀ TÀI “RÈN LUYỆN KĨ NĂNG, VÂN DỤNG VÀ PHÁT TRIỂN TƯ DUY LẬP TRÌNH BẰNG CÁCH PHÂN TÍCH VÀ MỞ RỘNG CÁC BÀI TOÁN ĐƠN GIẢN” Lĩnh vực: Tin Học Thực hiện:Trần Thị Thủy Chức vụ: Giáo viên Số điện thoại: 0848919111 Emai: tttpdl@gmail.com Nghệ An năm 2022 SỞ GIÁO DỤC VÀ ĐÀO TẠO NGHỆ AN SÁNG KIẾN KINH NGHIỆM ĐỀ TÀI “RÈN LUYỆN KĨ NĂNG, VÂN DỤNG VÀ PHÁT TRIỂN TƯ DUY LẬP TRÌNH BẰNG CÁCH PHÂN TÍCH VÀ MỞ RỘNG CÁC BÀI TOÁN ĐƠN GIẢN” Lĩnh vực: Tin Học Năm học: 2021 - 2022 MỤC LỤC PHẦN MỞ ĐẦU 1 Lý chọn đề tài Mục đích nghiên cứu Nhiệm vụ Đối tượng nghiên cứu Phương pháp nghiên cứu Phạm vi nghiên cứu Những đóng góp đề tài PHẦN NỘI DUNG NGHIÊN CỨU Cơ sở lý luận Cơ sở thực tiễn 3 Các biện pháp sử dụng để giải vấn đề 3.1 Chủ đề về số nguyên tố 3.1.1 Khái niệm 3.1.2 Bài toán 3.1.3 Bài toán nâng cao cấp độ 3.1.4 Bài toán nâng cao cấp độ 3.1.5 Đánh giá thuật toán 3.1.6 Các bài toán giao về nhà 3.2 Chủ đề về dãy số 12 3.2.1 Dãy Fibonaci 12 3.2.2 Mảng chiều 14 3.2.3 Đánh giá các thuật toán 24 3.2.4 Bài tập về nhà 26 3.3 Chủ đề về xâu 28 3.3.1 Bài toán 28 3.3.2 Bài toán nâng cao cấp độ 30 3.3.3 Bài toán nâng cao cấp độ 35 3.3.4 Bài tập giao về nhà 39 3.4 Đánh giá 41 Bài toán áp dụng 42 4.1 ƯỚC NGUYÊN TỐ 42 4.2 SUBARR 42 4.3 QUÀ TẶNG 43 4.4 TỔ TÌNH NGUYỆN 44 4.5 XÂU TƯƠNG ĐƯƠNG 45 Kết đạt được 45 PHẦN KẾT LUẬN VÀ KIẾN NGHỊ 48 Kết luận 48 Kiến nghị 48 TÀI LIỆU THAM KHẢO 50 DANH MỤC TỪ VIẾT TẮT VIẾT TẮT VIẾT ĐẦY ĐỦ THPT Trung học phổ thông HSG Học sinh giỏi SGK Sách giáo khoa NNLT Ngơn ngữ lập trình SKKN Sáng kiến kinh nghiệm PHẦN MỞ ĐẦU Lý chọn đề tài Theo chương trình giáo dục phổ thơng 2018 được Bộ Giáo dục và Đào tạo ban hành kèm Thông tư sớ 32/2018/TT-BGDĐT ngày 26/12/2018, mơn tin học có triết lí cớt lõi tạo hệ có tư áp dụng công nghệ giải các vấn đề thực tế Vì vậy, kiến thức về phần giải tḥt và lập trình đóng vai trị quan trọng chương trình tin học ở bậc Trung học phổ thơng Để rèn luyện kỹ lập trình cho học sinh khá, giỏi trước chọn đội tuyển thi HSG mơn Tin học có nhiều cách mà giáo viên áp dụng đới với các đới tượng học sinh khác Tuy nhiên trường với các đối tượng học sinh khác giáo viên áp dụng nhiều biện pháp khác để rèn luyện kỹ lập trình cho học sinh với hiệu khác Trong quá trình dạy để chọn đội tuyển, bồi dưỡng học sinh giỏi Tỉnh nhiều năm liền chọn lựa số dạng bài toán từ SGK và phát triển thêm thành các bài toán nâng cao để mở rộng phạm vi kiến thức giúp học sinh hình thành các kiến thức nâng cao Trên sở tơi mạnh dạn nghiên cứu và lựa chọn đề tài “Rèn luyện kĩ năng, vận dụng phát triển tư lập trình cách phân tích, mở rộng toán đơn giản” Mục đích nghiên cứu Mục đích chính sáng kiến là giới thiệu đến giáo viên và học sinh số bài toán bản, phân tích và mở rộng các bài toán để học sinh dần hình thành các kiến thức nâng cao: - Phát triển tư lập trình, giúp các em học giỏi môn Tin Học đạt kết cao - Tạo nguồn tài liệu tham khảo về thuật toán hỗ trợ cho học sinh, giáo viên dạy Tin học bậc THPT - Sử dụng NNLT C++ và Python chương trình giáo dục phổ thơng Nhiệm vụ Đề tài có nhiệm vụ giải đáp các câu hỏi khoa học sau đây: - Học sinh có giải được các bài toán đơn giản - Giáo viên mở rộng các bài toán nào cho phù hợp với lực học sinh - Những tình h́ng nào thường gặp quá trình dạy học theo phương pháp này - Học sinh gặp khó khăn nào quá trình dạy học theo phương pháp này - Các kỹ học sinh đạt được nhờ phương pháp dạy học này - Kết thực nghiệm nào Đối tượng nghiên cứu - Học sinh tham gia bồi dưỡng học sinh giỏi Tin học - Hệ thống các bài tập từ đến nâng cao theo chủ đề Phương pháp nghiên cứu - Phương pháp điều tra, nghiên cứu tài liệu Phương pháp phân tích, tổng hợp Phương pháp khảo sát thực tiễn Phương pháp tổng kết kinh nghiệm Phạm vi nghiên cứu Hệ thống lại các bài tập từ đơn giản đến mức độ tăng dần việc mở rộng các bài toán giúp đạt hiệu cao quá trình chọn đội tuyển và bồi dưỡng học sinh giỏi mơn Tin học Những đóng góp đề tài - Qua số năm làm công tác dạy học và bồi dưỡng học sinh giỏi môn tin học thấy dạy học theo phương pháp này học sinh hứng thú học hơn, chất lượng học sinh được tăng lên đáng kể, nhiều học sinh sau học theo phương pháp này tự giải được các bài toán khó các đề thi cấp tỉnh, tin học không chuyên - Đề tài làm phong phú các phương pháp day học môn tin học các trường trung học phổ thông PHẦN NỘI DUNG NGHIÊN CỨU Cơ sở lý luận Xây dựng hệ thống các bài tập theo các chủ để chính, chủ đề chia thành nhiều buổi dạy tuỳ vào đối tượng học sinh Hệ thớng các bài tập chủ đề theo các mức độ từ đến mức độ khó tăng dần nhiên hệ thớng bài tập phải liên quan và phải vận dụng được các bài tập để giải các bài toán khó Cụ thể chủ đề được thực theo các bước: Bước 1: Giới thiệu lí thuyết chủ đề Bước 2: Chọn bài toán bài toán quen thuộc với học sinh để học sinh lập trình (thường là các bài toán sách giáo khoa) Bước 3: Mở rộng bài toán nâng cao ở cấp độ (chỉ cần học sinh lập trình được mà chưa cần quan tâm đến các yếu tố như: quan tâm đến các yếu tố đặc biệt liệu vào, thời gian, phạm vi giá trị biến…) Bước 4: Mở rộng bài toán nâng cao ở cấp độ (quan tâm đến các yếu tố như: các trường hợp đặc biệt liệu vào, phạm vi giá trị các biến, thời gian…) Bước 5: Thực chấm các chương trình phần mềm Themis với test để so sánh thời gian thực các thuật toán với bài toán Bước 6: Phân tích và nhận xét tối ưu thuật toán Bước 7: Mở rộng bài toán để học sinh rèn luyện kỹ lập trình và vận dụng các bài tập ở nhà Thường là bài toán tương đương đề học sinh giỏi cấp Tỉnh Cơ sở thực tiễn Nhiều học sinh có suy nghĩ mơn lập trình khó và khơng phải là môn thi tốt nghiệp, đại học nên các em ít lựa chọn tham gia đội tuyển chọn HSG Tỉnh Qua công tác dạy học nhiều năm trường thấy đa số học sinh đều gặp không ít khó khăn việc xác định thuật toán để giải bài toán Việc giải các bài toán sách giáo khoa các em giải được nhiên vận dụng để giải các bài toán khó lại gặp nhiều khó khăn Nhiều giáo viên lúng túng việc chọn học sinh có kĩ và tư lập trình để bồi dưỡng thêm Các biện pháp sử dụng để giải vấn đề 3.1 Chủ đề về số nguyên tố 3.1.1 Khái niệm Số nguyên tố là số tự nhiên lớn là tích hai số tự nhiên nhỏ Nói cách khác, sớ ngun tớ là sớ có hai ước sớ là và chính Các sớ tự nhiên lớn là số nguyên tố được gọi là hợp sớ 3.1.2 Bài tốn Bài toán: Viết chương trình nhập vào từ bàn phím sớ ngun N, Kiểm tra và thơng báo màn hình N là số nguyên tố N không là số nguyên tố Nhận xét: Đây là bái toán mà học sinh được làm quen ở bài 4: Bài toán và thuật toán lớp 10 Học sinh vận dụng khái niệm số nguyên tố để đưa các thuật toán Tuy nhiên cách được giới thiệu SGK Tin học 10 là tới ưu Chương trình cụ thể sau: C++ Python #include import math #include def check_prime_number(n): using namespace std; flag = 1; bool check(int n) { if (n