3番まで実施しました。


< 作成したプログラム >
レポートの得点を入力して、合計得点と平均点を割り出すプログラム。

#!/usr/koeki/bin/ruby
# -*- coding: utf-8 -*-

total = 0
number = 1

print"レポートの合計得点を求めます。\n"

while number <= 8 
   printf("%d回目のレポートの得点は?(終了はexitと入力): \n", number)
   score = gets.chomp!
   if score == "exit"
   break
 end
   total += score.to_f
   number += 1
heikin = total/(number-1)
end

printf("レポートの合計は%3.1fです。\n",total)
printf("レポートの平均は%3.1fです。\n",heikin)


< プログラムの実行結果 >
レポートの合計得点を求めます。
1回目のレポートの得点は?(終了はexitと入力): 
8
2回目のレポートの得点は?(終了はexitと入力): 
7.5
3回目のレポートの得点は?(終了はexitと入力): 
6
4回目のレポートの得点は?(終了はexitと入力): 
7
5回目のレポートの得点は?(終了はexitと入力): 
7.5
6回目のレポートの得点は?(終了はexitと入力): 
5
7回目のレポートの得点は?(終了はexitと入力): 
4
8回目のレポートの得点は?(終了はexitと入力): 
6
レポートの合計は51.0です。
レポートの平均は6.4です。

< プログラムの説明 >
課題1では、14行目に平均を求めるための式(平均=合計/回数)を追加した。
(number-1)となっているのは、何回目かでexitと入力したときにその回分が計算
に含まれないようにするためである。

課題2では、6行目にwhile trueを用い、常に条件を満たすようにし、永久に繰り
返しが行われるようにした。しかし、途中で終了できるようにするために、9行
目に条件としてexitと入力したときに終了できるようにした。8行目で
gets.chomp!に変更し、12行目のtotalの式のところでscore.to_fにすることで、
実数変換が可能になり計算できるようになる。ifでは条件を指定
し、10行目のbreakで繰り返しから抜け、end以下に進む。

課題3では、6行目をwhile trueからwhile number <= 8に変更した。これにより
繰り返しが8回目の入力で終了するという条件が加わる。


< 感想 >
条件が増えていくとプログラムも複雑になっていき、難しいと感じた。


< 参考にした人 >
遠藤麻佑さん