Giải sách bài tập Tin học 10 Bài 29: Nhận biết lỗi chương trình
Câu 29.1 trang 59 SBT Tin học 10: 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.
Trả lời:
Đáp án đúng là: B
Câu lệnh trên mắc lỗi ngoại lệ.
Câu 29.2 trang 60 SBT Tin học 10: 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.
Trả lời:
Đáp án đúng là: A
Vì biến không bắt đầu bằng chữ số.
Câu 29.3 trang 60 SBT Tin học 10: 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.
Trả lời:
Đá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.
Câu 29.4 trang 60 SBT Tin học 10: 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])
Trả lời:
Có lỗi. Đó là lỗi ngoại lệ.
Câu 29.5 trang 60 SBT Tin học 10: 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 = " ")
Trả lời:
Có lỗi. Đó là lỗi ngoại lệ.
Câu 29.6 trang 60 SBT Tin học 10: Đ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)
Trả lời:
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.
A. Syntax Error.
B. NameError.
C. TypeError
D. Không phát sinh lỗi ngoại lệ.
Trả lời:
Đá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.
Câu 29.8 trang 60 SBT Tin học 10: 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.
Trả lời:
Đáp án đúng là: D
Câu 29.9 trang 60 SBT Tin học 10: 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
D. IndexError.
Trả lời:
Đáp án đúng là: B
ValueError: Lỗi liên quan đến giá trị đối tượng.
Trả lời:
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ệ.
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ố")
Trả lời:
- 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.
Xem thêm các bài giải SBT Tin học lớp 10 Kết nối tri thức hay, chi tiết:
Bài 30: Kiểm thử và gỡ lỗi chương trình