問題
国語が80点、英語が50点、数学が70点の場合のテストの平均点をターミナルに出力するプログラムを記述してください。
条件1:このプログラムでは各教科の点数を変数を使って定義してください。
条件2:出力結果は以下のようになるようにコードを書きましょう。
3教科の平均点は、◯点です。
※◯の箇所には計算した平均点が入ります。
出力にはputsを使います。putsのあとに半角スペースと出力したい文字列を続けることで、文字をターミナルに出力できます。
puts "出力したい文字列"
模範解答
japanese_score = 80
english_score = 50
math_score = 70
average_score = (japanese_score + english_score + math_score) / 3
puts "3教科の平均点は、#{average_score}点です。"
【解説】
「変数を使って」と指定があるため、各教科の点数をそれぞれ変数として定義します。変数名はjapanese_score、japanese、kokugo_score、kokugoなどの分かりやすい名前をつけましょう。
japanese_score = 80
english_score = 50
math_score = 70
また、平均点に関しても変数を使うほうが望ましいです。変数を使わない場合は以下のようになります。
puts "3教科の平均点は、#{(japanese_score + english_score + math_score) / 3}点です。"
これだとコードが読みにくく、(japanese_score + english_score + math_score) / 3が何を指しているのかを見ただけでは判断することが難しいです。
そこで平均点も以下のように変数として定義しましょう。平均点は全ての変数の合計を3で割った値です。
average_score = (japanese_score + english_score + math_score) / 3
平均点の出力の際には、文字列と数値の連結となるので、式展開かto_sメソッドを使います。
japanese_score = 80
english_score = 50
math_score = 70
average_score = (japanese_score + english_score + math_score) / 3
puts "3教科の平均点は、#{average_score}点です。"
変数を使うことでソースコード全体が読みやすくなりました。
複雑に記述されているコードよりも、見やすく分かりやすいコードになるように心掛けることです。