Để có số liệu đánh giá về các hộ nghèo của một địa phương

Câu 21.11 trang 45 SBT Tin học 10: Để có số liệu đánh giá về các hộ nghèo của một địa phương, người ta đã tiến hành một khảo sát xã hội học. Em hãy viết chương trình để hỗ trợ cho nhóm tổ chức khảo sát: Xác định mức thu nhập bình quân của tất cả các hộ gia đình được khảo sát (số hộ được khảo sát là một số lớn hơn 0); Xác định số các hộ gia đình có thu nhập dưới 20 triệu cùng thu nhập bình quân của các hộ đó. Yêu cầu: Số liệu về thu nhập của các hộ gia đình được lần lượt nhập vào từ bàn phím cho tới khi nào nhập vào số 0.

Lời giải:

Chương trình có thể viết như sau:

so_ho_gd = 0

So_ho_ngheo = 0

so_ho_khagia = 0

tongthunhap_ngheo = 0

tongthunhap = 0

thunhap = 1                 #Có thể gán 1 số bất kì > 0 để thực hiện vòng lặp

while thunhap > 0 :

 thunhap = float(input("Thu nhập của hệ tiếp theo (đơn vị tính triệu đồng): "))

 if thunhap > 0: #Xem lưu ý ở dưới.

  tongthunhap = tongthunhap + thunhap

  so_ho_gd = so_ho_gd + 1

  if thunhap < 20:

   tongthunhap_ngheo = tongthunhap_ngheo + thunhap

   so_ho_ngheo = so_ho_ngheo + 1

print("Số các hộ gia đình được khảo sát = ", so_ho_gd, "Thu nhập bình quân 1 hộ = ", tongthunhap/so_ho_gd)

if so_ho_ngheo > 0:

  print("Số các hộ gia đình nghèo được khảo sát = ", so_ho_ngheo, "Thu nhập bình quân 1 hộ = ", tongthunhap_ngheo/so_ho_ngheo)

else:

  print("Không có các hộ gia đình nghèo")

Lưu ý: Cần có câu lệnh kiểm tra để tránh trường hợp giá trị nhập vào cho biến thunhap ≤ 0 (dấu hiệu kết thúc nhập dữ liệu) nhưng vẫn tính thêm một hộ gia đình được khảo sát.

Xem thêm các bài giải sách bài tập Tin học lớp 10 Kết nối tri thức hay, ngắn gọn khác:


Giải bài tập lớp 10 Kết nối tri thức khác