データから平均を求めよう

飯森山高校の「情報 A」の成績 score.dat から、平均点を求めたい。平均点は、総得点を足し、人数で割ればよい。 average.rb

#!/usr/koeki/bin/ruby

n = 0      # 人数 n の初期化
sum = 0    # 和 sum の初期化

while score = gets
     if /(\S+)\s+(\S+)\s+(\d+)/ =~ score
       sum += $3.to_f              # 平均は小数点で求めるため
       n += 1 
     end
end

average = sum/n
printf("今回の平均点は %4.1f でした。 \n", average)

人数をしまう変数を n, 各学生の点数を加えていく変数を sum とした。 カロリー計算プログラムの、データを噛ませて足し上げるバージョンである。 データを足し上げるそのあとに、人数もカウントしておく。 平均なので、最後は人数で割ってある。

本日の講義目次 / 基礎プログラミング I / 2007 年度

Madoka Nishimura <madoka.koeki-u.ac.jp>