Phần 1: Câu hỏi Trắc nghiệm (Nhận biết & Thông hiểu)
Câu 1. Nội dung nào sau đây phản ánh đúng kiến thức cần ghi nhớ trong bài Bài 29: Thực hành thiết kế chương trình theo mô đun? A. Bỏ qua các khái niệm cơ bản và chỉ học thuộc lòng kết quả cuối cùng mà không cần hiểu bản chất. B. Chia chương trình thành mô đun, mỗi mô đun một chức năng. C. Chỉ áp dụng kiến thức trong một trường hợp duy nhất, không cần kiểm tra điều kiện hay đơn vị. D. Các nội dung trong bài hoàn toàn độc lập và không có mối liên hệ nào với thực tiễn hay các bài học khác.
Câu 2. Khi học và vận dụng bài Bài 29: Thực hành thiết kế chương trình theo mô đun, khẳng định nào dưới đây là chính xác? A. Không cần đọc kĩ đề bài hay phân tích dữ kiện trước khi thực hiện các bước giải. B. Mọi khái niệm trong bài đều có thể thay thế tùy ý cho nhau mà không làm thay đổi kết quả. C. Xác định rõ dữ liệu vào và dữ liệu ra của từng mô đun. D. Chỉ cần ghi đáp số ngắn gọn, bỏ qua toàn bộ bước lập luận, giải thích và kiểm tra lại.
Câu 3. Theo phần Kiến thức trọng tâm của bài Bài 29: Thực hành thiết kế chương trình theo mô đun, phát biểu nào sau đây là đúng? A. Kết luận ngay kết quả khi chưa đối chiếu với quy tắc hoặc định nghĩa trong bài học. B. Thay đổi toàn bộ quy tắc trọng tâm của bài học theo cảm tính cá nhân. C. Bỏ qua việc rèn luyện qua ví dụ minh họa và bài tập thực hành của tiết học. D. Thực hành thiết kế chương trình theo mô đun gồm các bước: phân tích bài toán, xác định các chức năng cần có, chia chương trình thành các mô đun tương ứng, xác định dữ liệu vào và dữ liệu ra của từng mô đun, viết mã cho từng mô đun, kiểm thử từng mô đun rồi ghép các mô đun lại thành chương trình hoàn chỉnh.
Câu 4. Để nắm vững và vận dụng tốt bài Bài 29: Thực hành thiết kế chương trình theo mô đun, học sinh cần lưu ý điều nào sau đây? A. Tên mô đun phải phản ánh đúng chức năng đó. B. Không cần ghi nhớ các lưu ý trọng tâm vì chúng không ảnh hưởng đến việc làm bài tập. C. Áp dụng ngược lại hoàn toàn so với quy tắc và hướng dẫn trong phần kiến thức trọng tâm. D. Chỉ cần đọc lướt tiêu đề bài học mà không cần nắm vững nội dung chi tiết từng mục.
Phần 2: Bài tập Tự luận & Thực hành theo tiết học
Bài 1 (Cơ bản — Hệ thống hóa kiến thức trọng tâm). Dựa vào phần Kiến thức trọng tâm của bài Bài 29: Thực hành thiết kế chương trình theo mô đun, em hãy trình bày các khái niệm, quy tắc hoặc nội dung cốt lõi của tiết học và nêu ý nghĩa của chúng.
Bài 2 (Thực hành — Phân tích & Giải mẫu theo ví dụ tiết học). Đọc kĩ tình huống/ví dụ trọng tâm của tiết học dưới đây, sau đó tự trình bày lại các bước thực hiện và nêu nhận xét rút ra:
Ví dụ: thiết kế chương trình tính tiền điện theo bậc thang giá.
Bài 3 (Vận dụng — Áp dụng quy tắc ghi nhớ vào bài tập). Vận dụng các điểm ghi nhớ trọng tâm của bài Bài 29: Thực hành thiết kế chương trình theo mô đun để giải thích hoặc thực hiện yêu cầu thực hành mở rộng sau:
- Mô đun nhập số điện: nhận số điện tiêu thụ, kiểm tra số điện không âm, trả về số điện hợp lệ.
- Mô đun tính tiền: nhận số điện, tính tiền theo từng bậc giá, trả về tổng tiền.
- Mô đun in hoá đơn: nhận số điện và tổng tiền, in hoá đơn.
Bài 4 (Luyện tập học kì — Mức độ Cơ bản).
Cho danh sách đã sắp xếp a = [2, 5, 8, 11, 16, 21]. Mô tả đầy đủ các bước tìm kiếm nhị phân giá trị 11.
Bài 5 (Luyện tập học kì — Mức độ Thông hiểu). Viết chương trình Python nhập mảng hai chiều m hàng × n cột, in ra hàng có tổng lớn nhất và tổng đó.
Bài 6 (Luyện tập học kì — Mức độ Vận dụng & Nâng cao).
Cho hai bảng Lop(MaLop, TenLop) và HocSinh(MaHS, HoTen, MaLop). Viết câu lệnh SQL liệt kê họ tên học sinh cùng tên lớp, chỉ lấy học sinh lớp có tên "11A1".
Phần 3: Đáp án & Hướng dẫn giải chi tiết
1. Đáp án phần Trắc nghiệm
- Bảng đáp án: 1-B, 2-C, 3-D, 4-A.
- Giải thích chi tiết:
- Câu 1 (B): Khẳng định đúng theo mục Ghi nhớ của bài: "Chia chương trình thành mô đun, mỗi mô đun một chức năng."
- Câu 2 (C): Khẳng định đúng theo nội dung cốt lõi của tiết học: "Xác định rõ dữ liệu vào và dữ liệu ra của từng mô đun."
- Câu 3 (D): Khẳng định chuẩn xác theo phần Kiến thức trọng tâm: "Thực hành thiết kế chương trình theo mô đun gồm các bước: phân tích bài toán, xác định các chức năng cần có, chia chương trình thành các mô đun tương ứng, xác định dữ liệu vào và dữ liệu ra của từng mô đun, viết mã cho từng mô đun, kiểm thử từng mô đun rồi ghép các mô đun lại thành chương trình hoàn chỉnh."
- Câu 4 (A): Khẳng định đúng theo hướng dẫn trọng tâm của bài: "Tên mô đun phải phản ánh đúng chức năng đó."
2. Hướng dẫn giải phần Tự luận & Thực hành
- Bài 1:
- Nội dung cốt lõi cần trình bày: Thực hành thiết kế chương trình theo mô đun gồm các bước: phân tích bài toán, xác định các chức năng cần có, chia chương trình thành các mô đun tương ứng, xác định dữ liệu vào và dữ liệu ra của từng mô đun, viết mã cho từng mô đun, kiểm thử từng mô đun rồi ghép các mô đun lại thành chương trình hoàn chỉnh. Khi chia mô đun, mỗi mô đun chỉ nên đảm nhận một chức năng.
- Tổng kết ghi nhớ: Chia chương trình thành mô đun, mỗi mô đun một chức năng.; Xác định rõ dữ liệu vào và dữ liệu ra của từng mô đun.; Kiểm thử từng mô đun trước khi ghép lại.
- Bài 2:
- Hướng dẫn phân tích & trình bày: Dựa trực tiếp vào dữ kiện trong ví dụ minh họa của tiết học: Ví dụ: thiết kế chương trình tính tiền điện theo bậc thang giá.
- Lưu ý khi trình bày: Xác định rõ yêu cầu, áp dụng đúng quy tắc/khái niệm trong mục 1 và kiểm tra lại kết quả cuối cùng.
- Bài 3:
- Phương pháp giải: Áp dụng các quy tắc ghi nhớ của bài Bài 29: Thực hành thiết kế chương trình theo mô đun (Chia chương trình thành mô đun, mỗi mô đun một chức năng.; Xác định rõ dữ liệu vào và dữ liệu ra của từng mô đun.; Kiểm thử từng mô đun trước khi ghép lại.).
- Lời giải mẫu/Nhận xét: - Mô đun nhập số điện: nhận số điện tiêu thụ, kiểm tra số điện không âm, trả về số điện hợp lệ.
- Mô đun tính tiền: nhận số điện, tính tiền theo từng bậc giá, trả về tổng tiền.
- Mô đun in hoá đơn: nhận số điện và tổng tiền, in hoá đơn.
- Bài 4: Danh sách
[2, 5, 8, 11, 16, 21], tìm 11: so sánh với phần tử giữa 8 → 11 > 8, tìm ở nửa phải[11, 16, 21]; so sánh với phần tử giữa 16 → 11 < 16, tìm ở nửa trái[11]; so sánh với 11 → bằng, tìm thấy. Tổng 3 lần so sánh. - Bài 5:
python m = int(input("Nhập số hàng m: ")) n = int(input("Nhập số cột n: ")) a = [[int(input(f"Nhập a[{i}][{j}]: ")) for j in range(n)] for i in range(m)] tong_max = max(sum(hang) for hang in a) hang_max = [sum(hang) for hang in a].index(tong_max) print("Hàng có tổng lớn nhất:", hang_max, "Tổng:", tong_max) - Bài 6:
sql SELECT HocSinh.HoTen, Lop.TenLop FROM HocSinh JOIN Lop ON HocSinh.MaLop = Lop.MaLop WHERE Lop.TenLop = '11A1';
