5 phút giải Tin học 10 Kết nối tri thức trang 145
5 phút giải Tin học 10 Kết nối tri thức trang 145. Giúp học sinh nhanh chóng, mất ít thời gian để giải bài. Tiêu chí bài giải: nhanh, ngắn, súc tích, đủ ý. Nhằm tạo ra bài giải tốt nhất. 5 phút giải bài, bằng ngày dài học tập.
Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây
BÀI 30. KIẾM THỬ VÀ GỠ LỖI CHƯƠNG TRÌNH
PHẦN I. HỆ THỐNG CÂU HỎI, BÀI TẬP TRONG SGK
KHỞI ĐỘNG
Bài học trước các em đã biết khái niệm lỗi ngoại lệ khi chạy chương trình Python. Tuy nhiên, một chương trình chạy không có lỗi ngoại lệ (chương trình không bị dừng) thì không có nghĩa là chương trình không có lỗi. Thậm chí các "lỗi" không tường minh này (các lỗi này được gọi là bug) càng khó phát hiện và khó sửa.
Theo em, làm thế nào để kiểm tra (test) và gỡ lỗi (bug) một chương trình? Môi trường lập trình có công cụ nào hỗ trợ việc đó không?
LUYỆN TẬP
Luyện tập 1: Chương trình của em khi chạy phát sinh lỗi ngoại lệ ZeroDivisionError. Đó là lỗi gì và em sẽ xử lí như thế nào?
Luyện tập 2: Chương trình sau có lỗi không? Nếu có thì tìm và sửa lỗi.
VẬN DỤNG
Vận dụng 1: Chương trình sau có chức năng sắp xếp một dãy số cho trước. Hãy kiểm tra xem chương trình có lỗi không. Nếu có thì tìm và sửa lỗi.
Vận dụng 2: Để kiểm thử một chương trình, nếu chỉ bằng việc kiểm tra thông qua các bộ dữ liệu test thì có đảm bảo tìm ra hết lỗi của chương trình hay không? Vì sao?
PHẦN II. 5 PHÚT TRẢ LỜI CÂU HỎI, BÀI TẬP SGK
KHỞI ĐỘNG
Đáp án KD:
Có thể sử dụng một vài phương pháp kiểm thử chương trình.
LUYỆN TẬP
Đáp án LT1:
- Lỗi xảy ra khi lệnh thực hiện phép chia cho giá trị 0
- Kiểm tra lại các phép chia và số chia trong đó
Đáp án LT2:
Chương trình có lỗi logic.
Sửa lại: chuyển kiểu dữ liệu số nguyên cho 2 giá trị m, n được nhập vào
VẬN DỤNG
Đáp án VD1:
Chương trình có lỗi logic: chương trình chạy không lỗi ngoại lệ nhưng kết quả đưa sai, không chính xác
Sửa lại:
- Dòng lệnh thứ 2: range(len(A) - 1) → range(len(A))
- Dòng lệnh thứ 4: j > 1 → j > 0
Đáp án VD2:
Không thể vì lỗi có thể phát sinh tại các bộ dữ liệu khác ngoài các bộ dữ liệu test, do đó cần tuỳ theo yêu cầu, đặc thù của từng bài toán để chọn bộ test cho phù hợp.
Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây
Nội dung quan tâm khác
Thêm kiến thức môn học
giải 5 phút Tin học 10 Kết nối tri thức, giải Tin học 10 Kết nối tri thức trang 145, giải Tin học 10 KNTT trang 145
Bình luận