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)?
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
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.
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.
Bài Làm:
Câu 1:
- 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:
- 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:
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:
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.