Bài tập củng cố Tin học 10 kết nối: bài 29 Nhận biết lỗi chương trình

Bài tập củng cố môn Tin học 10 kết nối tri thức: Bài 29 Nhận biết lỗi chương trình. Phần bài tập gồm 4 mức độ: Nhận biết, Thông hiểu, Vận dụng và Vận dụng cao bám sát với chương trình sách giáo khoa. Thông qua bài tập này, học sinh có thể ôn luyện kiến thức đã học từ cơ bản đến nâng cao.

Nội dung chi tiết

BÀI 29: NHẬN BIẾT LỖI CHƯƠNG TRÌNH (15 CÂU)

I. NHẬN BIẾT (4 CÂU)

Câu 1: Lỗi chương trình là gì? Có mấy loại lỗi chương trình?

Trả lời:

Lỗi chương trình là một sai sót, thiếu sót hoặc hỏng hóc trong mã nguồn khiến chương trình bị lỗi hoặc không hoạt động như mong muốn. Nó có thể dẫn đến kết quả không chính xác, chương trình bị sập hoặc treo máy, hoặc thậm chí ảnh hưởng đến hệ thống.

Có 3 loại lỗi chương trình đó là: Lỗi cú pháp (Syntax Error), lỗi ngoại lệ (Exceptions Error) và lỗi logic (Logic Error)

Câu 2: Lỗi cú pháp (Syntax Error) là gì?

Trả lời:

Lỗi cú pháp (Syntax Error) là lỗi khi có lệnh viết sai cú pháp hoặc sai cấu trúc ngôn ngữ Python quy định, chương trình sẽ báo lỗi.

Câu 3: Lỗi ngoại lệ (Exceptions Error) là gì?

Trả lời:

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

Câu 4: Lỗi logic (Logic Error) là gì?

Trả lời:

Lỗi logic (Logic Error) là lỗi khi mà chương trình đưa ra kết quả sai, không chính xác.

II. THÔNG HIỂU (6 CÂU)

Câu 1: Dấu hiệu nào cho thấy chương trình có lỗi cú pháp?

Trả lời:

Dấu hiệu để nhận thấy chương trình có lỗi cú pháp là: Nhận thông báo lỗi khi chạy chương trình, chương trình không hoạt động, dòng lỗi hiện màu đỏ: lỗi chính tả, thiếu dấu câu, sai cú pháp,…

Câu 2: Dấu hiệu nào cho thấy chương trình có lỗi ngoại lệ?

Trả lời:

Dấu hiệu để nhận thấy chương trình có lỗi ngoại lệ là: Nhận thông báo lỗi khi chạy chương trình, chương trình bị sập hoặc treo máy,…

Câu 3: Hãy kể tên một số lỗi ngoại lệ thường gặp?

Trả lời:

Một số lỗi ngoại lệ thường gặp là: ZeroDivisionError (lỗi khi thực hiện phép chia cho 0), IndexError (lỗi khi truy cập phần tử của danh sách nhưng chỉ số vượt quá giới hạn), NameError (lỗi tìm tên nhưng không thấy), ValueError (lỗi liên quan đến giá trị của đối tượng),…

Câu 4: Dấu hiệu nào cho thấy chương trình có lỗi logic?

Trả lời:

Dấu hiệu để nhận thấy chương trình có lỗi logic là: Kết quả không chính xác, chương trình bị sập hoặc treo máy, chương trình không thực hiện đúng chức năng, lỗi thời gian chạy,…

Câu 5: Nêu các bước để gỡ lỗi chương trình.

Trả lời:

Để có thể gỡ lỗi chương trình, có thể thực hiện theo những bước sau:

- Bước 1: Xác định vị trí của lỗi.

- Bước 2: Phân tích nguyên nhân lỗi.

- Bước 3: Sửa lỗi.

- Bước 4: Kiểm tra lại chương trình.

Câu 6: Nêu cách cách để tránh gặp lỗi chương trình.

Trả lời:

Để tránh gặp lỗi chương trình khi lập trình chúng ta có thể:

- Viết mã nguồn cẩn thận, đúng cú pháp, đầy đủ dấu,…

- Kiểm tra kỹ lưỡng mã nguồn.

- Chạy thử chương trình.

- Sử dụng các phương pháp lập trình tốt.

- Học hỏi tích lụy thêm kinh nghiệm lập trình.

III. VẬN DỤNG (4 CÂU)

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

Trả lời:

Chương trình có lỗi.

Lỗi logic: Chương trình chạy không lỗi ngoại lệ nhưng kết quả đưa ra sai, không chính xác.

Câu 2: Hãy nêu mã ngoại lệ của mỗi lệnh sau nếu xảy ra lỗi.

a) A[1.5]

b) int(“abc”)

c) “10”*3.5

d) 12 + x(10)

Trả lời:

a) A[1.5]: NameError

b) int(“abc”): ValueError

c) “10”*3.5: TypeError

d) 12 + x(10): NameError

Câu 3: Các lệnh sau có lỗi chương trình không? Nếu có thì mã lỗi là gì?

I. NHẬN BIẾT (4 CÂU)

Trả lời:

Các dòng lệnh có xảy ra lỗi chương trình.

- IndentationError: dòng lệnh in range() không đúng vị trí.

- TypeError: Thực hiện cộng một xâu và một số nguyên.

Câu 4: Để 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 sau để tính:

gttb = sum(A)/len(A)

Lệnh này có xảy ra lỗi ngoại lệ không? Nếu có thì là những lỗi gì?

Trả lời:

Lệnh này có thể xảy ra lỗi: ZeroDivisionError nếu danh sách A rỗng.

IV. VẬN DỤNG CAO (1 CÂU)

Câu 1: Giả sử em được yêu cầu viết một chương trình nhập số tự nhiên n từ bàn phím, kết quả đưa ra là danh sách các ước số thực sự của n, tính cả 1 và không tính n. Hãy viết chương trình và kiểm tra các khả năng sinh lỗi khi thực hiện chương trình.

Trả lời:

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

A = []

for i in range(1,n):

if n % i == 0:

A.append(i)

print(A)

- Các lỗi có thể phát sinh: ZeroDivisionError, TypeError, NameError