プログラムで平均や分散、標準偏差を計算させてみよう。
#!/usr/koeki/bin/ruby
datum = Array.new
sum = 0
sqsum = 0
stdev = 0
i = 1
STDERR.print("処理を開始します。入力し終えたら Ctrl-D を押して下さい。\n")
while true
printf("%d個目のデータの値を入力して下さい!",i)
val << gets.chomp.to_f
if val == nil
print("データの入力を終了します。\n")
break
end
end
sum = 0
val.each{|comp|
sum += comp
}
ave = sum/(i-1)
sqsum = 0
j = 0
while j < val.length
sqsum += (val[j] - ave) ** 2
j += 1
end
dev = sqsum/ (val.length * (val.length -1))
stdev = dev ** 0.5
printf("データの総数は %d でした。",i-1)
printf("%d 個の平均は %5.1f です。\n",i-1,ave)
printf("%d 個の分散は %5.1f です。\n",i-1,dev)
printf("%d 個の標準偏差は %5.1f です。\n",i-1,stdev)
期待値とは、賭け事で平均どのくらい儲けることができるか、ということである。