SBT Tin 10, giải sbt Tin học 10 Chủ đề 5: Giải quyết vấn đề với sự trợ giúp của máy tính

Bài 29. Nhận biết lỗi chương trình trang 59, 60 SBT Tin học 10 Kết nối tri thức với cuộc sống


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

Lựa chọn câu để xem lời giải nhanh hơn

29.1

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.

Phương pháp giải:

Lỗi ngoại lệ: Lỗi khi không thể thực hiện một lệnh trong chương trình. Chương trình sẽ dừng lại và thông báo một mã lỗi.

Lời giải chi tiết:

Loại lỗi của câu lệnh sau:

>>> A = list(12)

B. Lỗi ngoại lệ.

29.2

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.

Phương pháp giải:

Lỗi cú pháp: Người dùng viết sai cú pháp lệnh, chương trình lập tức dừng lại và thông báo lỗi cú pháp

Lời giải chi tiết:

Lệnh sau có lỗi, lỗi thuộc loại:

123ab = {1,2,3]

print(123ab)

A. Lỗi cú pháp.

29.3

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.

Phương pháp giải:

Lỗi ngoại lệ: Lỗi khi không thể thực hiện một lệnh trong chương trình. Chương trình sẽ dừng lại và thông báo một mã lỗi.

Lời giải chi tiết:

Lỗi ngoại lệ trong Python là lỗi

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

29.4

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])

Phương pháp giải:

Lỗi ngoại lệ: Vì danh sách A chỉ có chỉ số tối đa là 2 nhưng lệnh duyệt phần tử lấy chỉ số vượt quá giới hạn

Lời giải chi tiết:

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

29.5

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 = " ")

Phương pháp giải:

Lỗi ngoại lệ: Lỗi khi không thể thực hiện một lệnh trong chương trình. Chương trình sẽ dừng lại và thông báo một mã lỗi.

Lời giải chi tiết:

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

29.6

Đ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)

Phương pháp giải:

Đoạn chương trình này không có lỗi cú pháp cũng không có lỗi ngoại lệ, chỉ có thể là lỗi ngữ nghĩa

Lời giải chi tiết:

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.

29.7

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. SyntaxError.                      

B. NameError.

C. TypeError                          

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

Phương pháp giải:

Một số lỗi ngoại lệ thường gặp

Lời giải chi tiết:

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:

C. TypeError

29.8

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

>>> s = "abc"

>>> s[10]

A. Syntax Error.                     

B. NameError.

C. TypeError                          

D. IndexError.

Phương pháp giải:

Lỗi ngoại lệ IndexError, lỗi xảy ra khi lệnh cố gắng truy cập phần tử của danh sách nhưng chỉ số vượt quá giới hạn. Vì độ dài của danh sách là 3 nhưng cố gắng truy cập chỉ số 10

Lời giải chi tiết:

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

>>> s = "abc"

>>> s[10]

D. IndexError.

29.9

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.

Phương pháp giải:

Lỗi liên quan đến giá trị của đối tượng.

Lỗi khi thực hiện lệnh chuyển đổi kiểu dữ liệu, đối số của hàm có giá trị mà hàm không hỗ trợ. Ví dụ khi thực hiện lệnh int("1.55") sẽ sinh lỗi loại này.

Lời giải chi tiết:

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

B. ValueError.

29.10

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ì?

Phương pháp giải:

Lỗi của chương trình Python có thể là một trong các trường hợp sau:

1. Lỗi cú pháp lệnh.

2. Lỗi ngoại lệ. Khi gặp lỗi này, chương trình dừng lại và thông báo mã lỗi ngoại lệ tương ứng.

3. Lỗi không thuộc hai loại trên. Đây là các lỗi ngữ nghĩa hoặc lỗi logic bên trong chương trình.

Lời giải chi tiết:

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ệ

29.11

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ì?

Phương pháp giải:

Vận dụng kiến thức đã học về nhận biết lỗi chương trình

Lời giải chi tiết:

- 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 logic bên trong.


Bình chọn:
4.9 trên 7 phiếu

>> Xem thêm

Tham Gia Group Dành Cho 2K9 Chia Sẻ, Trao Đổi Tài Liệu Miễn Phí