Haylamdo biên soạn và sưu tầm với 15 câu hỏi trắc nghiệm Tin học 11 Bài 29: Thực hành thiết kế chương trình theo mô đun có đáp án chi tiết đầy đủ các mức độ sách Kết nối tri thức sẽ giúp học sinh lớp 11 ôn luyện trắc nghiệm Tin 11 Khoa học máy tính.
Trắc nghiệm Tin học 11 Bài 29: Thực hành thiết kế chương trình theo mô đun - Kết nối tri thức
PHẦN I.Câu trắc nghiệm nhiều phương án lựa chọn. Thí sinh trả lời từ câu 1 đến câu 10. Mỗi câu hỏi thí sinh chỉ lựa chọn một phương án.
Câu 1: Trong bài toán trên, mô đun nào được thiết kế để đọc dữ liệu từ tệp SeaGames.inp?
A. diem_gk()
B. Xuly()
C. ghiDL()
D. nhapDL()
Đáp án: D
Giải thích: Mô đun nhapDL() được thiết kế để đọc dữ liệu từ tệp và lưu vào hai mảng DS và Diem
Câu 2: Điểm tổng hợp của mỗi vận động viên được tính bằng phương pháp nào?
A. Trung bình cộng điểm của tất cả giám khảo
B. Tổng điểm của giám khảo đầu tiên và cuối cùng
C. Trung bình có trọng số với hệ số cho giám khảo đầu và cuối
D. Trung bình cộng điểm, không kể đến giám khảo đầu và cuối
Đáp án: C
Giải thích: Điểm tổng hợp được tính dựa trên trung bình cộng có trọng số, với hệ số 2 cho giám khảo đầu tiên và cuối cùng.
Câu 3: Hàm diem_gk() có mục đích gì trong chương trình?
A. Tính điểm tổng hợp của từng vận động viên
B. Đọc dữ liệu từ tệp
C. Ghi kết quả ra tệp
D. Sắp xếp danh sách vận động viên
Đáp án: A
Giải thích: Hàm diem_gk() tính điểm tổng hợp của một vận động viên dựa trên điểm của giám khảo với hệ số quy định
Câu 4: Trong mô đun nhapDL(), phần tử đầu tiên trong mỗi dòng dữ liệu là gì?
A. Điểm của giám khảo đầu tiên
B. Mã số của vận động viên
C. Điểm của giám khảo cuối cùng
D. Tổng điểm của vận động viên
Đáp án: B
Giải thích: Phần tử đầu tiên trong mỗi dòng dữ liệu là mã số của vận động viên và được lưu vào mảng DS.
Câu 5: Nếu cần thay đổi công thức tính điểm tổng hợp của Sea Games, mô đun nào cần được chỉnh sửa?
A. nhapDL()
B. ghiDL()
C. Xuly()
D. diem_gk()
Đáp án: D
Giải thích: Hàm diem_gk() là nơi công thức tính điểm được triển khai, nên chỉ cần sửa trong hàm này khi thay đổi công thức
Câu 6: Để ghi dữ liệu đã xử lý ra tệp kết quả, chương trình sử dụng mô đun nào?
A. Xuly()
B. ghiDL()
C. nhapDL()
D. diem_gk()
Đáp án: B
Giải thích: Mô đun ghiDL() được thiết kế để ghi dữ liệu đã xử lý ra tệp đầu ra.
Câu 7: Hàm Xuly() trong chương trình có chức năng gì?
A. Tính điểm của từng giám khảo
B. Xử lý danh sách vận động viên và tính điểm tổng hợp cho từng người
C. Đọc dữ liệu từ tệp
D. Ghi dữ liệu ra tệp
Đáp án: B
Giải thích: Hàm Xuly() xử lý dãy điểm của các vận động viên và tính điểm tổng hợp dựa trên điểm của từng giám khảo.
Câu 8: Trong nhiệm vụ vận dụng, khi bổ sung yêu cầu sắp xếp vận động viên theo thứ tự giảm dần của điểm tổng hợp, ta cần chỉnh sửa mô đun nào?
A. nhapDL()
B. Xuly()
C. diem_gk()
D. ghiDL()
Đáp án: D
Giải thích: Để sắp xếp và ghi kết quả ra tệp theo thứ tự giảm dần, cần chỉnh sửa hàm ghiDL() để sắp xếp danh sách trước khi ghi ra tệp.
Câu 9: Trong hàm diem_gk(), việc cộng thêm hệ số 2 cho giám khảo đầu và cuối nhằm mục đích gì?
A. Để tính tổng điểm cao hơn
B. Để đánh giá công bằng hơn do vị trí giám khảo đặc biệt
C. Để tránh lỗi số học khi tính điểm trung bình
D. Để tăng độ chính xác của kết quả
Đáp án: B
Giải thích: Theo yêu cầu của ban tổ chức, hai giám khảo đầu và cuối có hệ số 2, nhằm tăng độ ảnh hưởng của họ trong đánh giá điểm tổng hợp.
Câu 10: Khi chạy chương trình, nếu xuất hiện lỗi không đọc được tệp SeaGames.inp, nguyên nhân có thể do điều gì?
A. Hàm Xuly() không hoạt động
B. Tệp không tồn tại hoặc đường dẫn sai
C. Hàm ghiDL() ghi sai kết quả
D. Mã số vận động viên bị trùng
Đáp án: B
Giải thích: Nếu tệp SeaGames.inp không tồn tại hoặc đường dẫn không chính xác, chương trình sẽ không thể đọc được dữ liệu, dẫn đến lỗi.
PHẦN II. Câu trắc nghiệm đúng sai.Thí sinh trả lời từ câu 1 đến câu 2. Trong mỗi ý a), b), c), d) ở mỗi câu, thí sinh chọn đúng hoặc sai
Câu 1: Trong thiết kế chương trình theo mô đun tính điểm tổng hợp của vận động viên, vai trò của mô đun nhapDL(finp) là gì?
a) Đọc dữ liệu từ tệp, trả về danh sách mã số và điểm số của các vận động viên
b) Tính điểm trung bình cộng của từng vận động viên dựa trên điểm của giám khảo
c) Ghi kết quả điểm tổng hợp vào tệp đầu ra
d) Sắp xếp điểm tổng hợp theo thứ tự giảm dần và ghi vào tệp
a) Đúng. Mô đun nhapDL(finp) có nhiệm vụ đọc dữ liệu từ tệp đầu vào và trả về hai mảng: danh sách mã số vận động viên và danh sách điểm của từng vận động viên, đúng với vai trò của nó.
b) Sai. Tính điểm trung bình cộng cho từng vận động viên là nhiệm vụ của mô đun xử lý điểm Xuly(B), không phải của mô đun nhập dữ liệu.
c) Sai. Ghi kết quả vào tệp đầu ra là nhiệm vụ của mô đun ghiDL(fout, A, B), không phải của mô đun nhapDL(finp).
d) Sai. Sắp xếp kết quả theo thứ tự giảm dần (nếu có) sẽ là một bước bổ sung ngoài mô đun nhapDL(finp), thuộc chức năng của mô đun xử lý hoặc mô đun ghi kết quả.
Câu 2: Mô đun diem_gk(d) có vai trò gì trong chương trình tính điểm tổng hợp cho vận động viên?
a) Tính điểm trung bình cộng của tất cả các giám khảo có hệ số 1
b) Tính điểm tổng hợp của các giám khảo bao gồm cả hệ số 2 cho giám khảo đầu tiên và cuối cùng
c) Ghi kết quả điểm của từng vận động viên vào danh sách
d) Đọc dữ liệu điểm số của vận động viên từ tệp đầu vào
a) Sai. Hàm diem_gk(d) không chỉ tính điểm trung bình cộng cho giám khảo có hệ số 1, mà còn tính điểm cho các giám khảo có hệ số 2, nên phương án này không đầy đủ.
b) Đúng. Mô đun diem_gk(d) tính toán điểm tổng hợp của các giám khảo cho mỗi vận động viên, bao gồm cả việc nhân đôi điểm số của giám khảo đầu tiên và cuối cùng (hệ số 2), đúng với mô tả của hàm.
c) Sai. Việc ghi kết quả điểm tổng hợp là nhiệm vụ của mô đun ghiDL(fout, A, B), không phải của hàm diem_gk(d).
d) Sai. Việc đọc dữ liệu điểm số từ tệp đầu vào là nhiệm vụ của mô đun nhapDL(finp), không phải của hàm diem_gk(d).
PHẦN III. Câu trả lời ngắn. Thí sinh trả lời từ câu 1 đến câu 3
Câu 1: Chương trình có cần phải sửa lại nếu thay đổi công thức tính điểm tổng hợp cho Sea Games không? Nếu có, cần chỉnh sửa ở mô đun nào và hàm nào?
Đáp án: Có, chỉ cần chỉnh sửa ở mô đun xử lý dữ liệu, cụ thể là hàm diem_gk().
Giải thích: Hàm diem_gk() trong mô đun xử lý dữ liệu đảm nhiệm việc tính toán điểm tổng hợp cho mỗi vận động viên. Nếu công thức tính điểm thay đổi, chỉ cần điều chỉnh hàm này mà không cần thay đổi các phần khác của chương trình. Điều này là nhờ chương trình được thiết kế theo mô đun, giúp hạn chế ảnh hưởng của việc sửa đổi công thức lên toàn bộ hệ thống.
Câu 2: Làm thế nào để sắp xếp kết quả đầu ra theo thứ tự giảm dần của điểm tổng hợp của vận động viên?
Đáp án: Cần thêm bước sắp xếp vào mô đun Xuly() trước khi ghi kết quả ra tệp.
Giải thích: Trong mô đun Xuly(), sau khi tính điểm tổng hợp của từng vận động viên, ta có thể sắp xếp danh sách kết quả theo thứ tự giảm dần. Bước này sẽ đảm bảo rằng danh sách điểm tổng hợp được sắp xếp từ cao xuống thấp, đáp ứng yêu cầu của đề bài khi ghi ra tệp kết quả.
Câu 3: Tại sao chương trình được chia thành các mô đun và lợi ích của việc thiết kế này là gì?
Đáp án: Chia thành các mô đun giúp chương trình dễ bảo trì và linh hoạt hơn.
Giải thích: Việc thiết kế theo mô đun giúp chương trình dễ bảo trì và dễ sửa đổi từng phần mà không ảnh hưởng đến toàn bộ chương trình. Với mỗi mô đun đảm nhiệm một chức năng riêng biệt (như nhập dữ liệu, xử lý dữ liệu, xuất dữ liệu), ta có thể thay đổi hoặc nâng cấp từng mô đun mà không phải thay đổi toàn bộ mã nguồn. Điều này cũng giúp chương trình dễ đọc, dễ kiểm tra và mở rộng.
Xem thêm câu hỏi trắc nghiệm Tin học lớp 11 Kết nối tri thức có đáp án hay khác: