Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23 (có đáp án): Kiểm thử và đánh giá chương trình
15 câu · Đề theo bài
Xem trước: đọc nhanh mọi câu dạng chữ, chưa tính giờ, chưa hiện đáp án. Luyện tập: chọn đáp án là biết đúng sai ngay, kèm lời giải. Thi thử: nộp bài mới chấm điểm và hiện lời giải.
Câu 1
Phương pháp kiểm thử nào dưới đây có thể giúp tăng độ tin cậy của chương trình nhưng không chứng minh được tính đúng của thuật toán?
Đáp án và lời giải
Đáp án: B
Câu 2
Phương pháp nào sau đây thường được sử dụng để chứng minh tính đúng của thuật toán một cách chắc chắn?
Đáp án và lời giải
Đáp án: C
Câu 3
Mục đích chính của việc kiểm thử chương trình là gì?
Đáp án và lời giải
Đáp án: B
Câu 4
Trong kiểm thử chương trình, tại sao không thể chỉ dựa vào các bộ dữ liệu kiểm thử để chứng minh tính đúng của thuật toán?
Đáp án và lời giải
Đáp án: B
Câu 5
Tiêu chí nào dưới đây thường được xem xét khi đánh giá hiệu quả của một thuật toán?
Đáp án và lời giải
Đáp án: B
Câu 6
Một chương trình có thể tối ưu về mặt thời gian nhưng không tối ưu về mặt nào dưới đây?
Đáp án và lời giải
Đáp án: B
Câu 7
Trong kiểm thử chương trình, tại sao nên sử dụng các bộ dữ liệu có tính đa dạng cao?
Đáp án và lời giải
Đáp án: B
Câu 8
Độ phức tạp tính toán của một thuật toán chủ yếu đánh giá điều gì?
Đáp án và lời giải
Đáp án: C
Câu 9
Trong các lựa chọn sau, đâu là lợi ích của việc sử dụng các bộ dữ liệu kiểm thử?
Đáp án và lời giải
Đáp án: B
Câu 10
Phương pháp quy nạp toán học thường được sử dụng để làm gì trong kiểm thử chương trình?
Đáp án và lời giải
Đáp án: B
Câu 11
Mục đích chính của việc sử dụng các bộ dữ liệu kiểm thử là gì?
a)Chứng minh tính đúng đắn tuyệt đối của chương trình.
b)Kiểm tra độ tin cậy của chương trình bằng cách phát hiện lỗi có thể có.
c)Đánh giá tốc độ thực thi của chương trình.
d)Đảm bảo chương trình tiết kiệm bộ nhớ tối đa.
Đáp án và lời giải
Đáp án: a) Sai; b) Đúng; c) Sai; d) Sai
Câu 12
Tiêu chí nào dưới đây là quan trọng nhất khi đánh giá hiệu quả của một thuật toán?
a)Thời gian chạy nhanh hơn các thuật toán khác cùng giải bài toán.
b)Sử dụng bộ nhớ ít nhất có thể.
c)Chương trình phải rõ ràng, dễ hiểu và dễ áp dụng.
d)Phải chứng minh được tính đúng đắn tuyệt đối của thuật toán.
Đáp án và lời giải
Đáp án: a) Đúng; b) Sai; c) Sai; d) Sai
Câu 13
Kiểm thử chương trình có vai trò gì trong việc đánh giá tính đúng đắn của thuật toán?
Đáp án và lời giải
Đáp án: Kiểm thử chương trình giúp tăng độ tin cậy của chương trình bằng cách phát hiện và sửa các lỗi thông qua việc sử dụng các bộ dữ liệu đầu vào khác nhau. Tuy nhiên, kiểm thử không thể chứng minh tính đúng đắn hoàn toàn của một thuật toán. Giải thích: Kiểm thử có thể phát hiện lỗi khi chương trình không cho ra kết quả đúng với các bộ dữ liệu đầu vào cụ thể. Tuy nhiên, vì số lượng trường hợp đầu vào là vô hạn, nên kiểm thử không đảm bảo rằng chương trình luôn đúng với mọi trường hợp. Để chứng minh tính đúng của một thuật toán, ta cần sử dụng các phương pháp chứng minh logic hoặc toán học.
Câu 14
Làm thế nào để kiểm tra tính đúng của thuật toán sắp xếp chèn bằng phương pháp lập luận logic?
Đáp án và lời giải
Đáp án: Ta có thể kiểm tra tính đúng của thuật toán sắp xếp chèn bằng cách sử dụng bất biến vòng lặp. Sau mỗi bước lặp, dãy con từ đầu đến phần tử hiện tại phải được sắp xếp đúng theo thứ tự tăng dần Giải thích: Phương pháp lập luận logic như bất biến vòng lặp giúp chúng ta theo dõi trạng thái của chương trình ở từng bước, đảm bảo rằng các phần tử trong dãy con từ đầu đến vị trí hiện tại luôn được sắp xếp đúng. Nếu bất biến này đúng sau mỗi bước lặp và duy trì đến cuối vòng lặp, thì dãy đã được sắp xếp tăng dần, chứng tỏ thuật toán sắp xếp chèn là đúng.
Câu 15
Hai tiêu chí quan trọng nhất để đánh giá hiệu quả của một chương trình là gì?
Đáp án và lời giải
Đáp án: Hai tiêu chí quan trọng nhất để đánh giá hiệu quả của một chương trình là độ phức tạp thời gian và độ phức tạp không gian Giải thích: Độ phức tạp thời gian cho biết thời gian thực hiện của chương trình và có ảnh hưởng trực tiếp đến tốc độ xử lý, đặc biệt là khi xử lý lượng lớn dữ liệu. Độ phức tạp không gian liên quan đến lượng bộ nhớ mà chương trình sử dụng. Trong nhiều ứng dụng, tối ưu thời gian thường quan trọng hơn, nhưng với các thiết bị có hạn chế về bộ nhớ, việc tiết kiệm không gian cũng rất cần thiết.