飯森山高校の「情報 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 とした。 カロリー計算プログラムの、データを噛ませて足し上げるバージョンである。 データを足し上げるそのあとに、人数もカウントしておく。 平均なので、最後は人数で割ってある。
Madoka Nishimura <madoka.koeki-u.ac.jp>