C1-09 · Tìm lỗi

Xem dạng PDF

Gửi bài giải

Điểm: 1,00
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
Sách "Lập trình cơ sở với Python"
Dạng bài
Ngôn ngữ cho phép
Python

Đề

Chương trình dưới đây cần in điểm học phần của ca 1 (điểm quá trình 7,5, điểm cuối kỳ 8,0, công thức ~0{,}4 \times \text{quá trình} + 0{,}6 \times \text{cuối kỳ}~), tức 7.8, nhưng chạy không báo lỗi mà vẫn bị Wrong Answer:

print("Diem hoc phan:", 0,4 * 7.5 + 0,6 * 8.0)

Dự đoán dòng in ra, chỉ ra hai loại lỗi (một lỗi hình thức in, một lỗi viết số), rồi nộp bản đã sửa.

Dữ liệu vào

Không có. Chương trình không đọc dữ liệu: mọi giá trị đã viết sẵn trong mã nguồn (cách đọc dữ liệu từ bàn phím học ở mục 2.4).

Kết quả

Một dòng: điểm học phần của ca 1, đúng như Python in ra giá trị của biểu thức.

Ràng buộc

  • Giữ công thức của bài toán điểm học phần (trọng số 0,4 và 0,6); chỉ sửa hai lỗi, không viết lại bằng số tính tay.

Lưu ý khi nộp

Hãy dự đoán trên giấy dòng mà chương trình gốc in ra trước khi chạy thử — đó là phần chính của bài. Hệ thống chỉ chấm bản đã sửa; in thẳng 7.8 tính tay vẫn được Accepted nhưng không đúng tinh thần bài (giảng viên kiểm tay).

Ví dụ

Dữ liệu vào:


Kết quả:

7.8

Giải thích ví dụ

Chương trình gốc in Diem hoc phan: 0 30.0 48.0. Hai lỗi:

  1. Lỗi viết số: 0,4 và 0,6 dùng dấu phẩy thập phân. Với Python, dấu phẩy ngăn cách các giá trị đưa vào print, nên print nhận bốn giá trị: "Diem hoc phan:", 0, 4 * 7.5 + 0 (= 30.0) và 6 * 8.0 (= 48.0).
  2. Lỗi hình thức in: nhãn Diem hoc phan: mà đề không đòi (Lỗi thường gặp mục 1.5).

Bản sửa in 7.8: ~0{,}4 \times 7{,}5 + 0{,}6 \times 8{,}0 = 3{,}0 + 4{,}8 = 7{,}8~.

Nguồn trong sách: Bài C1-09, mục 1.7, giáo trình Lập trình cơ sở với Python — TS. Nguyễn Quốc Long · Mức: (**)


Đang tải...