0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Ruby3

Last updated at Posted at 2023-01-26

問題

国語が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}点です。"

変数を使うことでソースコード全体が読みやすくなりました。
複雑に記述されているコードよりも、見やすく分かりやすいコードになるように心掛けることです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?