Môn Tin họcQuản lý học tập Tin học

Soát lỗi chương trình tính điểm luyện tập đạt chuẩn

Lớp 11Lập trìnhpythonGiải quyết vấn đề với máy tínhVận dụng cao

Thang điểm 10 · 5 test case chấm tự động · 3 tiêu chí chấm

Một ứng dụng học ngoại ngữ lưu lại điểm số của n buổi luyện tập của một học sinh (mỗi điểm là số nguyên từ 0 đến 100). Buổi luyện tập được coi là đạt chuẩn nếu điểm số ≥ 80. Lập trình viên viết chương trình sau để tính tổng điểm của các buổi đạt chuẩn:

n = int(input())
A = list(map(int, input().split()))
S = 0
for i in range(1, len(A)):
    if A[i] >= 80:
        S = S + A[i]
print(S)

Khi kiểm thử với bộ dữ liệu n = 5, điểm là 80 70 90 60 85, chương trình in ra 175 nhưng đáp số đúng phải là 255 (tổng của các buổi đạt chuẩn: 80, 90, 85).

Em hãy chỉ ra chương trình trên bị sai ở đâu (giải thích lỗi bằng lập luận, không cần nộp phần giải thích) và viết lại chương trình đã sửa lỗi để tính đúng tổng điểm các buổi đạt chuẩn.

Định dạng vào: dòng 1 là số nguyên n (số buổi luyện tập); dòng 2 gồm n số nguyên cách nhau bởi dấu cách, là điểm số từng buổi.

Định dạng ra: một số nguyên duy nhất — tổng điểm của các buổi đạt chuẩn (≥ 80).

InputOutputGiải thích
5
80 70 90 60 85
25580 + 90 + 85 = 255 (bao gồm cả buổi đầu tiên, điểm 80)
4
60 70 60 79
0Không buổi nào đạt chuẩn
1
100
100Chỉ có một buổi, đạt chuẩn
#kiểm thử#off-by-one#vòng lặp#range#phân tích lỗi#category:tu_duy_phan_bien#difficulty:analyzing

Giáo viên giao bài này cho lớp, học sinh nộp bài trực tuyến và được chấm tự động.

Giáo viên đăng nhập để giao bài