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 6: Kiểm thử và sửa lỗi chương trình 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 6: Kiểm thử và sửa lỗi chương trình - 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: Nguyên nhân nào thường gây ra lỗi cú pháp trong lập trình?
A. Thiếu dấu chấm phẩy ở cuối dòng lệnh.
B. Giá trị không hợp lệ trong một phép toán.
C. Lỗi trong thuật toán đã được mô tả.
D. Quá trình biên dịch không thành công.
Đáp án: A
Giải thích: Lỗi cú pháp thường xảy ra do các sai sót trong việc viết câu lệnh, như thiếu dấu chấm phẩy, dấu ngoặc không khớp, hoặc sai cấu trúc ngữ pháp của ngôn ngữ lập trình.
Câu 2: Lỗi nào được xác định là lỗi thời gian chạy?
A. Lỗi không được biên dịch.
B. Lỗi xảy ra khi chạy chương trình với dữ liệu không hợp lệ.
C. Lỗi cú pháp trong mã nguồn.
D. Lỗi trong mô tả thuật toán.
Đáp án: B
Giải thích: Lỗi thời gian chạy xảy ra khi chương trình đã được biên dịch nhưng gặp phải vấn đề trong quá trình thực thi, như chia cho 0 hoặc truy cập phần tử ngoài phạm vi cho phép.
Câu 3: Chạy thử chương trình có mục đích gì?
A. Tăng tốc độ xử lý của chương trình.
B. Phát hiện lỗi trong mã nguồn.
C. Tối ưu hóa thuật toán.
D. Tăng cường bảo mật cho chương trình.
Đáp án: B
Giải thích: Mục đích chính của việc chạy thử chương trình là để phát hiện lỗi trong mã nguồn và đảm bảo rằng chương trình hoạt động đúng theo yêu cầu đề bài.
Câu 4: Khi nào bạn nên sử dụng ca kiểm thử?
A. Để kiểm tra độ an toàn của dữ liệu.
B. Để phát hiện các lỗi tiềm ẩn trong chương trình.
C. Để tối ưu hóa thời gian thực thi.
D. Để tăng cường bảo mật cho ứng dụng.
Đáp án: B
Giải thích: Ca kiểm thử là một trường hợp cụ thể với đầu vào và đầu ra dự đoán nhằm phát hiện các lỗi tiềm ẩn trong chương trình.
Câu 5: Điều gì là một phần quan trọng trong việc gỡ lỗi?
A. Sử dụng biến toàn cục.
B. Tách biệt các phần công việc của chương trình.
C. Tối ưu hóa thuật toán.
D. Sử dụng các thư viện bên ngoài.
Đáp án: B
Giải thích: Tách biệt các phần công việc của chương trình giúp dễ dàng xác định và sửa lỗi ở các đoạn mã cụ thể, cải thiện khả năng gỡ lỗi.
Câu 6: Đâu là một kỹ thuật tốt để kiểm tra lỗi trong các biến kiểu số thực?
A. Sử dụng điều kiện "khác nhau".
B. So sánh với giá trị đúng bằng 100.
C. Kiểm tra giá trị bằng 0.
D. Sử dụng các giá trị "đầu vào không mong đợi".
Đáp án: B
Giải thích: Lỗi logic có thể xảy ra khi so sánh các biến kiểu số thực do vấn đề làm tròn. Việc kiểm tra sự bằng nhau giữa các giá trị có thể dẫn đến sai sót, vì vậy nên kiểm tra cẩn thận.
Câu 7: Việc in ra giá trị biến trong quá trình gỡ lỗi có tác dụng gì?
A. Tăng tốc độ thực thi.
B. Giúp theo dõi và xác định lỗi.
C. Giúp giảm kích thước mã nguồn.
D. Tối ưu hóa thuật toán.
Đáp án: B
Giải thích: In ra giá trị biến giúp lập trình viên theo dõi trạng thái của biến trong quá trình chạy thử, từ đó dễ dàng xác định vị trí và nguyên nhân của lỗi.
Câu 8: Tại sao cần thiết lập các thói quen lập trình tốt?
A. Để tạo ra mã nguồn phức tạp hơn.
B. Để giảm thiểu số lượng lỗi và dễ dàng gỡ lỗi.
C. Để tăng cường tính năng của chương trình.
D. Để thay đổi ngôn ngữ lập trình.
Đáp án: B
Giải thích: Các thói quen lập trình tốt giúp giảm thiểu số lượng lỗi trong mã nguồn, từ đó giúp việc gỡ lỗi trở nên dễ dàng và hiệu quả hơn
Câu 9: Lợi ích của việc tổ chức tách biệt các phần công việc trong một chương trình là gì?
A. Giảm độ phức tạp của mã nguồn.
B. Dễ chạy thử và sửa lỗi.
C. Tăng cường bảo mật cho ứng dụng.
D. Tăng tốc độ biên dịch.
Đáp án: B
Giải thích: Tổ chức tách biệt các phần công việc giúp việc chạy thử và sửa lỗi trở nên dễ dàng hơn, vì có thể tập trung vào từng phần cụ thể của chương trình.
Câu 10: Lý do nào sau đây không phải là lý do để kiểm thử chương trình?
A. Đảm bảo chương trình hoạt động đúng.
B. Tối ưu hóa hiệu suất chương trình.
C. Phát hiện và sửa lỗi.
D. Đảm bảo đáp ứng yêu cầu bài toán.
Đáp án: B
Giải thích: Mặc dù tối ưu hóa hiệu suất là quan trọng, nhưng mục tiêu chính của kiểm thử chương trình là phát hiện và sửa lỗi để đảm bảo chương trình hoạt động đúng và đáp ứng yêu cầu bài toán.
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: Nguyên nhân nào sau đây thường gây ra lỗi thời gian chạy (runtime errors) trong một chương trình?
a) Đầu vào không hợp lệ trong quá trình tính toán.
b) Lỗi cú pháp trong mã nguồn.
c) Không sử dụng các hàm tự định nghĩa.
d) Tổ chức chương trình không hợp lý.
a) Đúng. Lỗi thời gian chạy thường xảy ra khi chương trình nhận đầu vào không hợp lệ, chẳng hạn như chia cho 0 hoặc truy cập vào phần tử không hợp lệ trong một danh sách. Những tình huống này khiến chương trình không thể tiếp tục thực hiện.
b) Sai. Lỗi cú pháp xảy ra trong quá trình biên dịch chứ không phải thời gian chạy. Nếu có lỗi cú pháp, chương trình sẽ không biên dịch thành công.
c) Sai. Không sử dụng các hàm tự định nghĩa không phải là nguyên nhân gây lỗi thời gian chạy, mặc dù có thể dẫn đến mã nguồn kém tổ chức.
d) Sai. Mặc dù tổ chức chương trình không hợp lý có thể gây khó khăn trong việc gỡ lỗi, nhưng nó không phải là nguyên nhân trực tiếp gây lỗi thời gian chạy.
Câu 2: Khi nào việc kiểm thử từng đoạn mã lệnh hoặc hàm riêng biệt là cần thiết trong quá trình phát triển phần mềm?
a) Chỉ cần kiểm thử sau khi hoàn thành toàn bộ chương trình.
b) Cần thiết để đảm bảo mỗi phần thực hiện đúng chức năng của nó trước khi tiếp tục.
c) Không cần thiết vì kiểm thử toàn bộ chương trình là đủ.
d) Chỉ cần thực hiện kiểm thử cho các hàm lớn, không cần cho hàm nhỏ.
a) Sai. Kiểm thử sau khi hoàn thành toàn bộ chương trình có thể dẫn đến khó khăn trong việc xác định lỗi và sửa chữa.
b) Đúng. Việc kiểm thử từng đoạn mã lệnh hoặc hàm riêng biệt giúp phát hiện lỗi sớm và đảm bảo rằng mỗi phần của chương trình hoạt động chính xác trước khi tích hợp vào toàn bộ chương trình.
c) Sai. Kiểm thử toàn bộ chương trình mà không kiểm thử từng phần có thể dẫn đến việc bỏ sót lỗi.
d) Sai. Kiểm thử cho các hàm nhỏ cũng quan trọng, vì lỗi trong những hàm này có thể ảnh hưởng đến kết quả tổng thể của chương trình.
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: Nguyên nhân gây lỗi và truy vết lỗi là gì?
Đáp án: Lỗi cú pháp thường xảy ra do người lập trình không hiểu rõ ngôn ngữ lập trình đang sử dụng. Lỗi thời gian chạy xảy ra khi có giá trị không hợp lệ, như chia cho 0 hoặc truy cập vào chỉ số ngoài phạm vi cho phép.
Giải thích: Lỗi cú pháp là những lỗi trong cú pháp của mã, mà các IDE có thể giúp phát hiện và sửa chữa. Ngược lại, lỗi thời gian chạy không dễ dàng phát hiện trong quá trình biên dịch và có thể gây ra sự cố trong quá trình chạy chương trình. Người lập trình có thể sử dụng các công cụ gỡ lỗi trong IDE để truy vết lỗi bằng cách theo dõi các dòng lệnh và xác định nguyên nhân gây ra sự cố.
Câu 2: Tại sao việc chạy thử chương trình là cần thiết?
Đáp án: Việc chạy thử giúp phát hiện lỗi trong mã nguồn và đảm bảo rằng chương trình hoạt động đúng với các yêu cầu bài toán.
Giải thích: Chạy thử cho phép lập trình viên kiểm tra từng đoạn mã và xác định xem chương trình có hoạt động như mong đợi không. Mặc dù không thể kiểm thử tất cả các trường hợp đầu vào có thể xảy ra, nhưng chạy thử giúp hạn chế rủi ro và cải thiện độ tin cậy của chương trình bằng cách phát hiện và sửa lỗi kịp thời.
Câu 3: Những kinh nghiệm nào có thể giúp trong việc gỡ lỗi chương trình?
Đáp án: Một số kinh nghiệm bao gồm kiểm thử từng phần của mã, kiểm tra các điều kiện biên và sử dụng các lệnh in ra để theo dõi giá trị của biến trong quá trình thực thi.
Giải thích: Gỡ lỗi từng đoạn mã hoặc hàm riêng biệt giúp dễ dàng phát hiện và sửa lỗi hơn so với việc kiểm thử toàn bộ chương trình. Kiểm tra các điều kiện ở đầu mút giúp phát hiện các lỗi tiềm ẩn. Việc in ra giá trị biến trong quá trình chạy cho phép lập trình viên theo dõi sự thay đổi của dữ liệu và phát hiện lỗi logic mà có thể không dễ nhận ra chỉ qua việc quan sát đầu ra cuối cùng.
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: