Câu hỏi tự luận Tin học 8 chân trời sáng tạo bài 15: Gỡ lỗi chương trình
Bộ câu hỏi tự luận Tin học 8 Chân trời sáng tạo. Câu hỏi và bài tập tự luận bài 15: Gỡ lỗi chương trình. Bộ tài liệu tự luận này có 4 mức độ: Thông hiểu, nhận biết, vận dụng và vận dụng cao. Phần tự luận này sẽ giúp học sinh hiểu sâu, sát hơn về môn học Chân trời sáng tạo.
Xem: => Giáo án tin học 8 chân trời sáng tạo
BÀI 15: GỠ LỖI CHƯƠNG TRÌNH
(13 câu)
1. NHẬN BIẾT (5 câu)
Câu 1: Kiểm thử là gì?
Trả lời:
Kiểm thử là chạy thử để kiểm tra chương trình hoạt động hay không, hoạt động tốt hay chưa và là một công đoạn quan trọng trong quy trình sản xuất phần mềm.
Câu 2: Thế nào là lỗi cú pháp? Thế nào là lỗi logic?
Trả lời:
- 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 3: Gỡ lỗi là gì?
Trả lời:
Sau khi phát hiện lỗi, ta cần tìm câu lệnh, cấu trúc điều khiển gây ra lỗi, nguyên nhân gây ra lỗi và sửa lỗi chương trình, đó còn được gọi là gỡ lỗi.
Câu 4: Làm thế nào để phát hiện và loại bỏ lỗi?
Trả lời: Cần phải chạy thử chương trình để phát hiện và loại bỏ lỗi.
Câu 5: Khi phát hiện lỗi, ta cần làm gì?
Trả lời:
Khi phát hiện lỗi, cần xác định câu lệnh, cấu trúc điều khiển gây ra lỗi, nguyên nhân gây ra lỗi và sửa lỗi chương trình.
2. THÔNG HIỂU (4 câu)
Câu 1: Để so sánh hai số a, b được nhập từ bàn phím, một bạn đã tạo chương trình ở Hình 1. Khi nháy chuột vào nút Go chương trình không hoạt động. Bạn đã phát hiện được lỗi và chỉnh sửa thành chương trình ở Hình 2. Khi thực hiện chương trình ở Hình 2 và nhập giá trị a, b đều là 5, chương trình đưa ra kết quả sai (xem Hình 3).
Hãy thảo luận với bạn và cho biết:
- Tại sao chương trình ở Hình 1 không hoạt động?
- Tại sao chương trình ở Hình 2 đưa ra kết quả sai khi nhập cặp số a, b là (5;5)?
Hình 1 Hình 2
Hình 3
Trả lời:
- Chương trình 1 có lỗi cú pháp, câu lệnh 2, 3 không khớp nối với câu lệnh 1, 4.
- Chương trình 2 có lỗi logic, a = b thuộc trường hợp a > b sai nên chương trình đưa ra thông báo sai khi nhập hai số a, b bằng nhau.
Câu 2: Em hãy 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?
Hình 4
Trả lời:
- 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.
Câu 3: Trình bày một số lưu ý trong việc xác định vị trí, nguyên nhân gây ra lỗi logic.
Trả lời: Một số lưu ý trong việc xác định vị trí, nguyên nhân gây ra lỗi logic là:
- Cần tập trung xem xét câu lệnh trực tiếp tạo ra lỗi và những câu lệnh, cấu trúc điều khiển có liên quan logic đến lỗi.
- 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 này trong tình huống phát sinh lỗi.
- Bằng tư duy logic của bản thân, ta cần phân tích, suy luận để xác định nguyên nhân gây lỗi.
- 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.
Câu 4: Em 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:
- 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.
- Tìm câu lệnh, cấu trúc điều khiển gây ra lỗi.
- Thực hiện chương trình với các bộ dữ liệu thử.
- Sửa lỗi cho chương trình.
- Xác định nguyên nhân gây lỗi.
Trả lời:
Sắp xếp các việc trên theo trình tự để phát hiện, gỡ lỗi chương trình là: A → C → B → E → D.
3. VẬN DỤNG (2 câu)
Câu 1: Hình 6 dưới đây 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ì?
Hình 6
Trả lời:
- 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 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.
Cấu trúc điều khiển | Câu lệnh, khối lệnh |
a) b) c) d) e) |
Trả lời:
- 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.
4. VẬN DỤNG CAO (2 câu)
Câu 1: Dưới đây 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?
Trả lời:
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.
Câu 2: 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 dưới đây:
Trả lời:
Lỗi chương trình:
- Chưa có câu lệnh biến n để thực hiện phép toán
- Sai vị trí câu lệnh “n là số LẺ!” và câu lệnh “n là số CHẴN!” trong lệnh nếu … thì … nếu không thì …
* Chương trình đúng sau khi sửa lỗi:
=> Giáo án Tin học 8 chân trời Bài 15: Gỡ lỗi chương trình