Trung bình cộng trung vị của dãy số Cho mảng số nguyên con
Sách bài tập Tin học 11 Bài 1: Kiểu mảng và cấu trúc mảng - Cánh diều
Câu Fcs3 trang 42 SBT Tin học 11: Trung bình cộng, trung vị của dãy số.
Cho mảng số nguyên con. Trung vị của dãy số là giá trị nằm ở giữa dãy số sau khi được sắp xếp, được tính bằng công thức sau:
- Nếu n=2k+1(k thuộc N) thì trung vị của dãy số là ak+1
- Nếu n=2k+1(k thuộc N) thì trung vị của dãy số là ak+1
- Nếu n=2k (k thuộc N) thì trung vị của dãy số là: (ak + ak+1)/2
Hãy lập trình đưa ra trung bình cộng và trung vị của dãy số.
Dữ liệu: Nhập từ thiết bị vào chuẩn một dòng chứa các phần tử của mảng, các số cách nhau một dấu cách.
Kết quả: Hiển thị ở thiết bị ra chuẩn giá trị trung bình cộng và trung vị của dãy số, mỗi kết quả chỉ lấy một chữ số ở phần thập phân.
Ví dụ:
Gợi ý: Để in ra giá trị của giá trị của biến x với n chữ số thập phân, ta dùng câu lệnh print(format(x,".nf")).
Lời giải:
- Nếu không có hàm, để tính trung bình cộng, trước tiên ta tính tổng, sau đó đem chia cho số lượng (các bài sau sẽ cung cấp kiến thức đủ để em làm). Tận dụng các hàm được giới thiệu trong bài học, em có được đoạn chương trình vô cùng ngắn gọn và dễ hiểu.
Tham khảo chương trình sử dụng mảng:
from array import *
from statistics import *
A = array ("i", [])
#Khai báo mô đun array
#Khai báo mô đun phân tích #thống kê
#Khai báo mảng rỗng
A = [int (i) for i in input ().split()]
print (format (mean (A), ".1f"), format (median (A), ".1f"))
Tham khảo chương trình sử dụng danh sách thay cho mảng:
#Khai báo mô đun phân tích thống kê
from statistics import *
A list (map (int, input ().split()))
print (format (mean (A), ".1f"), format (median (A), ".1f"))
Lời giải SBT Tin 11 Bài 1: Kiểu mảng và cấu trúc mảng hay khác: