1.プログラムの概要
成績において秀、優、良、可、不可の修得単位数を入力してGPAを計算するプログラム



2.emacsで作成したプログラム


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

print"秀の修得単位数を入力してください\n"
syuu = gets.chomp!.to_f        #秀の修得単位数を表す変数

print"優の修得単位数を入力してください\n"
yuu = gets.chomp!.to_f         #優の修得単位数を表す変数

print"良の修得単位数を入力してください\n"
ryou = gets.chomp!.to_f        #良の修得単位数を表す変数

print"可の修得単位数を入力してください\n"
ka = gets.chomp!.to_f          #可の修得単位数を表す変数

print"不可の修得単位数を入力してください\n"
huka = gets.chomp!.to_f        #不可の修得単位数を表す変数


goukei=syuu+yuu+ryou+ka+huka   #修得単位数の総数を表す式

printf("総単位数 :%5d\n", goukei)
 
gpa=(4.0*syuu+3.0*yuu+2.0*ryou+1.0*ka)/goukei  #GPAを計算する

printf("GPA      :%5.2f\n", gpa)



3.ktermで実行した結果

秀の修得単位数を入力してください
4
優の修得単位数を入力してください
12
良の修得単位数を入力してください
6
可の修得単位数を入力してください
0
不可の修得単位数を入力してください
0
総単位数 :   22
GPA      : 2.91


4.プログラムの説明


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

print"秀の修得単位数を入力してください\n"
#入力された文字を表示させる

syuu = gets.chomp!.to_f       
#秀の修得単位数を表す変数。getsメソッドで入力された文字を表示させ、
chomp!メソッドで改行文字があれば取り除く。そしてto_fメソッドで値の型を実数と
して表示させる。

print"優の修得単位数を入力してください\n"
yuu = gets.chomp!.to_f        
 #優の修得単位数を表す変数。getsメソッドについては上と同じ。

print"良の修得単位数を入力してください\n"
ryou = gets.chomp!.to_f       
 #良の修得単位数を表す変数。getsメソッドについては。上と同じ。

print"可の修得単位数を入力してください\n"
ka = gets.chomp!.to_f         
 #可の修得単位数を表す変数。。getsメソッドについては上と同じ。

print"不可の修得単位数を入力してください\n"
huka = gets.chomp!.to_f       
 #不可の修得単位数を表す変数。。getsメソッドについては上と同じ。


goukei=syuu+yuu+ryou+ka+huka  
 #修得単位数の総数を表す式。goukeiに秀、優、良、可、不可の修得単位数の合
 計を代入させる。

printf("総単位数 :%5d\n", goukei)
#%dに上記で計算した総修得単位数を代入して文字列として表示。%5dの5は桁数
を表し、結果を5桁で表すことが出来る。
 
gpa=(4.0*syuu+3.0*yuu+2.0*ryou+1.0*ka)/goukei  #GPAを計算する。

printf("GPA      :%5.2f\n", gpa)
#%fに上記で計算したGPAを代入し文字列として表示させる。%fのfでは実数を表
すことが出来、5.2では小数点以下2桁までの結果を5桁で表示させることが出来
る。



5.感想


今回は自分で計算式を考えプログラミングしましたが、getsやchomp!などのメソッ
ドの役割を理解し作業することが出来ました。何度もktermで実行し試行錯誤し
ながら完成させることが出来たのでとても嬉しく思います。また今回の課題の条
件は自分にとっては難しく感じ、作成にあたりとても苦戦しました。これから授
業で理解を深め、課題もしっかりできるように頑張っていきたいです。


6.参考文献

http://www.otaru-uc.ac.jp/hkyomu1/gpa/GPA2.html