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 13: Thực hành thiết kế và lập trình theo mo đun tiếp theo có đáp án chi tiết đầy đủ các mức độ sách Cánh diều 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 13: Thực hành thiết kế và lập trình theo mo đun tiếp theo - Cánh diều
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: Hàm ptDiem có nhiệm vụ chính là gì?
A. Tính tổng điểm và điểm trung bình của một dãy số
B. Phân tích và phân loại điểm theo các mức xếp hạng
C. Sắp xếp dãy số theo thứ tự tăng dần
D. Tất cả các ý trên đều đúng
Đáp án: D
Giải thích: Hàm ptDiem thực hiện nhiều nhiệm vụ bao gồm tính tổng và điểm trung bình, phân tích điểm theo các mức xếp hạng (Chưa đạt, Đạt, Khá, Tốt), và sắp xếp dãy số để tìm max, min.
Câu 2: Hàm nào được sử dụng trong Python để tính tổng và điểm trung bình trong hàm ptDiem?
A. average()
B. sum()
C. total()
D. mean()
Đáp án: B
Giải thích: Hàm sum() trong Python được sử dụng để tính tổng của một dãy số, từ đó dễ dàng tính điểm trung bình.
Câu 3: Để tìm vị trí phân chia dãy điểm thành các mức xếp hạng, hàm nào nên được sử dụng trong Python?
A. index()
B. bisect_left()
C. find()
D. position()
Đáp án: B
Giải thích: Hàm bisect_left() trong mô-đun bisect được sử dụng để tìm vị trí chèn một giá trị vào dãy số đã sắp xếp, giúp phân chia dãy thành các mức xếp hạng
Câu 4: Khi sắp xếp danh sách các cặp (tên, điểm) theo điểm giảm dần, hàm nào được khuyên dùng trong Python?
A. sorted()
B. sort()
C. arrange()
D. order()
Đáp án: A
Giải thích: Hàm sorted() là phương thức sắp xếp có sẵn trong Python, cho phép sắp xếp danh sách và có thể sử dụng tham số key để xác định tiêu chí sắp xếp, trong trường hợp này là điểm.
Câu 5: Nguyên tắc nào trong "Zen of Python" nhấn mạnh việc viết câu lệnh rõ ràng?
A. Tường minh tốt hơn hiểu ngầm.
B. Đơn giản tốt hơn phức hợp.
C. Viết câu lệnh rõ ràng tốt hơn viết rút ngắn cô đặc.
D. Chương trình dễ đọc là quan trọng.
Đáp án: C
Giải thích: Nguyên tắc này khuyến khích lập trình viên viết mã dễ đọc và dễ hiểu, thay vì sử dụng cú pháp ngắn gọn nhưng khó hiểu.
Câu 6: Khi nào bạn nên sử dụng hàm sorted() thay vì sort() trong Python?
A. Khi bạn muốn thay đổi danh sách gốc.
B. Khi bạn không muốn thay đổi danh sách gốc.
C. Khi bạn muốn sắp xếp một danh sách rỗng.
D. Khi bạn làm việc với dữ liệu không có thứ tự.
Đáp án: B
Giải thích: Hàm sorted() tạo ra một bản sao mới của danh sách đã sắp xếp mà không làm thay đổi danh sách ban đầu, trong khi sort() sắp xếp danh sách tại chỗ.
Câu 7: Để in số thực với hai chữ số phần lẻ, bạn nên sử dụng cú pháp nào?
A. print("{:.2f}".format(số_thực))
B. print(round(số_thực, 2))
C. print("{:0.2f}".format(số_thực))
D. print("{:.2e}".format(số_thực))
Đáp án: A
Giải thích: Cú pháp "{:.2f}".format(số_thực) giúp định dạng số thực với hai chữ số sau dấu phẩy.
Câu 8: Nguyên tắc nào trong "Zen of Python" nói rằng "Chương trình dễ đọc là quan trọng"?
A. Phức hợp tốt hơn phức tạp
B. Đơn giản tốt hơn phức hợp
C. Viết câu lệnh rõ ràng tốt hơn viết rút ngắn cô đặc
D. Chương trình dễ đọc là quan trọng
Đáp án: D
Giải thích: Nguyên tắc này nhấn mạnh rằng mã nguồn dễ đọc giúp lập trình viên khác hiểu và bảo trì dễ dàng hơn.
Câu 9: Mục đích chính của việc sắp xếp dãy điểm trong hàm ptDiem là gì?
A. Để tìm max và min một cách nhanh chóng.
B. Để phân loại điểm theo mức xếp hạng.
C. Để tính toán điểm trung bình chính xác hơn.
D. Tất cả các lý do trên.
Đáp án: D
Giải thích: Việc sắp xếp dãy điểm giúp dễ dàng tìm max, min và phân loại điểm theo các mức xếp hạng, từ đó tính toán điểm trung bình chính xác hơn.
Câu 10: Trong hàm ptMonHoc, mục đích của việc sử dụng tham số key trong hàm sorted() là gì?
A. Để xác định thứ tự sắp xếp.
B. Để tăng tốc độ sắp xếp.
C. Để thay đổi cách tính điểm.
D. Để xác định loại dữ liệu.
Đáp án: A
Giải thích: Tham số key trong hàm sorted() cho phép bạn xác định cách mà các phần tử trong danh sách được so sánh với nhau để sắp xếp, trong trường hợp này là dựa trên giá trị điểm.
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: Khi thực hiện hàm ptDiem trong Python, để tính điểm trung bình của một dãy điểm, phương pháp nào là hợp lý nhất?
a) Sử dụng vòng lặp để tính tổng từng điểm rồi chia cho số lượng điểm.
b) Sử dụng hàm sum() để tính tổng và chia cho số lượng điểm.
c) Sử dụng hàm len() để tính tổng và chia cho số lượng điểm.
d) Sử dụng phương pháp thủ công để cộng từng điểm trong dãy
a) Sai. Mặc dù phương pháp này có thể hoạt động, nhưng nó không hiệu quả và không tận dụng các hàm có sẵn trong Python.
b) Đúng. Sử dụng hàm sum() là phương pháp tối ưu để tính tổng dãy điểm, sau đó chia cho số lượng điểm sử dụng hàm len().
c) Sai. Hàm len() không tính tổng, nó chỉ trả về số lượng phần tử trong dãy, do đó không thể sử dụng một mình.
d) Sai. Phương pháp thủ công không hiệu quả và không nên được sử dụng trong lập trình hiện đại, nơi có sẵn nhiều hàm hữu ích.
Câu 2: Trong hàm ptMonHoc, để sắp xếp danh sách các cặp (tên, điểm) theo thứ tự điểm giảm dần, phương pháp nào là chính xác nhất?
a) Sử dụng phương thức sort() với tham số reverse=True.
b) Sử dụng hàm sorted() với tham số reverse=False.
c) Sử dụng hàm sorted() với tham số reverse=True và key=lambda.
d) Sử dụng phương pháp sắp xếp thủ công để sắp xếp danh sách.
a) Sai. Mặc dù sort() có thể sử dụng tham số reverse=True, nhưng nó chỉ hoạt động trên danh sách, không tạo ra một danh sách mới.
b) Sai. reverse=False không sắp xếp theo thứ tự giảm dần mà giữ nguyên thứ tự ban đầu.
c) Đúng. Sử dụng sorted() với reverse=True và key=lambda cho phép sắp xếp danh sách các cặp theo giá trị điểm giảm dần một cách linh hoạt.
d) Sai. Sắp xếp thủ công không hiệu quả và không cần thiết vì Python đã cung cấp các hàm sắp xếp hiệu quả.
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: Tại sao nên sử dụng hàm sum() để tính tổng dãy điểm trong hàm ptDiem?
Đáp án: Sử dụng hàm sum() trong Python giúp tính tổng một cách nhanh chóng và hiệu quả mà không cần phải viết mã lặp lại. Hàm này đã được tối ưu hóa và đơn giản hóa quá trình tính tổng, giúp giảm thiểu sai sót so với việc sử dụng vòng lặp để cộng từng giá trị.
Giải thích: Hàm sum() là một hàm có sẵn trong Python, giúp người lập trình dễ dàng tính toán tổng của các phần tử trong một dãy. Thay vì viết mã lặp lại, việc sử dụng hàm này làm cho mã trở nên ngắn gọn và dễ đọc hơn, đồng thời tăng hiệu suất của chương trình.
Câu 2: Tại sao lại cần sắp xếp dãy điểm trước khi sử dụng hàm bisect_left?
Đáp án: Cần sắp xếp dãy điểm trước khi sử dụng hàm bisect_left để đảm bảo rằng việc tìm kiếm vị trí phân chia các mức điểm được thực hiện chính xác.
Giải thích: Hàm bisect_left yêu cầu dãy số đầu vào phải được sắp xếp theo thứ tự tăng dần. Nếu dãy không được sắp xếp, kết quả trả về sẽ không chính xác. Việc sắp xếp dãy điểm giúp xác định các ngưỡng điểm cho các mức đánh giá (Chưa đạt, Đạt, Khá, Tốt) một cách chính xác hơn.
Câu 3: Tại sao nên sử dụng hàm sorted() thay vì tự triển khai thuật toán sắp xếp trong hàm ptMonHoc?
Đáp án: Sử dụng hàm sorted() là lựa chọn tốt hơn vì nó được tối ưu hóa và có hiệu suất cao hơn so với các thuật toán sắp xếp tự viết, đồng thời cũng giúp mã nguồn trở nên ngắn gọn và dễ hiểu hơn
Giải thích: Hàm sorted() là một hàm có sẵn trong Python cho phép sắp xếp các danh sách một cách dễ dàng và hiệu quả. Việc sử dụng nó giúp người lập trình không phải lo lắng về cách triển khai thuật toán sắp xếp, đồng thời đảm bảo rằng mã dễ đọc và duy trì hơn. Python đã phát triển các thuật toán sắp xếp tối ưu, vì vậy việc sử dụng chúng là một cách tốt để tận dụng sức mạnh của ngôn ngữ này.
Xem thêm câu hỏi trắc nghiệm Tin học lớp 11 Cánh diều có đáp án hay khác: