Giải Tin học 10 kết nối bài 29: Nhận biết lỗi chương trình
BẮT ĐẦU
Một chương trình hoàn chỉnh được mô tả như hình 29.1: Nhận dữ liệu vào, xử lý bài toán theo yêu cầu và cho kết quả đúng theo yêu cầu. Theo bạn, nếu chương trình có lỗi thì những lỗi này có thể do đâu và như thế nào?
Hồi đáp
Nếu chương trình có lỗi, lỗi thường là ở đầu vào hoặc chương trình (sai câu lệnh, chỉ số vượt quá giới hạn cho phép, lỗi logic bên trong chương trình…)
1. TÌM LỖI CHƯƠNG TRÌNH
Hoạt động 1: Nhận biết và phân biệt một số loại lỗi của chương trình
Quan sát các trường hợp lỗi chương trình như sau, từ đó nhận biết và phân biệt một số loại lỗi chương trình
Hồi đáp
- Lỗi logic: Chương trình chạy không có ngoại lệ, nhưng đầu ra không chính xác và không chính xác.
- Syntax Error: Lỗi khi có lệnh sai cú pháp hoặc cấu trúc ngôn ngữ python không đúng. Lập tức chương trình sẽ dừng lại và thông báo lỗi Syntax Error
- Ngoại lệ: Đã xảy ra 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 và báo mã lỗi. Lỗi ngoại lệ.
Câu hỏi:
Câu hỏi 1. Khi gõ sai cú pháp của một câu lệnh, chương trình sẽ dừng lại và báo lỗi, đó là lỗi gì?
Hồi đáp
Loại lỗi là: Lỗi khi có lỗi cú pháp chương trình sẽ dừng ngay lập tức và báo lỗi Syntax Error
Câu 2. Bài toán yêu cầu sắp xếp dãy số ban đầu thành một dãy số tăng dần. Giả sử dãy ban đầu là [3, 1, 8, 10 0]. Kết quả thu được là dãy [1, 3, 8, 10, 0]. Chương trình có lỗi không? Nếu vậy, đó là loại lỗi gì?
Hồi đáp
- Lỗi logic bên trong chương trình
2. MỘT SỐ LỖI NGOÀI THƯỜNG GẶP
Hoạt động 2: Nhận biết một số lỗi ngoại lệ thường gặp
Đọc, thảo luận để nhận ra một số lỗi ngoại lệ phổ biến trong chương trình Python.
Hồi đáp
Mã lỗi ngoại lệ | mô tả lồi |
ZeroDivisionLỗi | Lỗi này xảy ra khi lệnh thực hiện phép chia cho giá trị 0 |
Chỉ mụcLỗi | Lỗi xảy ra khi lệnh cố gắng truy cập một phần tử của danh sách nhưng chỉ mục vượt quá giới hạn |
NamLỗi | Lỗi xảy ra khi chương trình muốn tìm tên nhưng không tìm thấy. Ví dụ: khi lệnh gọi đến một chức năng không tồn tại |
LoạiLỗi | Lỗi kiểu dữ liệu. Một số ví dụ về loại lỗi này: – Lệnh truy xuất một phần của danh sách nhưng chỉ số không phải là số nguyên – Lệnh tính một biểu thức số nhưng có toán tử không phải là số |
Giá trịError | 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 với giá trị mà hàm không hỗ trợ. Ví dụ: thực thi int(“1.55”) sẽ tạo ra loại lỗi này |
Lỗi thụt đầu dòng | Lỗi khi thụt lề không thẳng hàng hoặc sai vị trí |
Lỗi cú pháp | Lỗi cú pháp |
Câu hỏi: Nêu mã ngoại lệ của từng lệnh sau nếu xảy ra lỗi.
a) Một[1.5] b) int(“abc”)
c) “10”*3.5 d) 12 + x(10)
Hồi đáp
a) Lỗi Loại
b) Giá trịLỗi
c) Lỗi Loại
d) TênLỗi
Luyện tập
Câu hỏi 1. Các lệnh sau có tạo ra lỗi chương trình không? Nếu có, mã lỗi là gì?
Câu 2: Để tính giá trị trung bình của một danh sách các số A, lập trình viên đã sử dụng lệnh sau để tính:
gttb = Tổng(MỘT)/len(MỘT)
Lệnh này có thể ném ngoại lệ không? Nếu vậy, các lỗi là gì?
Vận dụng
Câu hỏi 1. Giả sử bạn được yêu cầu viết chương trình nhập số tự nhiên n từ bàn phím, đầu ra sẽ là danh sách các ước thực của n, bao gồm 1 và không tính n. Viết chương trình và kiểm tra khả năng xảy ra lỗi khi thực hiện chương trình.
Câu 2: Viết một chương trình nhỏ sẽ tạo ra mã lỗi NameError khi chạy.
Bạn đang xem bài viết Giải Tin học 10 kết nối bài 29: Nhận biết lỗi chương trình Tại : hoami.edu.vn
Cám ơn bạn đã ghé thăm Website Trường Họa Mi
TỔNG HỢP Bài Tập Tin Học Lớp 10 : Tin Học Lớp 10