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