Cho chương trình tìm giá trị lớn nhất trong mảng A ...
KHỞI ĐỘNG
Câu 1: Cho chương trình tìm giá trị lớn nhất trong mảng A:
Theo em, chương trình có lỗi không?
Cho A = [12,17] hay A=[]. Em hãy cho biết kết quả được in trên màn hình máy tính có đúng với yêu cầu của bài toán không.
Chương trình có 1 lỗi:
Dòng 2: gtLonNhat = 0
. Giả sử mảng A
chỉ chứa các số âm, chương trình sẽ trả về 0, trong khi giá trị lớn nhất thực sự phải là một số âm.
=> Để khắc phục lỗi này, ta nên gán gtLonNhat
bằng phần tử đầu tiên của mảng A
và bắt đầu vòng lặp từ phần tử thứ hai.
b)
*Trường hợp A = [12, 17]: Chương trình sẽ chạy đúng sau khi sửa lỗi cú pháp. Kết quả sẽ là 17, vì đó là giá trị lớn nhất trong mảng.
Kết quả in ra: Giá trị lớn nhất là 17.
*Trường hợp A = []: Nếu mảng A là rỗng, chương trình sẽ gặp lỗi khi cố gắng truy cập vào A[i] trong vòng lặp for. Do đó, chương trình sẽ không thể in ra giá trị lớn nhất và sẽ báo lỗi.
Kết quả in ra: IndexError: list index out of range
Bình luận