Giáo án NLS Tin học 11 KHMT kết nối Bài 28: Thiết kế chương trình theo mô đun
Giáo án NLS Tin học 11 (Khoa học máy tính) kết nối tri thức Bài 28: Thiết kế chương trình theo mô đun. Với năng lực số được tích hợp, tiết học sẽ giúp học sinh làm quen và ứng dụng công nghệ, tin học. KHBD này là file word, tải về dễ dàng. Là mẫu giáo án mới nhất năm 2026 để giáo viên dạy tốt môn Tin học 11.
Xem: => Giáo án tích hợp NLS Tin học 11 Khoa học máy tính Kết nối tri thức
Ngày soạn: .../.../...
Ngày dạy: .../.../...
BÀI 28: THIẾT KẾ CHƯƠNG TRÌNH THEO MÔ ĐUN
I. MỤC TIÊU
1. Kiến thức
Học xong bài này, HS đạt các yêu cầu sau:
- Biết và vận dụng được cách thiết kế chương trình theo mô đun cho một số bài toán cụ thể.
- Nhận biết được lợi ích của phương pháp thiết kế chương trình theo mô đun.
- Thiết kế được chương trình theo mô đun.
2. Năng lực
Năng lực chung:
- Tự chủ và tự học: biết lắng nghe, tự giác học tập và hoàn thành nhiệm vụ; tích cực tham gia các hoạt động học tập trong lớp.
- Giao tiếp và hợp tác: có thói quen trao đổi, giúp đỡ nhau trong học tập; biết cùng nhau hoàn thành nhiệm vụ học tập theo sự hướng dẫn của GV.
- Giải quyết vấn đề và sáng tạo: ứng dụng các kiến thức đã học vào thực tế, phát triển khả năng giải quyết vấn đề có tính tích hợp liên môn giữa Tin học với các môn học khác.
Năng lực riêng:
- Biết và vận dụng được cách thiết kế chương trình theo mô đun cho một số bài toán cụ thể.
- Nhận biết được lợi ích của phương pháp thiết kế chương trình theo mô đun.
- Thiết kế được chương trình theo mô đun.
Năng lực số:
- 3.1.NC1a: Thiết kế kiến trúc chương trình theo hướng mô đun hóa để dễ dàng quản lý và nâng cấp.
- 5.2.NC1b: Sử dụng môi trường lập trình để cài đặt, kiểm thử và tích hợp các mô-đun độc lập.
- 6.2.NC1b: Sử dụng AI để hỗ trợ viết code cho từng mô-đun riêng lẻ hoặc tìm lỗi trong quá trình tích hợp.
- 2.1.NC1a: Hiểu được rằng thiết kế mô đun giúp phân chia công việc nhóm hiệu quả (Mỗi người làm một hàm).
3. Phẩm chất
- Trách nhiệm, tính cẩn thận khi làm việc nhóm, phẩm chất làm việc chăm chỉ, chuyên cần để hoàn thành một nhiệm vụ.
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
1. Đối với GV
- SGK, tài liệu giảng dạy, giáo án PPT.
- Phòng thực hành máy tính kết nối Internet.
- Máy chiếu.
- Video AI tạo bằng công cụ AI được dùng để khởi động bài học.
2. Đối với HS
- SGK, SBT Tin học 11, vở ghi chép.
III. TIẾN TRÌNH DẠY HỌC
1. HOẠT ĐỘNG KHỞI ĐỘNG
a) Mục tiêu: HS làm quen với một bài toán hoàn chỉnh có tính thực tế, yêu cầu thực hiện thiết kế chương trình theo mô đun và hoàn thiện chương trình trên Python.
b) Nội dung: GV tổ chức trả lời câu hỏi ở phần Mở đầu, HS thực hiện nhiệm vụ được giao.
c) Sản phẩm: Dựa vào kiến thức của bản thân, HS thực hiện yêu cầu GV đưa ra.
d) Tổ chức thực hiện:
Bước 1: GV chuyển giao nhiệm vụ:
- GV yêu cầu xem video AI được thiết kế để phục vụ bài dạy và trả lời câu hỏi xuất hiện trong video đó.
- GV dẫn dắt, đặt vấn đề cho HS: Em được giao việc quản lí cho cửa hàng bán thực phẩm của gia đình. Hằng ngày, em phải nhập danh sách các mặt hàng và doanh số bán hàng. Cuối ngày, em cần báo cáo ba mặt hàng có doanh số cao nhất và ba mặt hàng có doanh số thấp nhất trong ngày.
Các mặt hàng mới nhập sẽ được lưu trong tệp văn bản bao gồm nhiều dòng, mỗi dòng là tên mặt hàng và doanh số được ngăn cách bằng dấu phẩy. Tên tệp đầu vào là Data.inp.
Báo cáo cuối ngày là tệp văn bản Data.out gồm 6 dòng, ba dòng đầu tiên là tên ba mặt hàng có doanh số cao nhất, ba dòng cuối là tên ba mặt hàng có doanh số thấp nhất, cần có cả tên hàng và doanh số.
| Data.inp | Data.out | |
|---|---|---|
Cà rốt, 1350 Khoai tây, 4400 Hành tươi, 1367.5 Bắp cải, 3400 Cà chua, 5609 Khoai lang, 2100 Gạo ST25, 19221 Gạo thường, 23124 Cam, 9800 Chuối 7823 | Gạo thường 23124 Gạo ST25 19221 Cam 9800 Khoai lang 2100 Hành tươi 1367.5 Cà rốt 1350 |
- GV đặt câu hỏi yêu cầu HS thảo luận cặp đôi: Em sẽ thiết kế chương trình thế nào? Trao đổi với bạn về cách thiết kế chương trình sao cho hợp lí nhất.
- GV gợi ý HS thảo luận ý tưởng thiết kế chương trình dựa trên phương pháp làm mịn dần.
Bước 2: HS thực hiện nhiệm vụ học tập:
- HS xem video và suy nghĩ câu trả lời.
- HS lắng nghe, suy nghĩ câu trả lời.
Bước 3: Báo cáo kết quả hoạt động, thảo luận:
- GV mời 1 - 2 nhóm trình bày kết quả thảo luận.
- HS nhóm khác nhận xét, bổ sung.
Bước 4: Đánh giá kết quả thực hiện:
- GV nhận xét, đánh giá và kết luận.
[6.1.NC1a: HS sử dụng công cụ AI hoặc sản phẩm số do GV cung cấp để tiếp nhận thông tin, trả lời câu hỏi đơn giản.
2.1.NC1a: HS thực hiện các tương tác cơ bản với học liệu số (xem video, trả lời câu hỏi trên môi trường số).
1.1.NC1a: HS tiếp cận, khai thác được thông tin từ nguồn học liệu số dưới sự hướng dẫn của GV.]
- GV nhận xét câu trả lời của HS. Trên cơ sở đó, GV dẫn dắt HS vào bài học mới: Trong bài học trước, chúng ta đã được làm quen với phương pháp làm mịn dần? Tuy nhiên, trong thiết kế chương trình còn có nhiều phương pháp khác để giải quyết các bài toán thực tế. Bài học ngày hôm nay, chúng ta sẽ cùng nhau tìm hiểu về phương pháp thiết kế chương trình theo mô đun. Chúng ta cùng vào - Bài 28: Thiết kế chương trình theo mô đun.
2. HOẠT ĐỘNG HÌNH THÀNH KIẾN THỨC
Hoạt động 1: Tìm hiểu về thiết kế chương trình theo mô đun
a) Mục tiêu: Thông qua một ví dụ cụ thể HS biết được các bước thiết kế chương trình theo mô đun.
b) Nội dung: GV đặt vấn đề, HS hoạt động nhóm tìm hiểu thông tin mục 1 trang 127 - 129 SGK và thực hiện nhiệm vụ được giao.
c) Sản phẩm: Thiết kế chương trình theo mô đun.
d) Tổ chức thực hiện:
…………………………………………..
…………………………………………..
…………………………………………..
Hoạt động 2: Tìm hiểu về lợi ích của phương pháp thiết kế theo mô đun
a) Mục tiêu: Thông qua các công việc cụ thể, HS hiểu rõ hơn các lợi ích của phương pháp thiết kế theo mô đun.
b) Nội dung: GV nêu nhiệm vụ, HS hoạt động nhóm đọc hiểu thông tin mục 2 trang 129 - 130 SGK và thực hiện nhiệm vụ được giao.
c) Sản phẩm: Lợi ích của phương pháp thiết kế theo mô đun.
d) Tổ chức thực hiện:
| HOẠT ĐỘNG CỦA GV VÀ HS | SẢN PHẨM DỰ KIẾN | NLS |
Bước 1: GV chuyển giao nhiệm vụ: - GV tổ chức cho HS tiếp tục hoạt động nhóm thực hiện Hoạt động 2 SGK tr.129: Với chương trình đã có trong Hoạt động 1, em sẽ làm gì nếu có các yêu cầu bổ sung như sau: 1. Yêu cầu thay đổi thông tin trong báo cáo: Ghi hai mặt hàng có doanh số cao nhất và bốn mặt hàng có doanh số thấp nhất. 2. Cập nhật, bổ sung các mặt hàng mới và doanh số trong ngày. 3. Yêu cầu làm thêm một báo cáo trong đó ghi doanh số bán trung bình trong ngày và danh sách các mặt hàng có doanh số lớn hơn doanh số trung bình này, kết quả đưa ra tệp Data2.out. Em có nhận xét gì về việc việc thực hiện các công việc bổ sung này? - Sau khi hoàn thành Hoạt động 2, GV đặt câu hỏi: Thiết kế thuật toán và chương trình theo mô đun có những ưu điểm gì? (HS có thể sử dụng AI để tìm hiểu) - GV yêu cầu HS trả lời câu hỏi Củng cố tr.130 SGK: 1. Phân loại các công việc bổ sung trên vào ba loại sau: - Công việc mới hoàn toàn. - Công việc nâng cấp một mô đun cũ. - Công việc không liên quan đến thuật toán và lập trình. 2. Công việc sau đây, nếu có, sẽ thuộc nhóm công việc nào? Nhập một giá trị số nào đó, ví dụ K, cần tìm trong danh sách các mặt hàng có doanh số xấp xỉ K (hơn kém nhau không quá hằng số C = 1). Bước 2: HS thực hiện nhiệm vụ học tập: - HS thảo luận nhóm, đọc SGK và thực hiện nhiệm vụ được giao. - HS sử dụng AI tìm hiểu kiến thức. - GV quan sát, hướng dẫn (nếu cần). Bước 3: Báo cáo kết quả hoạt động, thảo luận: - GV mời 1 - 2 nhóm trình bày kết quả thảo luận. - HS đọc kết quả từ AI, đối chiếu với SGK và rút ra kết luận. - HS xung phong trả lời câu hỏi củng cố: 1. Phân loại như sau: - Công việc mới hoàn toàn: Công việc 3. - Công việc nâng cấp một mô đun cũ: Công việc 1. - Công việc không liên quan đến thuật toán và lập trình: Công việc 2. 2. Công việc này thuộc nhóm công việc mới hoàn toàn. - Các nhóm khác nhận xét, bổ sung cho nhóm bạn. Bước 4: Đánh giá kết quả thực hiện: - GV nhận xét, đánh giá kết quả thảo luận của HS. - GV tổng kết và chốt kiến thức. | 2. Lợi ích của phương pháp thiết kế theo mô đun Công việc bổ sung 1 - Đây là công việc cần nâng cấp hàm GhiDL() và độc lập với các mô đun khác. Việc nâng cấp này rất đơn giản và được mô tả trong chương trình sau. Thay đổi chỉ ở hai lệnh tại dòng 4 và 6. 1 def GhiDL(P,S,fout): 2 f = open(fout,"w",encoding="UTF-8") 3 n = len(P) 4 for i in range(n-1,n-3,-1): 5 print(P[i],S[i],file = f) 6 for i in range(3,-1,-1): 7 print(P[i],S[i],file = f) 8 f.close() Công việc bổ sung 2 Công việc này rất đơn giản là mở tệp Data.inp và bổ sung thêm thông tin các mặt hàng mới và doanh số, không cần sửa chương trình. Công việc bổ sung 3 Công việc này mới và hoàn toàn độc lập với các công việc khác của bài toán, nên có thể thách thành một hàm (mô đun). Hàm mới đặt tên là BC2() và có nội dung đơn giản như sau: 1 def BC2(P,S,fout): 2 f = open(fout,"w",encoding="UTF-8") 3 n = len(P) 4 average = sum(S)/n 5 print("Doanh số trung bình:",average,file = f) 6 for i in range(n): 7 if S[i] > average: 8 print(P[i],S[i],file = f) 9 f.close() - Trong chương trình chính cần bổ sung lệnh sau đây để thực hiện báo cáo mới này. BC2(P,S,"Data2.out") ⇨Kết luận: Thiết kế thuật toán và chương trình theo mô đun có các ưu điểm sau: - Chương trình ngắn gọn, sáng sủa, dễ hiểu. - Các mô đun được thiết lập một lần và sử dụng nhiều lần. - Dễ dàng nâng cấp, thay đổi, chỉnh sửa mà không mất công sửa lại toàn bộ chương trình. - Dễ dàng bổ sung các mô đun mới. - Có thể chia sẻ trong môi trường làm việc nhóm, ví dụ phân công mỗi người một công việc độc lập. | - 6.2.NC1a: Sử dụng AI để tìm kiếm thông tin phục vụ học tập. - 3.1.NC1a: HS thực hiện tư duy kiến trúc phần mềm; chia bài toán lớn thành các mô đun độc lập, xác định rõ dữ liệu đầu vào/đầu ra cho từng mô-đun để đảm bảo khả năng ghép nối sau này. - 2.1.NC1a: HS nhận thức được lợi ích của thiết kế mô-đun trong làm việc nhóm. |
3. HOẠT ĐỘNG LUYỆN TẬP
a) Mục tiêu: HS củng cố kiến thức về phương pháp làm mịn dần trong thiết kế chương trình.
b) Nội dung: HS trả lời câu hỏi trắc nghiệm và hoàn thành bài tập phần Luyện tập SGK trang 131.
c) Sản phẩm học tập: HS trả lời câu hỏi về phương pháp làm mịn dần trong thiết kế chương trình.
d) Tổ chức thực hiện:
…………………………………………..
…………………………………………..
…………………………………………..
4. HOẠT ĐỘNG VẬN DỤNG
a) Mục tiêu: HS thực hiện làm bài tập Vận dụng để nắm vững kiến thức.
b) Nội dung: HS vận dụng kiến thức đã học và hiểu biết của bản thân để làm bài tập Vận dụng trang 131 SGK.
c) Sản phẩm: Câu trả lời nội dung Vận dụng.
d) Tổ chức thực hiện:
Bước 1: GV chuyển giao nhiệm vụ
- GV yêu cầu HS hoạt động cặp đôi hoàn thành bài tập phần Vận dụng trang 131 SGK.
Bài 1. Thiết lập chương trình cho công việc thường làm vào cuối giờ bán hàng: Cho trước số K (một doanh số giả định), cần tìm ra mặt hàng có doanh số nhỏ hơn K nhưng gần với K nhất. Bài toán này có thể sử dụng thuật toán tìm kiếm nào để giải?
Bài 2. Thiết kế thuật toán và chương trình theo mô đun cho bài toán sau.
Một công ti du lịch có n địa điểm tham quan được đánh số theo thứ tự 0, 1, 2, ...n – 1. Công ti này luôn tổ chức các tour du lịch đi lần lượt từ vị trí 0, 1, 2,... và kết thúc tại vị trí cuối cùng n − 1. Để thuận tiện cho việc quảng bá du lịch công ti đã lấy ý kiến khách hàng đánh giá bằng điểm số cho từng địa điểm du lịch trên, các đánh giá có thể là các số dương, 0 hoặc số âm bất kì. Sổ lớn hơn 0 biểu thị đánh giá tốt, số nhỏ hơn 0 biểu thị đánh giá xấu về địa điểm đó. Mỗi khách hàng sẽ gửi lên công ti du lịch bảng đánh giá của mình, được biểu thị bằng một dãy n số, ví dụ như sau:
1, -3, 4, 10, 0, -5, -8, 2, -1, 7, 2
Công ti du lịch hứa sẽ tổ chức một tour riêng cho mỗi khách hàng, bảo đảm sự hài lòng cao nhất của khách hàng. Tour du lịch riêng của khách hàng sẽ là một dãy các vị trí liên tục các địa điểm, ví dụ từ vị trí i đến j, tức là xuất phát từ i, khách hàng sẽ lần lượt đi qua các vị trí i, i + 1, i + 2,... và kết thúc tại j. Công ti du lịch bảo đảm rằng tổng các đánh giá của khách hàng trên tour riêng của mình là lớn nhất.
Em hãy giúp công ti du lịch thiết lập tour du lịch tối ưu cho khách hàng nếu biết trước các đánh giá của khách hàng đó.
Bước 2: HS thực hiện nhiệm vụ học tập
- HS vận dụng kiến thức đã học để làm bài tập phần Vận dụng.
- GV điều hành, quan sát, hỗ trợ.
Bước 3: Báo cáo kết quả hoạt động, thảo luận
- HS trình bày kết quả.
Kết quả:
Bài 1: Có thể dùng thuật toán tìm kiếm tuần tự.
Bài 2: Giả sử dữ liệu đầu vào là đánh giá của khách hàng được cho trong tệp văn bản "dulich.inp", ví dụ tệp có dạng sau:
| dulich.inp | Kết quả đưa ra màn hình |
| -10 3 -9 0 -6 8 -1 3 -12 10 -3 8 -7 1 5 -1 14 | Lịch trình du lịch tối ưu của quý khách từ địa điểm 9 đến 16 |
Chương trình có thể như sau:
…………………………………………..
…………………………………………..
…………………………………………..
=> Giáo án Khoa học máy tính 11 kết nối Bài 28: Thiết kế chương trình theo mô đun