Giải bài tập Tin học 8 Bài 15: Thuật toán, chương trình máy tính sách Chân trời sáng tạo giúp các em học sinh lớp 8 có thêm nhiều tư liệu tham khảo, đối chiếu đáp án hay, chính xác để biết cách trả lời các câu hỏi trang 95, 96, 97, 98.
Tin học 8 Bài 15 thuộc chủ đề 5 Giải quyết vấn đề với sự trợ giúp của máy tính giúp các bạn học sinh tìm hiểu kiến thức về phát hiện và phân loại lỗi, gỡ lỗi. Vậy sau đây là nội dung chi tiết bài soạn Tin 8 Bài 15 Thuật toán, chương trình máy tính, mời các bạn cùng theo dõi.
Tin học 8 Bài 15: Gỡ lỗi chương trình
Khám phá Tin học 8 Bài 15
1. Phát hiện và phân loại lỗi
Câu hỏi: Tìm hiểu và đề xuất bộ dữ liệu thử để phát hiện lỗi chương trình ở Hình 4. Theo em lỗi chương trình ở Hình 4 thuộc loại nào.
Gợi ý đáp án
- Bộ dữ liệu thử: a = 0, b bất kì.
- Theo em lỗi ở chương trình 4 thuộc loại lỗi logic.
2. Gỡ lỗi
Câu hỏi 1:
Hình 6 là kết quả kiểm thử chương trình ở Hình 4. Em hãy quan sát Hình 6 và cho biết:
a) Lỗi được phát hiện khi thực hiện chương trình với những bộ dữ liệu nào?
b) Câu lệnh nào trực tiếp tạo ra lỗi? Câu lệnh nào liên quan đến lỗi?
c) Nguyên nhân gây ra lỗi này là gì?
Gợi ý đáp án
a) Lỗi được phát hiện khi thực hiện chương trình với bộ dữ liệu Hình 6b: a = 0, b = 2 và Hình 6c: a = 0, b = 0.
b) Câu lệnh trực tiếp tạo ra lỗi là:
Câu lệnh liên quan đến lỗi là:
c) Nguyên nhân gây ra lỗi này là: lỗi logic vì phép chia cho 0 là không xác định.
Câu hỏi 2
Em hãy lắp các câu lệnh, khối lệnh ở cột bên phải vào vị trí thích hợp trong cấu trúc điều khiển ở cột bên trái để tạo thành chương trình tính đúng nghiệm của phương trình ax + b = 0. Bảng 1.
Gợi ý đáp án
Cách 1: 1 - b, 2 - a, 3 - d, 4 - e, 5 - c.
Cách 2: 1 - d, 2 - e, 3 - b, 4 - a, 5 - c.
Luyện tập Tin học 8 Bài 15
Câu hỏi 1
Thế nào là lỗi cú pháp, lỗi logic?
Gợi ý đáp án
Lỗi cú pháp là lỗi do viết chương trình, câu lệnh sai cú pháp dẫn đến chương trình không hoạt động. Hầu hết các ngôn ngữ lập trình đều có công cụ hỗ trợ hạn chế, phát hiện lỗi cú pháp.
Lỗi logic là lỗi xảy ra trong trường hợp chương trình hoạt động nhưng đưa ra kết quả sai. Sử dụng bộ dữ liệu thử là cách thường được sử dụng để phát hiện lỗi logic trong chương trình.
Câu hỏi 2
Hãy sắp xếp các việc dưới đây theo trình tự để phát hiện, gỡ lỗi chương trình.
A. Xây dựng bộ dữ liệu thử với các tình huống có thể xảy ra khi đưa chương trình vào sử dụng.
B. Tìm câu lệnh, cấu trúc điều khiển gây ra lỗi.
C. Thực hiện chương trình với các bộ dữ liệu thử.
D. Sửa lỗi cho chương trình.
E. Xác định nguyên nhân gây lỗi.
Gợi ý đáp án
A → C → B → E → D.
Câu hỏi 3
Những phát biểu nào sau đây là sai khi nói về việc xác định vị trí, nguyên nhân gây lỗi?
A. Cần tập trung xem xét câu lệnh, cấu trúc điều khiển trực tiếp tạo ra lỗi hay liên quan đến lỗi.
B. Xem xét kĩ lưỡng, cụ thể hoạt động của câu lệnh, cấu trúc điều khiển tạo ra lỗi hay liên quan đến lỗi trong tình huống phát sinh lỗi.
C. Người lập trình không cần sử dụng tư duy logic của bản thân để phân tích, suy luận nguyên nhân gây ra lỗi.
D. Khi cần thiết, ta có thể bổ sung một số câu lệnh để theo dõi sự thay đổi giá trị của các biến, kết quả thực hiện câu lệnh, cấu trúc điều khiển nào đó, từ đó giúp xác định vị trí, nguyên nhân gây ra lỗi dễ dàng, nhanh chóng hơn.
Gợi ý đáp án
Đáp án C.
Câu hỏi 4
Hình 7 là chương trình một bạn đã tạo với mục đích tính và thông báo tổng của 10 số được nhập từ bàn phím. Theo em, khi thực hiện, chương trình này có đưa ra kết quả như bạn mong muốn hay không? Tại sao?
Gợi ý đáp án
Theo em khi thực hiện chương trình này không ra kết quả như mong muốn vì khi khởi tạo giá trị ban đầu cho biến S là 0 trong điều kiện lặp khiến cho giá trị của S trở lại thành 0 sau mỗi lần lặp. Điều này dẫn đến kết quả sai.