Hướng dẫn giải bài tập SGK Tin học 10 Kết nối tri thức Chủ đề 5 Bài 29 Nhận biết lỗi chương trình giúp các em có thể hiểu bài nhanh hơn và phương pháp học tốt hơn.
-
Khởi động trang 141 SGK Tin học 10 Kết nối tri thức - KNTT
Một chương trình hoàn chỉnh được mô tả như Hình 29.1: Tiếp nhận các dữ liệu đầu vào, xử lí theo yêu cầu bài toán và đưa ra kết quả đúng theo yêu cầu. Theo em nếu chương trình có lỗi, thì các lỗi này sẽ như thế nào và có thể ở đâu?
-
Hoạt động 1 trang 141 SGK Tin học 10 Kết nối tri thức - KNTT
Quan sát các trường hợp chương trình gặp lỗi như sau, từ đó nhận biết và phân biệt một số loại lỗi của chương trình.
-
Câu hỏi mục 1 trang 142 SGK Tin học 10 Kết nối tri thức - KNTT
1. Khi gõ sai cú pháp một lệnh, chương trình sẽ dừng lại và báo lỗi, đó là lỗi loại gì?
2. 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, 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ó thì lỗi đó thuộc loại gì?
-
Hoạt động 2 trang 143 SGK Tin học 10 Kết nối tri thức - KNTT
Đọc, thảo luận để nhận biết một số lỗi ngoại lệ thường gặp trong chương trình Python.
-
Câu hỏi mục 2 trang 143 SGK Tin học 10 Kết nối tri thức - KNTT
Hãy nêu mã ngoại lệ của mỗi lệnh sau nếu xảy ra lỗi.
-
Luyện tập trang 144 SGK Tin học 10 Kết nối tri thức - KNTT
1. Các lệnh sau có sinh lỗi chương trình không? Nếu có thì mã lỗi là gì?
2. Để 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ó thể sinh lỗi ngoại lệ không? Nếu có thì những lỗi gì?
-
Vận dụng trang 144 SGK Tin học 10 Kết nối tri thức - KNTT
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.
2. Em hãy viết một chương trình để khi chạy sẽ sinh mã lỗi NameError.
-
Giải bài tập 29.1 trang 59 SBT Tin học 10 Kết nối tri thức - KNTT
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.
-
Giải bài tập 29.2 trang 60 SBT Tin học 10 Kết nối tri thức - KNTT
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.
-
Giải bài tập 29.3 trang 60 SBT Tin học 10 Kết nối tri thức - KNTT
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.
-
Giải bài tập 29. 4 trang 60 SBT Tin học 10 Kết nối tri thức - KNTT
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])
-
Giải bài tập 29.5 trang 60 SBT Tin học 10 Kết nối tri thức - KNTT
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 = " ")
-
Giải bài tập 29.6 trang 60 SBT Tin học 10 Kết nối tri thức - KNTT
Đ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)
-
Giải bài tập 29.7 trang 60 SBT Tin học 10 Kết nối tri thức - KNTT
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ệ.
-
Giải bài tập 29.8 trang 60 SBT Tin học 10 Kết nối tri thức - KNTT
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.
-
Giải bài tập 29.9 trang 60 SBT Tin học 10 Kết nối tri thức - KNTT
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.
-
Giải bài tập 29.10 trang 61 SBT Tin học 10 Kết nối tri thức - KNTT
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ì?
-
Giải bài tập 29.11 trang 61 SBT Tin học 10 Kết nối tri thức - KNTT
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ì?