本日のRuby基礎練習問題(22/3/9)
問題
以下の仕様を満たすメソッドnumを作成しよう。
メソッドの実引数として「1以上の正の整数」を3つ用意し、それぞれを仮引数a,b,c としてnumメソッド内で使用する
第一引数と第二引数は足し算をし、変数abに代入する
第三引数が3以下の場合は変数abを第三引数の値で割り、結果を出力する
第三引数が4以上の場合は変数abを第三引数の値で掛け、結果を出力する
※小数点以下の出力は考慮しなくてよい
def num(a, b, c)
# ここに条件式を実装する
end
# 呼び出し例
num(1,5,3)
num(1,5,5)
出力例
num(1,5,3) → 2
num(1,5,5) → 30
私の回答
def num(a, b, c)
ab = a + b
if c <= 3
puts ab / c
else
puts ab * c
end
end
# 呼び出し例
num(1,5,3)
num(1,5,5)
自分なりの解説
まず2行目で変数abにa+Bの値を代入
その後cの値が3以下の場合はab/cを実行
それ以外(4以上)の場合はab*cを実行
end忘れなどがないようにチェック
模範解答
def num(a, b, c)
ab = a + b
if c <= 3
puts ab / c
else
puts ab * c
end
end
# 呼び出し例
num(1,5,3)
num(1,5,5)
模範解説
ab = a + bで第一引数aと第二引数bを足し合わせています。
そして、第三引数cが3以下なのか否かをc <= 3として比較し、trueの場合は変数acをcで割る処理をしています。
一方、第三引数cが4以上の場合はc <= 3がfalseの場合であると一意に決まるため、elseの場合は変数abにcをかける処理をしています。
感じたこと
今回のレベルは基礎の基礎だと思うのですぐに解答することができた。
このような練習問題は毎日行うことで身につくことですので明日からも継続して取り組みたい。