Đề thi giữa kì 2 Tin học 10 Kết nối tri thức có đáp án - Đề 2

Cho chương trình sau: n = 20 C = 0 for k in range(n): if k%3 = 0: # Điều kiện k là bội của 3 là k%3 = 0 C = C + 1 print(C) Em hãy xác định các lỗi của chương trình và sửa lại cho đúng để được

Giải thích

- Lỗi so sánh (k%3 = 0): Trong lập trình, dấu = là phép gán. Để so sánh bằng, ta phải dùng dấu ==.

- Lỗi thụt lề (Indentation): Các lệnh bên trong vòng lặp for và câu lệnh if phải được thụt lề vào trong.

- Lỗi logic phạm vi (range(n)): Đề bài yêu cầu tính trong khoảng từ 1 đến $n$. Hàm range(20) chỉ chạy từ 0 đến 19. Để bao gồm cả số 20, ta cần dùng range(1, n + 1).