Chương trình sau sẽ yêu cầu nhập một danh sách học sinh trong lớp cùng với cân nặng
Chương trình sau sẽ yêu cầu nhập một danh sách học sinh trong lớp cùng với cân nặng, chiều cao, sau đó tự động tính chỉ số BMI và in ra danh sách các bạn béo phì. Quan sát chương trình và đưa thêm các lệnh in giá trị trung gian để kiểm soát lỗi chương trình.
Giải sách bài tập Tin học 10 Bài 30: Kiểm thử và gỡ lỗi chương trình
Câu 30.10 trang 63 SBT Tin học 10: Chương trình sau sẽ yêu cầu nhập một danh sách học sinh trong lớp cùng với cân nặng, chiều cao, sau đó tự động tính chỉ số BMI và in ra danh sách các bạn béo phì. Quan sát chương trình và đưa thêm các lệnh in giá trị trung gian để kiểm soát lỗi chương trình.
Lời giải:
Chương trình có thể viết như sau:
def bmi(m,h):
return m/(h*h)
def NhapDL():
DS = []
n = int(input("Nhập số học sinh: "))
for k in range(n):
ten = input("Nhập tên học sinh thứ "+ str(k+1)+" : ")
mass = float(input("Nhập cân nặng: "))
h = float(input("Nhập chiều cao: "))
DS. append([ten, mass, h])
return DS
# Chương trình chính
DS = NhapDL()
DSBP = []
for k in range(len(DS)):
hs = DS [K]
if bmi(hs[1], hs[2]) > 25:
DSBP.append(hs[0])
print("Danh sách học sinh béo phì trong lớp:")
for hs in DSBP:
print(hs)