Tắt QC

Trắc nghiệm Tin học 10 kết nối tri thức bài Kiếm thử và gỡ lỗi chương trình

Câu hỏi và bài tập trắc nghiệm tin học 10 bài Kiếm thử và gỡ lỗi chương trình kết nối tri thức có đáp án. Học sinh luyện tập bằng cách chọn đáp án của mình trong từng câu hỏi. Dưới cùng của bài trắc nghiệm, có phần xem kết quả để biết bài làm của mình. Kéo xuống dưới để bắt đầu

Câu 1: Chương trình sau bị lỗi ở dòng lệnh thứ bao nhiêu ?

>>> fruits = ['Banana', 'Apple', 'Lime']

>>> loud_fruits = [fruit.upper() for fruit in fruits]

>>> print(loud_fruits)

>>> list(enumerate(fruits))

  • A. 2.
  • B. 3.
  • C. 4.
  • D. Không phát sinh lỗi.

Câu 2: Chương trình chạy phát sinh lỗi ngoại lệ NameError, nên xử lí như thế nào?

  • A. Kiểm tra lại chỉ số trong mảng.
  • B. Kiểm tra lại tên các biến và hàm.
  • C. Kiểm tra giá trị của số bị chia.
  • D. Kiểm tra kiểu dữ liệu nhập vào.

Câu 3: Điểm dừng (break point) trong các phần mềm soạn thảo lập trình có ý nghĩa gì?

  • A. Đó là vị trí chương trình chạy tới đó thì kết thúc.
  • B. Đó là vị trí chương trình dừng lại để người lập trình quan sát phát hiện lỗi.
  • C. Đó là vị trí chương trình mỗi khi chạy đến dòng lệnh đó sẽ kêu pip pip.
  • D. Đó là vị trí chương trình tạm dừng, người lập trình sẽ quan sát các biến của chương trình và có thể điều khiển để chương trình tiếp tục chạy.

Câu 4: Đâu không là công cụ để kiểm thử chương trình?

  • A. Công cụ in biến trung gian.
  • B. Công cụ sinh các bộ dữ liệu test.
  • C. Công cụ thống kê dữ liệu.
  • D. Công cụ điểm dừng trong phần mềm soạn thảo lập trình.

Câu 5: Chương trình sau nên sửa như thế nào. Chọn phương án đúng nhất

fruits = ['Banana', 'Apple', 'Lime']

print(fruits[4])

  • A. Thay đổi kiểu dữ liệu của từng phần tử trong mảng.
  • B. Kiểm tra chỉ số của mảng khi thực hiện lệnh.
  • C. Thay đổi tên mảng.
  • D. Chương trình không có lỗi.

Câu 6: Chương trình sau phát sinh lỗi gì?

>>> 1 / 0

0.5

>>> 2 ** 3

8

  • A. NameError.
  • B. TypeError.
  • C. ZeroDivisionError.
  • D. Syntax Error.

Câu 7: Trong các phát biểu sau, phát biểu nào chưa chính xác về kiểm thử chương trình?

  • A. Hiện nay, có ít phương pháp và công cụ khác nhau để kiểm thử chương trình.
  • B. Chương trình cần được thử với một số bộ dữ liệu test gồm đầu vào tiêu biểu và kết quả đầu ra biết trước.
  • C. Các bộ test phụ thuộc vào các tiêu chí khác nhau.
  • D. Các bộ test dữ liệu nên có nhiều bộ test ngẫu nhiên,...

Câu 8: Để tính giá trị trung bình của một danh sách số A, người lập trình đã dùng lệnh gttb = sum(A) / len(A). Những mã lỗi ngoại lệ nào có thể xảy ra?

  • A. NameError.
  • B. ZeroDivisionError.
  • C. Không thể xảy ra lỗi
  • D. Có thể xảy ra cả hai lỗi trên.

Câu 9: Lỗi chương trình Python có bao nhiêu loại?

  • A. 2.
  • B. 3.
  • C. 4.
  • D. 5.

Câu 10: Phát biểu nào sau đây đúng nhất khi nói về các bộ dữ liệu test khi kiểm thử chương trình?

  • A. Các bộ test có thể có đầu vào theo các tiêu chí khác nhau.
  • B. Các bộ test có đầu vào theo một số tiêu chí nhất định.
  • C. Các bộ test có thể có đầu vào theo các tiêu chí khác nhau như độ lớn, tính đa dạng của dữ liệu.
  • D. Các bộ test có đầu vào phải theo các tiêu chí về độ lớn, tính đa dạng của dữ liệu.

Câu 11: Làm thế nào để kiểm tra (test) và gỡ lỗi (debug) một chương trình?

  • A. Quan sát mã lỗi Runtime và bắt ngoại lệ.
  • B. Sử dụng nhiều bộ test dữ liệu.
  • C. In các thông số trung gian.
  • D. Tất cả các phương pháp trên.

