So sánh hai cách viết hàm đếm vận động viên vượt chuẩn thời gian marathon
Thang điểm 10 · 5 test case chấm tự động · 3 tiêu chí chấm
Giải chạy Run for Future ghi độ lệch thời gian hoàn thành (đơn vị: giây) của từng vận động viên so với thời gian mục tiêu. Số dương nghĩa là về đích chậm hơn mục tiêu, số 0 nghĩa là về đích đúng mục tiêu, số âm nghĩa là về đích sớm hơn mục tiêu.
Ban tổ chức cần hàm dem_vuot(A, tuychon): nếu tuychon = 0 thì trả lại số lượng tất cả vận động viên; nếu tuychon khác 0 thì chỉ đếm số vận động viên có độ lệch dương thực sự (chậm hơn mục tiêu), không tính vận động viên về đích đúng giờ (độ lệch bằng 0).
Hai bạn học sinh viết phần điều kiện khác nhau trong thân hàm:
- Cách 1:
if x > 0: dem = dem + 1 - Cách 2:
if x >= 0: dem = dem + 1
Em hãy cho biết cách nào đúng theo đặc tả trên, giải thích ngắn tại sao hai cách có thể cho kết quả khác nhau khi danh sách có giá trị 0, rồi viết chương trình hoàn chỉnh (đúng) để chạy với dữ liệu vào/ra dưới đây.
Định dạng dữ liệu: Dòng 1 là các số nguyên (độ lệch, giây) cách nhau bởi dấu cách; dòng 2 là số nguyên tuychon. In ra một số nguyên là số lượng vận động viên theo yêu cầu.
| Input | Output | Giải thích |
|---|---|---|
| 100 0 -50 200 0 0 | 5 | tuychon = 0 nên đếm tất cả 5 vận động viên |
| 100 0 -50 200 0 1 | 2 | Chỉ đếm 100 và 200 (độ lệch dương thực sự), không tính hai vận động viên có độ lệch 0 |
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àiBài tập khác lớp 10
- Xét kết quả Đạt / Không đạt · Lập trình
- Cân lại mẫu đá thiên thạch trên các hành tinh khác · Lập trình
- Khám phá tên đăng nhập mạng xã hội · Lập trình
- Tính điểm trung bình 3 môn thi · Lập trình
- Tìm lỗi: Tổng lượt xem video theo ngày · Lập trình
- Tra cứu điểm số theo chỉ số danh sách · Lập trình