Nội dung chính Tin học 10 Kết nối tri thức Bài 29: Nhận biết lỗi chương trình
Hệ thống kiến thức trọng tâm Bài 29: Nhận biết lỗi chương trình sách Tin học 10 Kết nối tri thức. Với các ý rõ ràng, nội dung mạch lạc, đi thẳng vào vấn đề hi vọng người đọc sẽ nắm trọn kiến thức trong thời gian rất ngắn. Nội dung chính được tóm tắt ngắn gọn sẽ giúp thầy cô ôn tập củng cố kiến thức cho học sinh. Bộ tài liệu có file tải về. Mời thầy cô kéo xuống tham khảo
Xem: => Giáo án tin học 10 kết nối tri thức (bản word)
NHẬN BIẾT LỖI CHƯƠNG TRÌNH (2 TIẾT)
I. NHẬN BIẾT LỖI CHƯƠNG TRÌNH
- Hoạt động 1: Phân biệt một số loại lỗi chương trình:
+ Loại 1: Lỗi cú pháp. Đây là lỗi viết sai cú pháp, chương trình sẽ dừng lại ngay. Lỗi này là lỗi Runtime.
+ Loại 2: Lỗi ngoại lệ. Đây là lỗi lôgic nội tại khi lập trình, chương trình sẽ dừng lại ngay và trả về một mã lỗi gọi là mã lỗi ngoại lệ. Lỗi này vẫn là lỗi Runtime.
+ Loại 3: Lỗi khác. Các lỗi này chương trình không dừng lại mà chỉ đưa ra kết quả sai. Các lỗi loại này thường gọi là lỗi ngữ nghĩa hay lỗi lôgic bên trong chương trình.
Câu hỏi và bài tập củng cố:
- Đây là lỗi cú pháp.
- Đây là lỗi lôgic nội tại, không phải lỗi ngoại lệ.
II. MỘT SỐ LỖI NGOẠI LỆ THƯỜNG GẶP
- Một số lỗi ngoại lệ thường gặp:
+ ZeroDivisionError: Lỗi này xảy ra khi thực hiện phép chia cho giá trị 0.
+ 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.
+ NameError: Lỗi xảy ra khi chương trình muốn tìm một tên nhưng không nhìn thấy.
+ TypeError: Lỗi kiểu dữ liệu.
+ ValueError:
- 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ợ.
+ IndentationError: Lỗi khi các dòng lệnh thụt vào không thẳng hàng hoặc không đúng vị trí.
+ SyntaxError: Lỗi cú pháp.
Câu hỏi và bài tập củng cố:
- a) Lỗi kiểu dữ liệu: TypeError.
- b) Lỗi giá trị dữ liệu: ValueError.
- c) Lỗi kiểu dữ liệu: TypeError.
- d) Nếu có lỗi xảy ra thì có thể là các loại lỗi sau đây:
+ TypeError nếu dữ liệu (số 10) truyền vào đối số của hàm x() bị sai kiểu.
+ NameError nếu hàm x() chưa được định nghĩa trước đó.
+ TypeError nếu giá trị trả lại của hàm x(10) không cùng kiểu để có thể thực hiện phép toán 12 + x(10).
III. THỰC HÀNH
- Nhiệm vụ 1:
Các khả năng sinh lỗi của chương trình là:
+ Các số m, n nhập vào không phải là số nguyên.
+ Giữa hai số m, n không có dấu cách.
+ Số n nhập vào là số 0.
- Nhiệm vụ 2:
Các khả năng sinh lỗi của chương trình là:
+ Số n được nhập không phải là số nguyên.
+ Mỗi số hạng của danh sách nhập vào không là số nguyên.
IV. LUYỆN TẬP
Luyện tập 1: Hàm có thể như sau:
- Nhóm lệnh 1 có lỗi chỉ số.
- Nhóm lệnh 2 có lỗi kiểu dữ liệu.
Luyện tập 2: gttb = sum(A)/len(A)
Lỗi có thể phát sinh là lỗi chia cho 0 nếu dãy A rỗng.
Đáp án trắc nghiệm:
Câu 1 | Câu 2 | Câu 3 | Câu 4 | Câu 5 | Câu 6 |
B | A | C | C | D | B |
V. VẬN DỤNG
Vận dụng 1: Chương trình có thể như sau:
Chương trình trên có thể phát sinh lỗi ngoại lệ như sau:
- Dữ liệu đã nhập không phải là số tự nhiên, ví dụ nhập số thập phân hoặc xâu kí tự.
- Không nhập gì mà nhấn phím Enter ngay sau dòng yêu cầu nhập liệu.
Vận dụng 2:
Nếu chương trình có lệnh gọi đến một biến chưa được gán hay hàm chưa được xác định nghĩa thì sẽ phát sinh lỗi NameError.
Ví dụ về một lỗi chương trình khi chạy sinh mã lỗi NameError:
=> Giáo án tin học 10 kết nối bài 29: Nhận biết lỗi chương trình (2 tiết)