SKKN Sử dụng ngôn ngữ lập trình C++ và Python để giải quyết lớp bài toán dạng số trong bồi dưỡng học sinh giỏi
- Mã tài liệu: MP1162 Copy
Môn: | Tin học |
Lớp: | 10 |
Bộ sách: | |
Lượt xem: | 411 |
Lượt tải: | 6 |
Số trang: | 59 |
Tác giả: | Trần Thị Hương Lan |
Trình độ chuyên môn: | Cử nhân đại học |
Đơn vị công tác: | THPT Đô Lương 1 |
Năm viết: | 2019-2020 |
Số trang: | 59 |
Tác giả: | Trần Thị Hương Lan |
Trình độ chuyên môn: | Cử nhân đại học |
Đơn vị công tác: | THPT Đô Lương 1 |
Năm viết: | 2019-2020 |
Sáng kiến kinh nghiệm “Sử dụng ngôn ngữ lập trình C++ và Python để giải quyết lớp bài toán dạng số trong bồi dưỡng học sinh giỏi”triển khai gồm các biện pháp nổi bật sau:
3. Giải pháp thực hiện
3.1. Một số kiến thức cơ bản về bài toán dạng số
3.1.1. Số nguyên tố
3.1.2. Số Fibonaxi
3.1.4. Xử lý số lớn
Mô tả sản phẩm
PHẦN I. ĐẶT VẤN ĐỀ
1. Lý do chọn đề tài
Bồi dưỡng học sinh giỏi luôn là một trong những mỗi quan tâm hàng đầu của các trường trung học sơ sở cũng như trung học phổ thông.
Đối với môn tin học, trước đây thường sử dụng ngôn ngữ lập trình Passcal để bồi dưỡng học sinh giỏi là bởi vì nội dung trong sách giáo khoa đưa ra là ngôn ngữ lập trình Passcal. Tuy nhiên nhiều năm gần đây trong công tác bồi dưỡng học sinh giỏi hầu hết tất cả các trường đều giải quyết các bài toán lập trình bằng ngôn ngữ C++. Do ngôn ngữ này có rất nhiều điểm mạnh từ kiểu dữ diệu, thư viện hàm có sẵn và tốc độ xử lý phù hợp đáp ứng trong thi học sinh giỏi tỉnh.
Chương trình giáo dục phổ thông mới 2018 có nhiều sự thay đổi về nội dung cũng như phương pháp dạy học. Nhưng sự thay đổi nhất phải nói đến môn tin học. Môn tin học là môn bắt buộc của bậc tiểu học và bậc trung học cơ sở. Đối bậc trung học phổ thông là giai đoạn giáo dục định hướng nghề nghiệp nên ngay từ lớp 10 đã đưa vào Chủ đề F: “Giải quyết vấn đề với sự trợ giúp của máy tính” trong đó có đưa ngôn ngữ lập trình Python để học sinh làm quen với cách lập trình bằng ngôn ngữ này.
Python là ngôn ngữ lập trình bậc cao có rất nhiều ưu điểm trong lập trình cũng như trong xây dựng các thư viện đồ họa. Nó hoàn toàn có thể sử dụng để giải quyết các bài toán khó. Tuy nhiên băn khăn của giáo viên khi bồi dưỡng học sinh giỏi trường và tỉnh môn tin là khi giải quyết bài toán lập trình không những chỉ giải quyết được bài toán đó mà còn phải ràng buộc thời gian chạy 1 test lúc đó mới có khả năng ăn điểm tối đa. Với ngôn ngữ Python thì tốc độ xử lý như thế nào? Khi xử lý bài toán cùng thuật toán để có thể ăn điểm tối đa.
Nhưng vấn đề hiện nay là học sinh khối 10 đang học chương trình mới với sách giáo khoa bằng ngôn ngữ Python. Vậy khi các bạn học lập trình bằng ngôn ngữ Python này tham gia học sinh giỏi trường, tỉnh thì các bạn sẽ giải quyết bài toán lập trình bằng ngôn ngữ nào để cùng thuật toán có thể đảm bảo thời gian chạy 1 giây cho 1 test? Đây luôn là nỗi bận tâm của tôi cũng như nhiều giáo viên khác.
Trong quá trình giảng dạy chúng tôi luôn cố gắng tìm tòi, học hỏi, đúc rút kinh nghiệm để giúp các học sinh tiếp cận các nội dung một cách dễ dàng hơn, tạo nhiều đam mê cho học sinh. Với sự cố gắng không ngừng nhiều năm qua trong công tác bồi dưỡng học sinh giỏi bản thân đã có những thành tích đáng ghi nhận. Cụ thể năm học 2021-2022 chúng tôi mạnh dạn bồi dưỡng 2 em dự thi cấp tỉnh và đạt cả 2, trong đó có 1 em đạt 17/20. Năm học 2022 – 2023 này cũng có 3 em dự thi đều đạt kết quả: 2 giải ba và 1 giải khuyến khích.
Với nhiều năm nghiên cứu cấu trúc đề thi học sinh giỏi của tỉnh Nghệ An cũng như các tỉnh thành khác, tôi thấy hầu hết trong tất cả các đề thi đều có đến 1 hoặc 2 bài dạng số học với độ phức tạp khác nhau. Với mong muốn giúp học sinh có thêm tài liệu để bồi dưỡng, biết được điểm mạnh và yếu của ngôn ngữ lập trình C++ và Python từ đó học sinh cũng như giáo viên xác định và lựa chọn ngôn ngữ phù hợp khi tham gia ôn thi học sinh giỏi tỉnh. Chúng tôi đã giải quyết lớp các bài toán dạng số với cả hai loại ngôn ngữ.
Với những lý do trên chúng tôi đã đưa ra đề tài “Sử dụng ngôn ngữ lập trình
C++ và Python để giải quyết lớp bài toán dạng số trong bồi dưỡng học sinh giỏi”
2. Mục đích nghiên cứu
- Thứ nhất, Tìm ra điểm khác biệt giữa 2 ngôn ngữ C++ và Python khi giải quyết bài toán
- Thứ 2, Trao đổi cùng với các đồng nghiệp về việc vận dụng ngôn ngữ C++ và Python trong việc lập trình sau đó đưa ra quan điểm cái nhân về vấn đề lựa chọn ngôn ngữ trong bồi dưỡng học sinh giỏi.
- Thứ 3, Giải quyết được lớp bài toán dạng số với cả hai ngôn ngữ C++ và Python một cách tối ưu nhất
- Thứ tư, Đề tài có thể làm tài liệu cho giáo viên phục vụ giảng dạy, bồi dưỡng HSG.
3. Nhiệm vụ và phạm vi nghiên cứu
3.1. Nhiệm vụ nghiên cứu
- Nghiên cứu sâu 2 loại ngôn ngữ lập trình C++ và Python
- Đề tài nghiên cứu hệ thống lớp các bài toán dạng số
- Giải và đánh giá các bài toán dạng số theo 2 ngôn ngữ C++ và Python
3.2. Phạm vi nghiên cứu
Đề tài được nghiên cứu trong quá trình dạy đội tuyển học sinh giỏi tỉnh học tại trường THPT Đô Lương 1.
Đề tài có khả năng áp dụng rộng rãi vào giảng dạy, bồi dưỡng học sinh giỏi Tin học cho giáo viên và học sinh THCS, THPT trên địa bàn toàn tỉnh Nghệ An.
4. Đối tượng nghiên cứu
- Chương trình giáo dục phổ thông mới.
- Ngôn ngữ lập trình C++
- Ngôn ngữ lập trình Python
- Cấu trúc đề thi học sinh giỏi tỉnh môn tin tỉnh Nghệ An – Đối tượng học sinh đội tuyển tin học sinh giỏi trường và tỉnh.
5. Phương pháp nghiên cứu.
5.1. Nhóm phương pháp nghiên cứu lý luận
- Nghiên cứu các Nghị quyết của Đảng, Nhà nước, Bộ giáo dục và đào tạo, Sở giáo dục và đào tạo của tỉnh liên quan đến đề tài nghiên cứu.
- Các tài liệu về lý luận dạy học Tin học, tài liệu hướng dẫn chuyên môn.
- Các tài liệu dạy lập trình
5.2. Nhóm phương pháp nghiên cứu thực tiễn
– Phân tích tổng hợp và rút kinh nghiệm từ thực tiễn.
5.3. Phương pháp thực nghiệm
– Thực nghiệm tại các nhóm học sinh giỏi ở trường THPT nơi chúng tôi công tác giảng dạy.
6. Tính mới và đóng góp của đề tài
- Giúp học sinh tiếp một dạng bài tập được làm rõ trên cả 2 loại ngôn ngữ
C++ và Python, đáp ứng một phần yêu cầu trong kiến thức luyện thi học sinh giỏi.
- Đánh giá, so sánh hai ngôn ngữ C++ và Python trong lập trình thi học sinh giỏi.
- Giúp giáo viên đa dạng hóa về việc áp dụng các loại ngôn ngữ lập trình để giải quyết một bài toán phù hợp với tình hình thực tế hiện nay.
- Nâng cao kiến thức bộ môn, đóng góp một phần nhỏ bé vào việc nâng cao được chất lượng dạy học bồi dưỡng học sinh giỏi.
- Giúp học sinh đam mê học môn Tin học.
PHẦN II. NỘI DUNG
1. Cơ sở lý luận
1.1. Lý luận về chương trình phổ thông mới
Mục tiêu cấp trung học phổ thông: Chương trình môn Tin học ở cấp trung học phổ thông giúp học sinh củng cố và nâng cao năng lực tin học đã được hình thành, phát triển ở giai đoạn giáo dục cơ bản, đồng thời cung cấp cho học sinh tri thức mang tính định hướng nghề nghiệp thuộc lĩnh vực tin học hoặc ứng dụng tin học, cụ thể là: – Giúp học sinh có những hiểu biết cơ bản về hệ thống máy tính, một số kĩ thuật thiết kế thuật toán, tổ chức dữ liệu và lập trình; củng cố và phát triển hơn nữa cho học sinh tư duy giải quyết vấn đề, khả năng đưa ra ý tưởng và chuyển giao nhiệm vụ cho máy tính thực hiện.
- Giúp học sinh có khả năng ứng dụng tin học, tạo ra sản phẩm số phục vụ cộng đồng và nâng cao hiệu quả công việc; có khả năng lựa chọn, sử dụng, kết nối các thiết bị số, dịch vụ mạng và truyền thông, phần mềm và các tài nguyên số khác.
- Giúp học sinh có khả năng hoà nhập và thích ứng được với sự phát triển của xã hội số, ứng dụng công nghệ thông tin và truyền thông trong học và tự học; tìm kiếm và trao đổi thông tin theo cách phù hợp, tuân thủ pháp luật, có đạo đức, ứng xử văn hoá và có trách nhiệm; có hiểu biết thêm một số ngành nghề thuộc lĩnh vực tin học, chủ động và tự tin trong việc định hướng nghề nghiệp tương lai của bản thân.
1.2. Lý luận dạy học về dạy học lập trình C++
- Học lập trình C++ cơ bản đang là một xu hướng của ngành lập trình hiện nay. Bởi vì C++ là ngôn ngữ phổ biến đứng thứ 5 hiện nay. Có rất nhiều ứng dụng phổ biến được viết bằng loại ngôn ngữ này như Photoshop, Chrome,.. Cho nên nó có sức ảnh hưởng rất lớn về xu hướng của ngôn ngữ lập trình hiện nay.
- Điểm mạnh của C++ với những ngôn ngữ lập trình khác
+ Ngôn ngữ C++ là ngôn ngữ cấp trung. Nó có sự kết hợp các tính năng của cả 2 ngôn ngữ cấp cao và thấp. C++ có thể sử dụng cho lập trình để giúp người dùng có thể thâm nhập được vào phần cứng. Hỗ trợ các chức năng của ngôn ngữ lập trình bậc cao.
+ C++ là ngôn ngữ lập trình có cấu trúc cho phép một chương trình phức tạp được chia thành các chương trình đơn giản nhỏ hơn nó. Đó được gọi là các hàm. Nó còn cho phép di chuyển dữ liệu dễ dàng giữa các hàm. Mà bạn vẫn thường xuyên thấy ở các ngôn ngữ lập trình hiện đại ngày nay.
+ Có nhiều tính năng khác nhau. Nó cho phép người dùng truy cập trực tiếp vào các API phần cứng của máy, sự xuất hiện của phiên dịch. Đặc biệt là sử dụng tài nguyên của máy và cấp phát bộ nhớ. Đó là sự tối ưu của các ứng dụng và trình điều khiển các hệ thống nhúng.
Ngôn ngữ lập trình vô cùng hiệu quả và tiện dụng. Nó được sử dụng cho các hệ thống. Nó nằm trong hệ thống lớn của hệ điều hành Windows, Unix,…
+ Là ngôn ngữ lập trình đa mục đích. Có thể ứng dụng được trực tiếp vào các ứng dụng của doanh nghiệp, game, đồ họa,…
TÀI LIỆU LIÊN QUAN
100.000 ₫
- 0
- 457
- 2
- [product_views]
100.000 ₫
- 5
- 502
- 3
- [product_views]
100.000 ₫
- 4
- 448
- 4
- [product_views]
100.000 ₫
- 3
- 533
- 5
- [product_views]
100.000 ₫
- 9
- 416
- 6
- [product_views]
100.000 ₫
- 4
- 488
- 7
- [product_views]
100.000 ₫
- 4
- 590
- 8
- [product_views]
100.000 ₫
- 2
- 521
- 9
- [product_views]
100.000 ₫
- 7
- 492
- 10
- [product_views]