Câu 12: Chương trình chạy phát sinh lỗi ngoại lệ ZeroDivision, nên xử lí như thế nào?

  • A. Kiểm tra lại giá trị số chia.
  • B. Kiểm tra lại chỉ số trong mảng.
  • C. Kiểm tra giá trị của số bị chia.
  • D. Kiểm tra kiểu dữ liệu nhập vào.

Câu 13: Thế nào là lỗi ngoại lệ trong Python?

  • A. Lỗi khi viết một câu lệnh sai cú pháp của ngôn ngữ lập trình.
  • B. Lỗi khi truy cập một biến chưa được khai báo.
  • C. Lỗi khi không thể thực hiện một lệnh nào đó của chương trình.
  • D. Lỗi khi chương trình biên dịch sang tệp exe.

Câu 14: Hoàn thành phát biểu sau: “Có rất nhiều công cụ và phương pháp khác nhau để kiểm thử chương trình. Các công cụ có mục đích … của chương trình và …, … các lỗi phát sinh trong tương lai”

  • A. Tìm ra lỗi, phòng ngừa, ngăn chặn.
  • B. Tìm ra lỗi, phòng ngừa, xử lí.
  • C. Phòng ngừa, ngăn chặn, xử lí lỗi.
  • D. Xử lí lỗi, phòng ngừa, ngăn chặn.

Câu 15: Khi gặp lỗi liên quan đến giá trị của đối tượng Python sẽ báo lỗi gì?

  • A. ValueError.
  • B. IndentationError.
  • C. TypeError.
  • D. ZeroDivisionError.

Câu 16: Chương trình chạy phát sinh lỗi ngoại lệ TypeError, nên xử lí như thế nào?

  • A. Kiểm tra lại chỉ số trong mảng.
  • B. Kiểm tra lại giá trị số chia.
  • C. Kiểm tra giá trị của số bị chia.
  • D. Kiểm tra kiểu dữ liệu nhập vào.

Câu 17: Nếu chương trình chạy bị lỗi với thông báo lỗi ZeroDivisionError thì đó là lỗi gì?

  • A. Lỗi không thể sửa được.
  • B. Đây lỗi chia hết cho 0.
  • C. Lỗi dữ liệu.
  • D. Lỗi giá trị của đối tượng.

Câu 18: Số phát biểu đúng trong các phát biểu sau:

1) Cần chú ý nên có nhiều bộ test khi test các bộ dữ liệu.

2) Việc sinh ngẫu nhiên dữ liệu đầu vào trong miền xác định của chương trình làm tăng khả năng tìm lỗi.

3) Thực tế cho thấy ít khi phát sinh lỗi tại các vùng biên hoặc lân cận biên.

4) Không thể sử dụng các lệnh print() để in ra các biến trung gian.

  • A. 2.
  • B. 3.
  • C. 1.
  • D. 4.

Câu 19: Chương trình chạy phát sinh lỗi ngoại lệ IndexError, nên xử lí như thế nào?

  • A. Kiểm tra lại giá trị số chia.
  • B. Kiểm tra lại chỉ số trong mảng.
  • C. Kiểm tra giá trị của số bị chia.
  • D. Kiểm tra kiểu dữ liệu nhập vào.

Câu 20: Bộ dữ liệu kiểm thử (test) có những tính chất gì?

  • A. Tính chất phát hiện lỗi của chương trình.
  • B. Cần có càng nhiều càng tốt.
  • C. Cần được sinh ngẫu nhiên và phủ kín các trường hợp biên của dữ liệu đầu vào bài toán.
  • D. Không cần có tính chất gì.

Câu 21: Mục đích của kiểm thử chương trình là gì?

  • A. Để tự động sửa lỗi chương trình.
  • B. Để tìm ra lỗi của chương trình.
  • C. Để tìm ra lỗi và tự động sửa lỗi chương trình.
  • D. Để tìm ra lỗi và phòng ngừa, ngăn chặn các lỗi phát sinh trong tương lai.

Câu 22: Chương trình sau có lỗi ở dòng lệnh nào?

n = int(input("Nhập số tự nhiên n: "))

s = ""

for i in range(10):

s = s + i

  • A. 1.
  • B. 2.
  • C. 3.
  • D. 4.

Câu 23: Phần mềm soạn thảo lập trình có thể tạo bao nhiêu điểm dừng?

  • A. 0.
  • B. 1.
  • C. Không hạn chế.
  • D. 10.

Câu 24: Chương trình sau mắc lỗi gì?

def func(n)

a, b = 0, 1

while a < n:

print(a, end=' ')

a, b = b, a+b

print()

print(func(1000))

  • A. TypeError.
  • B. ZeroDivisionError.
  • C. Syntax Error.
  • D. NameError.

Câu 25: Giả sử đầu vào của dữ liệu bài toán là vùng {x ≥ 0]. Khi đó dữ liệu ở vùng biên là những dữ liệu nào?

  • A. x = 0.
  • B. x = 1000000.
  • C. x ở gần 0.
  • D. x ở gần 0 hoặc x rất lớn.

Xem đáp án

Bình luận

Giải bài tập những môn khác