Giải bài tập Tin học lớp 8 Bài 15: Gỡ lỗi
Khởi động trang 86 Tin học 8: An: Chúng ta đã tạo ra một chương trình máy tính trong Bài 14 và thế là tớ đã biết lập trình.
Khoa: Chưa xong đâu, chúng ta cần phải thực hiện một việc nữa, đó là gỡ lỗi.
An: Gỡ lỗi là làm những gì? Bạn hãy hướng dẫn cụ thể hơn cho tớ nhé.
Trả lời:
Gỡ lỗi là: chạy thử chương trình để phát hiện lỗi và loại bỏ lỗi.
1. Kiểm thử và phân loại lỗi
Hoạt động 1 trang 86 Tin học 8: Đếm số lần đoán
Trong trò chơi Đoán số ở Bài 14, sai đoán đúng số bí mật với ít lần đoán hơn sẽ là người thằng cuộc. Ở chương trình trong Hình 15.1 biến số lần đoán được bổ sung để đếm số lần người chơi đoán và thông báo giá trị này khi người chơi đoán đúng số bí mật.
Trước khi chia sẻ trò chơi của mình, em quyết định kiểm tra xem trò chơi có hoạt động tốt không. Hãy cho biết kết quả của việc kiểm tra đó bằng cách mô tả tình huống chương trình chạy không đúng kịch bản (nếu có).
Trả lời:
Theo kịch bản, trò chơi sẽ thông báo số lần đoán khi người chơi đoán đúng số bí mật. Tuy nhiên, khi chạy thử chương trình, em sẽ thấy số lần đoán mà máy tính hiển thị luôn kém số lần thực tế mà người chơi đã đoán một đơn vị.
Hoạt động 2 trang 86 Tin học 8: Không làm việc hay làm việc sai?
Em hãy cho biết, chương trình đã cho trong Hình 15.1 không hoạt động được hay nó có hoạt động nhưng đã thực hiện không đúng kịch bản?
Trả lời:
Chương trình có hoạt động, máy tính vẫn hỏi và trả lời theo sự điều khiển của các khối lệnh. Tuy nhiên nó thực hiện không đúng kịch bản vì số lần đoán được hiển thị không đúng với số lần thực tế mà người chơi đã đoán.
Câu hỏi trang 87 Tin học 8: Chọn phát biểu đúng nhất về hoạt động gỡ lỗi.
A. Gỡ lỗi là phát hiện và loại bỏ lỗi. Trong lập trình, không nhất thiết phải gỡ lỗi.
B. Gỡ lỗi là chạy thử chương trình để phát hiện lỗi. Trong lập trình, không nhất thiết phải gỡ lỗi.
C. Gỡ lỗi là chạy thử chương trình để phát hiện lỗi. Gỡ lỗi là một phần quan trọng của lập trình.
D. Gỡ lỗi là phát hiện và loại bỏ lỗi. Gỡ lỗi là một phần quan trọng của lập trình.
Trả lời:
Đáp án đúng là: D
2. Phát hiện lỗi và sửa lỗi logic
Hoạt động 3 trang 87 Tin học 8: Gỡ lỗi
Xét tình huống máy tính hiển thị số lần đoán không đúng với số lần đoán thực tế của người chơi. Em hãy trả lời các câu hỏi:
Câu 1 trang 87 Tin học 8: Theo kịch bản, biến số lần đoán sẽ thay đổi trong tình huống nào?
Trả lời:
Theo kịch bản, biến số lần đoán sẽ thay đổi tăng lên 1 đơn vị mỗi khi người chơi nhập một giá trị số (đoán).
Câu 2 trang 87 Tin học 8: Những khối lệnh nào làm thay đổi biến số lần đoán
Trả lời:
Những khối lệnh làm thay đổi biến số lần đoán là: lệnh (4), (7) và (8).
Câu 3 trang 87 Tin học 8: Có điều gì khác nhau giữa kịch bản và những khối lệnh tương ứng?
Trả lời:
Theo kịch bản, biến số lần đoán sẽ thay đổi tăng lên 1 đơn vị (lệnh (9)) mỗi khi người chơi nhập một giá trị số (đoán). Tuy nhiên, số lần đoán không tăng sau lần nhập giá trị đầu tiên của người chơi ở lệnh (4).
Câu hỏi trang 89 Tin học 8: Em hãy gỡ lỗi đoạn chương trình xác định một số n được nhập từ bàn phím là số chẵn hay số lẻ được cho trong Hình 15.3
Trả lời:
3. Thực hành: gỡ rối
Luyện tập
Luyện tập trang 90 Tin học 8: Em hãy chọn một cách khác với cách đã nêu trong phần b) Sửa lỗi của mục 2 để sửa lỗi của chương trình được cho trong Hình 15.1.
Trả lời:
– Lỗi xảy ra ở biểu thức điều kiện. Vì mỗi người không đoán quá 7 lần, nên vòng lặp (6) – ( 10) sẽ kết thúc khi số lần đoán bằng 7.
Vận dụng
Vận dụng trang 90 Tin học 8: Đổi vai trò máy tính và người chơi trong trò chơi Đoán số. Em hãy chọn một số nguyên trong khoảng từ 1 đến 120 và viết số đó ra giấy. Máy tính sẽ hiển thị một số mà em phải trả lời bằng các phím “d”, “c” hoặc “t” tương ứng với tình huống số máy tính hiển thị đúng, cao hơn hay thấp hơn số em đã chọn.
Hãy viết chương trình để sau một số bước, càng ít càng tốt, máy tính tìm ra số em đã chọn. Chạy thử, phát hiện và sửa các lỗi của chương trình đó.
Trả lời:
Máy tính sẽ hiển thị một số mà em phải trả lời bằng các phím “d’, ”c” hoặc ”t’ tương ứng với tình huống số máy tính hiển thị đúng
Xem thêm các bài giải SGK Tin học lớp 8 Kết nối tri thức hay, chi tiết khác:
Bài 12: Từ thuật toán đến chương trình
Bài 13: Biểu diễn dữ liệu
Bài 14: Cấu trúc điều khiển
Bài 15: Gỡ lỗi
Bài 16: Tin học với nghề nghiệp