Thí sinh lựa chọn Đúng hoặc Sai cho mỗi ý a), b), c), d) ở trong các câu sau đây
Trong quá trình tìm hiểu các bước giải bài toán trên máy tính và áp dụng vào viết chương trình, một nhóm bạn đã viết chương trình nhập vào danh sách các số nguyên, đếm và đưa ra màn hình số lượng các phần tử lớn hơn phần tử đứng ngay trước và phần tử đứng ngay sau nó như sau và đưa ra thảo luận.

a) Độ dài của danh sách a là len(a)-1.
b) Có bạn ý kiến dòng lệnh count=0 là không cần thiết.
c) Có thể dùng while thay thế dòng lệnh for trong chương trình.
d) Dòng thứ 4 có bạn sửa lại như sau: if a[i-1] < a[i] or a[i]>a[i+1]: count=count +1.
a) Sai. Độ dài của danh sách a chính là len(a), không phải len(a)-1. Biểu thức len(a)-1 chỉ được dùng trong phạm vi vòng lặp để tránh truy cập ngoài giới hạn.
b) Sai. Nếu bỏ count=0 thì biến count chưa được khởi tạo, khi chạy count=count+1 sẽ gây lỗi NameError.
c) Đúng
d) Sai. Câu lệnh gốc là if a[i-1] < a[i] > a[i+1], tức là kiểm tra xem phần tử a[i] có lớn hơn cả phần tử đứng trước và đứng sau nó không (một dạng cực đại cục bộ). Nếu sửa lại thành if a[i-1] < a[i] or a[i] > a[i+1] thì điều kiện chỉ cần lớn hơn một trong hai phía cũng được, không còn đúng với yêu cầu ban đầu.