Để 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

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.

Trả lờ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 SBT Tin học lớp 10 Kết nối tri thức hay, chi tiết khác:

Bài 19: Câu lệnh rẽ nhánh If

Bài 20: Câu lệnh lặp For

Bài 21: Câu lệnh lặp While

Bài 22: Kiểu dữ liệu danh sách

Bài 23: Một số lệnh làm việc với dữ liệu danh sách

Bài 24: Xâu kí tự

Câu hỏi cùng chủ đề

Xem tất cả