Giải SBT Tin 10 KNTT Bài 29. Nhận biết lỗi chương trình có đáp án
Đề thi

Giải SBT Tin 10 KNTT Bài 29. Nhận biết lỗi chương trình có đáp án

A
Admin
Tin họcLớp 10160 lượt thi
11 câu hỏi
1. Tự luận
1 điểm

Xác định loại lỗi của câu lệnh sau:

>>> A = list(12)

A. Lỗi cú pháp.

B. Lỗi ngoại lệ. 

C. Lỗi khác.

D. Không có lỗi.

Xem đáp án

Đáp án đúng là: B

Câu lệnh trên mắc lỗi ngoại lệ. 

2. Tự luận
1 điểm

Lệnh sau có lỗi không? Nếu có thì lỗi thuộc loại nào?

123ab = {1,2,3]

print(123ab) 

A. Lỗi cú pháp.

B. Lỗi ngoại lệ. 

C. Lỗi khác.

D. Không có lỗi.

Xem đáp án

Đáp án đúng là: A

Vì biến không bắt đầu bằng chữ số.

3. Tự luận
1 điểm

Lỗi ngoại lệ trong Python là lỗi gì?

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.

Xem đáp án

Đáp án đúng là: C

Lỗi ngoại lệ là lỗi khi không thể thực hiện một lệnh nào đó của chương trình.

4. Tự luận
1 điểm

Chương trình sau có lỗi không? Nếu có thì lỗi thuộc loại nào?

A = [1,2,3]

for i in range(4):

print(A[i])

Xem đáp án

Có lỗi. Đó là lỗi ngoại lệ.

5. Tự luận
1 điểm

Chương trình sau có lỗi không? Nếu có thì lỗi thuộc loại nào?

n = 10

for i in range(n):

Print(i, end = " ")

Xem đáp án

Có lỗi. Đó là lỗi ngoại lệ.

6. Tự luận
1 điểm

Đoạn chương trình sau có lỗi không? Nếu có thì lỗi thuộc loại nào?

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

k = int(input("Nhập số lần cần nhân lên: "))

print("Kết quả là:", n*k)

Xem đáp án

Có lỗi, lỗi này thuộc loại ngữ nghĩa, không thuộc lỗi ngoại lệ hay lỗi cú pháp.

7. Tự luận
1 điểm

Trong lời gọi hàm, nếu các đối số được truyền vào hàm bị thiếu thì lỗi ngoại lệ phát sinh thuộc loại nào dưới đây?

A. Syntax Error.

B. NameError. 

C. TypeError

D. Không phát sinh lỗi ngoại lệ.

Xem đáp án

Đáp án đúng là: C

Trong lời gọi hàm, nếu các đối số được truyền vào hàm bị thiếu thì lỗi ngoại lệ phát sinh thuộc loại TypeError.

8. Tự luận
1 điểm

Các lệnh sau sẽ phát sinh lỗi ngoại lệ nào?

>>> s = "abc"

>>> s[10] 

A. SyntaxError.

B. NameError. 

C. TypeError

D. IndexError.

Xem đáp án

Đáp án đúng là: D

Media VietJack

9. Tự luận
1 điểm

Giả sử chương trình có lệnh nhập dữ liệu sau:

n = int(input("Nhập số nguyên n: "))

Khi chúng ta nhập 1.5 thì chương trình có lỗi ngoại lệ không? Đó là lỗi ngoại lệ nào? 

A. SyntaxError.

B. ValueError. 

C. TypeError

Xem đáp án

Đáp án đúng là: B

ValueError: Lỗi liên quan đến giá trị đối tượng.

Media VietJack

10. Tự luận
1 điểm

Bài toán yêu cầu sắp xếp dãy số ban đầu thành dãy tăng dần. Giả sử dãy số ban đầu là [3, 1, 8, 10, 5]. Kết quả thu được dãy [1, 3, 8, 5, 10]. Chương trình có lỗi không? Nếu có thể thì lỗi đó thuộc loại gì? 

Xem đáp án

Có lỗi. Đây là lỗi loại 3, tức là lỗi ngữ nghĩa bên trong chương trình, không phải lỗi ngoại lệ.

11. Tự luận
1 điểm

Các lệnh sau khi thực hiện có thể sinh lỗi không? Nếu có thì lỗi có thể là gì?

1. n = int(input("Nhập số nguyên n: "))

2. if prime(n):

3.       print(n, "là số nguyên tố")

4. else:

5.       print(n,"là hợp số")

Xem đáp án

- Lệnh 1 có thể phát sinh lỗi ValueError khi người dùng nhập dữ liệu chưa chính xác.

- Lệnh 3 có thể phát sinh lỗi NameError khi hàm prime() chưa được định nghĩa.

- Kết quả của chương trình có thể sai nếu hàm prime() không được viết chính xác. Khi đó chương trình có lỗi lôgic bên trong.