Giải Tin học 8 Bài 15 (Kết nối tri thức): Gỡ lỗi
Với giải bài tập Tin học 8 Bài 15: Gỡ lỗi sách Kết nối tri thức hay nhất, chi tiết giúp học sinh dễ dàng làm bài tập Tin học 8 Bài 15.
Giải Tin học 8 Bài 15: Gỡ lỗi
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
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?
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
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
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).
Trả lời:
3. Thực hành: gỡ rối
Luyện tập
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
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
Lý thuyết Gỡ lỗi
- 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 theo kịch bản.
- Khi chạy chương trình, số lần đoán máy tính hiển thị luôn kém số lần thực tế một đơn vị.
- Kiểm thử chương trình cần được thực hiện để phát hiện và loại bỏ các lỗi trước khi chương trình được coi là hoàn chỉnh.
- Chương trình hoạt động sai về việc hiển thị số lần đoán khi chạy thử, mặc dù các khối lệnh vẫn được thực hiện chính xác.
- Có hai loại lỗi:
+ Lỗi cú pháp là khi viết lệnh sai so với quy tắc của ngôn ngữ lập trình.
+ Lỗi lôgic (ngữ nghĩa) là khi các lệnh được viết đúng cú pháp nhưng không thực hiện đúng kịch bản.
2. Phát hiện lỗi và sửa lỗl lôgic
- Hầu hết các ngôn ngữ lập trình có chức năng chì rõ lỗi cú pháp, ngôn ngữ lập trình trực quan hạn chế lỗi cú pháp.
- Lỗi cú pháp dễ dàng phát hiện và sửa chữa, nhưng việc xác định lỗi lôgic thường khó khăn.
- Có hai cách thường được sử dụng để phát hiện lỗi lôgic:
+ Cách thứ nhất: Dựa vào phân tích lôgic để tìm lỗi. Tập trung vào những khối lệnh liên quan đến lỗi và so sánh với kịch bản xem chúng có được thực hiện đúng yêu cầu hay không.
+ Chẳng hạn, trong chương trình của trò chơi Đoán số, lỗi được thể hiện ở việc chương trình hiển thị sai giá trị cùa số lần đoán. Các khối lệnh liên quan đến biến này là khởi tạo giá trị (2), thay đổi giá trị (9) và hiển thị giá trị (11).
+ Theo kịch bản, số lần đoán cần phải tăng 1 đơn vị mỗi khi người chơi nhập một giá trị số (đoán). Điều này xảy ra ở các câu lệnh (4), (7) và (8).
+ Tuy nhiên, có thể thấy rằng, mặc dù (9) tăng giá trị của số lần đoán sau khi (7) hoặc (8) được thực hiện, nhưng không có lệnh nào như thế sau khối lệnh (4) cả. Theo cách này, việc phát hiện vị trí xuất hiện lỗi trong chương trình được tìm kiếm bằng cách suy luận lôgic, bắt đầu từ những khối lệnh thực hiện không đúng kịch bản. Hạn chế việc tìm lỗi theo cách dò dòng lệnh.
+ Cách thứ hai: Chạy thử với dữ liệu mẫu để dò lỗi. Vì là người lập trình, em có thể cho hiện giá trị các biến số bí mật và số lần đoán băng cách đánh dấu 0 vào bên cạnh các biến đó trong nhóm “Các biến số” (Hình 15.2a).
+ Chạy chương trình với một số đầu vào dự kiến. Chẳng hạn, em có thể nhập số bí mật ngay trong lần đoán đầu tiên. Khi đó, lẽ ra số lần đoán cần nhận giá trị 1 thì nó vẫn chì mang giá trị 0.
+ Từ đó, em nhận thấy rằng lỗi xảy ra do không tăng giá trị của số lần đoán sau lần nhập giá trị đầu tiên của người chơi ở lệnh (4)7
+ Lưu ý: Chương trình có thể chạy theo từng bước bằng cách chèn lệnh “đợi... giây" (Hình 15.2b) vào những vị trí cần quan sát dữ liệu.
+ Theo cách này, người lập trình có thể kết hợp chạy chương trình từng bước với việc theo dõi giá trị của các biến, so sánh chúng với các giá trị tương ứng được tính theo cách thủ công để phát hiện câu lệnh nào gây ra lỗi và cách nó hoạt động để gây ra lỗi đó.
- Khi đã biết vị trí câu lệnh xảy ra lỗi trong chương trình và cách thức câu lệnh đó tạo ra lỗi, em có thể đưa ra những cách sửa lỗi phù hợp với yêu cầu.
- Chẳng hạn, tăng giá trị số lần đoán lên 1 đơn vị sau lần đoán đầu tiên bằng cách bổ sung lệnh (4a) “thay đổi số lần đoán một lượng 1” giống như lệnh (9) vào sau lệnh (4).
Xem thêm lời giải bài tập Tin học lớp 8 Kết nối tri thức hay, chi tiết khác:
Xem thêm các chương trình khác:
- Soạn văn 8 Kết nối tri thức (hay nhất)
- Văn mẫu lớp 8 - Kết nối tri thức
- Tóm tắt tác phẩm Ngữ văn 8 – Kết nối tri thức
- Bố cục tác phẩm Ngữ văn lớp 8 – Kết nối tri thức
- Tác giả tác phẩm Ngữ văn lớp 8 - Kết nối tri thức
- Giải SBT Ngữ văn 8 – Kết nối tri thức
- Giải Vở thực hành Ngữ văn 8 Kết nối tri thức | VTH Ngữ văn 8 Tập 1, Tập 2
- Nội dung chính tác phẩm Ngữ văn lớp 8 – Kết nối tri thức
- Soạn văn 8 Kết nối tri thức (ngắn nhất)
- Giải sgk Toán 8 – Kết nối tri thức
- Lý thuyết Toán 8 – Kết nối tri thức
- Giải sbt Toán 8 – Kết nối tri thức
- Vở thực hành Toán 8 Kết nối tri thức | Giải VTH Toán 8 Tập 1, Tập 2
- Chuyên đề dạy thêm Toán 8 cả 3 sách (2024 có đáp án)
- Bài tập Tiếng Anh 8 Global success theo Unit có đáp án
- Giải sgk Tiếng Anh 8 – Global success
- Giải sbt Tiếng Anh 8 - Global Success
- Trọn bộ Từ vựng Tiếng Anh 8 Global success đầy đủ nhất
- Ngữ pháp Tiếng Anh 8 Global success
- Giải sgk Khoa học tự nhiên 8 – Kết nối tri thức
- Lý thuyết Khoa học tự nhiên 8 – Kết nối tri thức
- Giải sbt Khoa học tự nhiên 8 – Kết nối tri thức
- Giải vth Khoa học tự nhiên 8 – Kết nối tri thức
- Giải sgk Lịch sử 8 – Kết nối tri thức
- Lý thuyết Lịch sử 8 - Kết nối tri thức
- Giải sbt Lịch sử 8 – Kết nối tri thức
- Giải sgk Địa lí 8 – Kết nối tri thức
- Lý thuyết Địa lí 8 - Kết nối tri thức
- Giải sbt Địa lí 8 – Kết nối tri thức
- Giải VTH Địa lí 8 Kết nối tri thức | Vở thực hành Địa lí 8
- Giải sgk Giáo dục công dân 8 – Kết nối tri thức
- Lý thuyết Giáo dục công dân 8 – Kết nối tri thức
- Giải sbt Giáo dục công dân 8 – Kết nối tri thức
- Giải sgk Công nghệ 8 – Kết nối tri thức
- Lý thuyết Công nghệ 8 - Kết nối tri thức
- Giải sbt Công nghệ 8 – Kết nối tri thức
- Giải sgk Hoạt động trải nghiệm 8 – Kết nối tri thức