Tin học 10 Chân trời sáng tạo Bài 30: Kiểm thử và gỡ lỗi chương trình

824

Toptailieu biên soạn và sưu tầm lời giải bài tập Tin học lớp 10 Bài 30: Kiểm thử và gỡ lỗi chương trình sách Chân trời sáng tạo hay, ngắn gọn sẽ giúp học sinh dễ dàng trả lời câu hỏi Tin học 10 Bài 30 từ đó học tốt môn Tin 10.

Giải SGK Tin học 10 Bài 30: Kiểm thử và gỡ lỗi chương trình

Tin học 10 Chân trời sáng tạo trang 145

Khởi động trang 145 Tin học 10: Bài học trướ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 tì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 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 (debug) 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?

Lời giải:

Để kiểm tra (test) và gỡ lỗi (debug) một chương trình có nhiều phương pháp, tiêu biểu như:

 - Quan sát mã lỗi Runtime và bắt ngoại lệ

- Sử dụng nhiều bộ test dữ liệu

- In các thông số trung gian

- Tạo các điểm dừng để quan sát thông tin khác bên trong chương trình

Các công cụ hỗ trợ: công cụ in biến trung gian, sinh các bộ dữ liệu test, break point

1. Một vài phương pháp kiểm thử chương trình

Hoạt động 1 trang 145 Tin học 10: Tìm hiểu một số phương pháp kiểm thử chương trình

Đọc và thảo luận nhóm các phương pháp, công cụ sau để biết chức năng, tác dụng của từng công cụ trong công việc kiểm thử chương trình.

Lời giải:

- Quan sát mã lỗi Runtime và bắt ngoại lệ: kiểm tra vị trí dòng lệnh sinh ra lỗi này, từ đó phân tích, tìm và sửa lỗi

- Sử dụng nhiều bộ test dữ liệu: phát hiện ra lỗi, nguyên nhân bị lỗi với từng bộ test cụ thể

- In các thông số trung gian: kiểm tra các quy trình hay thuật toán được viết có đúng không.

- Tạo các điểm dừng để quan sát thông tin khác bên trong chương trình: Các điểm dừng sẽ cho phép người kiểm thử có thể quan sát các thông tin khác bên trong chương trình, từ đó kiểm tra tính đúng đắn của chương trình
Tin học 10 Chân trời sáng tạo trang 148

Luyện tập

Luyện tập 1 trang 148 Tin học 10: 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?

Lời giải:

- 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 đó

Luyện tập 2 trang 148 Tin học 10: Chương trình sau có lỗi không? Nếu có thì tìm và sửa lỗi.

Chương trình sau có lỗi không? Nếu có thì tìm và sửa lỗi (ảnh 2)

Lời giải:

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

Vận dụng 1 trang 148 Tin học 10: 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.

Chương trình sau có chức năng sắp xếp một dãy số cho trước (ảnh 2)

Lời giải:

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

Vận dụng 2 trang 148 Tin học 10Để 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?

Lời giải:

Để 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ì không thể đảm bảo tìm ra hết lỗi của chương trình.

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

Đánh giá

0

0 đánh giá