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