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:

KHỞI ĐỘNG 

  1. Theo em, chương trình có lỗi không?

  2. 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. 


  1. 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

Giải bài tập những môn khác