KHỞI ĐỘNGĐể 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...
Câu hỏi:
KHỞI ĐỘNG
Để 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 trả lời:
Người trả lời: GV. Đỗ Thị Ánh
Để sửa lỗi cú pháp trong Chương trình 1, bạn cần chỉnh sửa câu lệnh 2 và 3 để khớp nối với câu lệnh 1 và 4.
Để sửa lỗi logic trong Chương trình 2, bạn cần thay đổi điều kiện so sánh từ a > b sang a >= b để xử lý trường hợp a và b bằng nhau.
Câu trả lời chi tiết hơn:
- Chương trình 1 không hoạt động vì có lỗi cú pháp. Câu lệnh 2 và 3 không được nối đúng với câu lệnh 1 và 4, do đó khi chạy chương trình sẽ không thực hiện đúng thứ tự.
- Chương trình 2 đưa ra kết quả sai khi nhập cặp số a, b là (5;5) vì có lỗi logic. Điều kiện so sánh a > b sẽ trả về sai trong trường hợp a và b bằng nhau, do đó cần thay đổi điều kiện trong câu lệnh if thành a >= b để xử lý trường hợp này.
Để sửa lỗi logic trong Chương trình 2, bạn cần thay đổi điều kiện so sánh từ a > b sang a >= b để xử lý trường hợp a và b bằng nhau.
Câu trả lời chi tiết hơn:
- Chương trình 1 không hoạt động vì có lỗi cú pháp. Câu lệnh 2 và 3 không được nối đúng với câu lệnh 1 và 4, do đó khi chạy chương trình sẽ không thực hiện đúng thứ tự.
- Chương trình 2 đưa ra kết quả sai khi nhập cặp số a, b là (5;5) vì có lỗi logic. Điều kiện so sánh a > b sẽ trả về sai trong trường hợp a và b bằng nhau, do đó cần thay đổi điều kiện trong câu lệnh if thành a >= b để xử lý trường hợp này.
Câu hỏi liên quan:
- KHÁM PHÁ1. Phát hiện và phân loại lỗiCâu hỏi:Tìm hiểu và đề xuất bộ dữ liệu thử để phát hiện...
- 2. Gỡ lỗiCâ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...
- 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...
- LUYỆN TẬPCâu hỏi 1:Thế nào là lỗi cú pháp, lỗi logic?
- 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....
- 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...
- 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ố...
- THỰC HÀNHCâu hỏi 1:Tạo chương trình ở Hình 2, thực hiện kiểm thử, gỡ lỗi để chương trình đưa...
- Câu hỏi 2:Thực hành theo các yêu cầu sau:a) Tạo chương trình ở Hình 4.b) Chạy thử chương...
- Câu hỏi 3:Tạo chương trình ở Hình 7. Thực hiện kiểm thử, gỡ lỗi để chương trình đưa ra đúng...
- VẬN DỤNGEm hãy thực hành kiểm thử, gỡ lỗi cho các chương trình em đã tạo ở các Bài 12, 13, 14. Trao...
{
1. Chương trình ở Hình 1 không hoạt động vì khi nhấn vào nút Go, chương trình chỉ in ra giá trị của biến a và biến b mà không có bước so sánh hai số này.
2. Chương trình ở Hình 2 đưa ra kết quả sai khi nhập cặp số (5,5) vì trong điều kiện if (a > b) và else if (a = b), biểu thức so sánh trong else if phải là a == b thay vì a = b.
3. Để chương trình hoạt động đúng, cần phải sử dụng toán tử so sánh == để kiểm tra hai giá trị bằng nhau, và không phải sử dụng toán tử gán = như ở chương trình ban đầu.
4. Khi nhập cặp số (5,5) vào chương trình ở Hình 2, vì biểu thức a > b trong điều kiện if không thỏa mãn, nên kết quả cuối cùng sẽ là "a không lớn hơn b".
5. Để khắc phục lỗi này, cần thay đổi biểu thức so sánh trong if và else if thành a == b để chương trình có thể xác định được trường hợp hai số bằng nhau và in ra kết quả đúng.
}