C3-13 · Tìm lỗi: cảm nhận nhiệt độ

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

Đề

Đề gốc: cho nhiệt độ nguyên ~t~ (độ C). In

  • Lanh nếu ~t < 15~;
  • De chiu nếu ~15 \le t \le 30~;
  • Nong nếu ~t > 30~.

Một bạn đã viết chương trình dưới đây, nhưng nó sai với dữ liệu 35 và với dữ liệu 15:

t = int(input())
if t > 15:
    print("De chiu")
elif t > 30:
    print("Nong")
else:
    print("Lanh")

Hãy tìm hai lỗi, sửa chương trình và nộp bản đã sửa. Bài nộp được chấm như một bài bình thường theo đề gốc ở trên.

Dữ liệu vào

Một dòng chứa số nguyên ~t~.

Kết quả

Một dòng: Lanh, De chiu hoặc Nong (giữa De và chiu có một dấu cách).

Ràng buộc

  • ~-100 \le t \le 100~.

Ví dụ 1

Dữ liệu vào:

35

Kết quả:

Nong

Ví dụ 2

Dữ liệu vào:

15

Kết quả:

De chiu

Giải thích ví dụ

  • Ví dụ 1: ~35 > 30~ nên đúng là Nong. Chương trình lỗi xét t > 15 trước, ~35 > 15~ đúng nên in De chiu và bỏ qua mọi nhánh sau — nhánh t > 30 không bao giờ được tới (lỗi thứ tự nhánh).
  • Ví dụ 2: ~15~ thuộc đoạn ~[15; 30]~ nên đúng là De chiu. Chương trình lỗi dùng t > 15, ~15 > 15~ sai nên rơi xuống else in Lanh (lỗi ranh giới).

Ghi chú

  • Sửa xong, tự thử thêm các giá trị ranh giới ~14, 15, 30, 31~ (mục 3.1.3: kiểm thử phải đi qua mọi nhánh và mọi ranh giới). Bộ test của hệ thống có đủ các giá trị này.

Nguồn trong sách: Bài C3-13, mục 3.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...