1. 1番

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

number = []
shusseki = []
score =[]

sum = 0
n = 0
i = 0

while line = gets
  if /(\S+)\s+(\S+)\s+(\S+)/ =~ line
    number[n] = $1
    shusseki[n] = $2.to_f
    score[n] = $3.to_f
    sum += $2.to_f + $3.to_f
   n += 1
  end
end

print"- 授業回数 ------ 出席点 ---- 得点 - \n"
  while i < number.length
    printf(" %-5s \t %2d \t %6.1f\n",
    number[i],shusseki[i],score[i])
    i += 1
  end

printf("合計得点:%4.1f点\n",sum)
if sum >=90
   print"評価:秀\n"
  elsif sum >=80 && sum < 90
   print"評価:優\n"
  elsif sum >=70 && sum < 80
   print"評価:良\n"
  elsif sum >=60 && sum < 70
   print"評価:可\n"
  else sum < 60
   print"評価:不可\n"
 end

3.
sime{c11xxxx}% ./report5.rb result1.txt                             [~/program]
- 授業回数 ------ 出席点 ---- 得点 - 
 回数             0         0.0
 第1回            2         0.0
 第2回            2         0.0
 第3回            0         6.5
 第4回            2         7.0
 第5回            2         8.0
 第6回            2         6.0
 第7回            1         7.5
 第8回            0         0.0
 第9回            2         7.0
 第10回           1         6.0
 第11回           1         0.0
 第12回           2         0.0
 第13回           0         0.0
 第14回           2         0.0
 第15回           2         0.0
合計得点:69.0点
評価:可

4.
データをこれから入力するので[]を空欄にし合計(sum)や何番目の数(n.i)の初期
値を0に設定する。
データの行がそれぞれ「数値、空欄、数値、空欄、数値」と並んでるので「S、s、
S、s、S」で認識させるようにし、それぞれを$で変数にし、計算させるようにし
た。
最後にデータと結果と評価を列ずつで出すようにprintfを使って書いた。

5.
最初は2番のプログラムを組んでいたが、直し続けていくたびにどのように書き直
せば良いのか分からなくなり、基本的な1番と比べ続けたが分からなかったので
悔しいが1番で提出することにした。
早く正解例を見てどこがいけなかったのか知りたい。

6.
「8. エラーと例外 ― Python 3.7.3 ドキュメント」
  (https://docs.python.org/ja/3/tutorial/errors.html)

7.