1番を実行しました。



プログラム
#!/usr/koeki/bin/ruby
# -*- coding: utf-8 -*-
total = 0
while line = gets
  if /\S+\s+(\d)\s+(\d+(\.\d+)?)/ =~ line
    syusseki =  $1.to_i
    repo= $2.to_f
    total +=  syusseki +  repo
 end
end
printf("合計得点は%4.1fです。\n",total)
if total >= 90    
  print"秀評価です\n"  
elsif total >= 80 
  print"優評価です\n"
elsif total >= 70  
  print"良評価です\n"  
elsif total >= 60 
  print"可評価です\n" 
else 
  print"不可評価です\n"  
end

実行結果
合計得点は69.0です。
可評価です

説明
最初の2行は魔法
total = 0、初期値は0にする。
while で繰り返しの指示。line = gets、今回はファイルを読みこませるので
getsで終わり。
if /\S+\s+(\d)\s+(\d+(\.\d+)?)/ =~ lineの\Sは空白以外を表していて、\sは
逆に空白を表している。\dは0〜9までの数にマッチングする意味で、\.は任意の
一文字マッチしていて、?は直前の文字を繰り返すことを意味している。
syusseki =  $1.to_i 
repo= $2.to_f        この二つは、上のプログラミングにファイルを読ませて、
                     数を標記させている。$は数字の形で取り出すという後方
		     参照です。
total +=  syusseki +  repo
                     出席点とレポート点を合計。
最後にprintf("合計得点は%4.1fです。\n",total)
      if total >= 90    
      print"秀評価です\n" 
      elsif total >= 80 
      print"優評価です\n"
      elsif total >= 70  
      print"良評価です\n"  
      elsif total >= 60 
      print"可評価です\n" 
      else 
      print"不可評価です\n"  
      end
この指示では、totalの点数の大きさによって評価を付ける。if endで当てはま
るまで繰り返すように指示する。

参考文献
友だちのプログラミング(奥井君)
神田先生の基礎プログラミングのページ