Ruby練習問題1-1:四則演算をさせよう

記事内に商品プロモーションを含む場合があります

Rubyの初心者向け問題1-1:四則演算をさせよう

この問題を解くために必要な知識:
【レベル1の知識】
コメントの書き方、変数と定数、基本データ型、四則演算と演算子、入力と出力、文字列操作、分岐処理(if、if~else、elsif、case)繰り返し処理(for、while、until、each)範囲(Range)例外処理(begin-rescue-end)

<<前の問題 問題集Top 次の問題>>

Rubyの文法「四則演算と演算子」とは

ここでは四則演算と演算子の意味や使い方を復習します。必要ない方はここをクリックして練習問題へ飛びましょう。




Rubyでは、四則演算(足し算、引き算、掛け算、割り算)を簡単に実行できる演算子が用意されています。

これらは数学で学んだ操作と同じ感覚で使えますので、直感的に理解できるでしょう。ここでは、基本的な四則演算とRuby特有の演算子について紹介します。

足し算 +

足し算を行うには、+ 演算子を使います。

result = 10 + 5
puts result  # => 15

引き算 -

引き算は、- 演算子を使って行います。

difference = 10 - 5
puts difference  # => 5

掛け算 *

掛け算をするには、* 演算子を使います。

product = 10 * 5
puts product  # => 50

割り算 /

割り算は、/ 演算子を使います。ただし、整数同士の割り算を行うと結果も整数になるため、少数が必要な場合は小数点付きの数を使いましょう。

quotient = 10 / 5
puts quotient  # => 2

quotient = 10.0 / 3
puts quotient  # => 3.3333333333333335

剰余 %

剰余(余り)は、% 演算子で計算できます。これは、割り算をした結果の余りを取得する時に便利です。

remainder = 10 % 3
puts remainder  # => 1

累乗 **

Rubyでは、累乗の計算に ** 演算子を使います。例えば、2の3乗は次のように書けます。

exponentiation = 2 ** 3
puts exponentiation  # => 8

演算子のまとめ

Rubyでは、基本的な数学操作を行うための演算子が非常に簡単に使えます。以下にそれぞれの演算子をまとめます。

  • 足し算: +
  • 引き算: -
  • 掛け算: *
  • 割り算: /
  • 剰余: %
  • 累乗: **

これらの基本的な演算子を理解すれば、Rubyのプログラムで多くの数値操作が可能です。



Ruby練習問題1-1_四則演算プログラムを作ろう

簡単な四則演算プログラムを作成しましょう。

ユーザーから2つの数値を入力してもらい、その数値を使って加算、減算、乗算、除算を行います。

計算結果は画面に表示するようにプログラムを作成してください。

この問題の要件

以下の要件に従ってコードを完成させてください。

  1. gets.chomp.to_f を使用してユーザーから2つの数値を入力すること。
  2. 入力された数値に対して、以下の計算を行うこと。
    • 加算 +
    • 減算 -
    • 乗算 *
    • 除算 /
  3. 計算結果をそれぞれ puts を使って画面に表示すること。

ただし、以下のような実行結果となること。

----- ↓出力される結果の例↓ -----

最初の数値を入力してください:
10
二番目の数値を入力してください:
5
加算結果:15.0
減算結果:5.0
乗算結果:50.0
除算結果:2.0

----- ↑出力される結果の例↑ -----

この問題を解くヒント

1からコードを組み立てることが難しい場合は、以下のヒントを開いて参考にしましょう。

ヒント1【コードの構成を見る】

正解のコードは上から順に以下のような構成となっています。

1.putsを使って最初の数値を入力させるためのメッセージを表示
2.gets.chomp.to_fでユーザーの入力を受け取り、最初の数値を浮動小数点数として格納
3.putsを使って二番目の数値を入力させるためのメッセージを表示
4.gets.chomp.to_fでユーザーの入力を受け取り、二番目の数値を浮動小数点数として格納
5.四則演算を行い、それぞれの結果を変数に格納
 5-1. 加算 num1 + num2 を実行し、結果を addition に格納
 5-2. 減算 num1 - num2 を実行し、結果を subtraction に格納
 5-3. 乗算 num1 * num2 を実行し、結果を multiplication に格納
 5-4. 除算 num1 / num2 を実行し、結果を division に格納
6.putsを使って計算結果を順に表示
 6-1. 加算結果を表示
 6-2. 減算結果を表示
 6-3. 乗算結果を表示
 6-4. 除算結果を表示

ヒント2【穴埋め問題にする】

以下のコードをコピーし、コメントに従ってコードを完成させて下さい。

# 四則演算プログラム

# ユーザーに最初の数値を入力させる
puts "最初の数値を入力してください:"
=begin
【穴埋め問題1】
ここにユーザーからの入力を受け取り、その数値をnum1に格納するコードを書いてください。
=end

# ユーザーに二番目の数値を入力させる
puts "二番目の数値を入力してください:"
=begin
【穴埋め問題2】
ここにユーザーからの入力を受け取り、その数値をnum2に格納するコードを書いてください。
=end

# 各種演算を行う
=begin
【穴埋め問題3】
ここに加算、減算、乗算、除算のコードを書いてください。変数addition、subtraction、multiplication、divisionに格納してください。
=end

# 計算結果を表示する
puts "加算結果:#{addition}"
puts "減算結果:#{subtraction}"
puts "乗算結果:#{multiplication}"
puts "除算結果:#{division}"

 

このヒントを見てもまだ回答を導き出すのが難しいと感じる場合は、先に正解のコードと解説を見て内容を理解するようにしましょう。




解答例

この問題の一つの正解例とそのコードの解説を以下に示します。

正解コードの例

例えば以下のようなプログラムが考えられます。

********************

# 四則演算プログラム

# ユーザーに最初の数値を入力させる
puts "最初の数値を入力してください:"
num1 = gets.chomp.to_f
# gets.chomp.to_f はユーザーからの入力を受け取り、改行を除去し、浮動小数点数に変換します。

# ユーザーに二番目の数値を入力させる
puts "二番目の数値を入力してください:"
num2 = gets.chomp.to_f
# gets.chomp.to_f を使って二番目の数値も同様に処理します。

# 各種演算を行う
addition = num1 + num2         # 加算
subtraction = num1 - num2      # 減算
multiplication = num1 * num2   # 乗算
division = num1 / num2         # 除算

# 計算結果を表示する
puts "加算結果:#{addition}"
puts "減算結果:#{subtraction}"
puts "乗算結果:#{multiplication}"
puts "除算結果:#{division}"

********************

正解コードの解説

この解説では、Rubyの四則演算プログラムを段階的に説明します。

プログラムはユーザーから数値を入力させ、それに対して加算、減算、乗算、除算の計算を行います。

ユーザーに最初の数値を入力させる

puts "最初の数値を入力してください:"
num1 = gets.chomp.to_f
  • puts は文字列を出力するために使われます。この場合、ユーザーに数値の入力を求めています。
  • gets はキーボードからの入力を受け取るメソッドです。chomp はその入力の最後に付いてくる改行を削除します。
  • to_f は入力された文字列を**浮動小数点数(小数)**に変換します。これにより、ユーザーが入力した値を数値として扱えるようになります。

ユーザーに二番目の数値を入力させる

puts "二番目の数値を入力してください:"
num2 = gets.chomp.to_f
  • ここでも同様に、ユーザーに二番目の数値の入力を求めています。
  • num2 という変数に二番目の数値を格納し、to_f を使って浮動小数点数に変換しています。

各種演算を行う

addition = num1 + num2         # 加算
subtraction = num1 - num2      # 減算
multiplication = num1 * num2   # 乗算
division = num1 / num2         # 除算
  • num1 + num2 では、2つの数値の加算を行い、その結果を addition に格納します。
  • num1 - num2 では、2つの数値の減算を行い、その結果を subtraction に格納します。
  • num1 * num2 では、2つの数値の乗算を行い、その結果を multiplication に格納します。
  • num1 / num2 では、2つの数値の除算を行い、その結果を division に格納します。浮動小数点での割り算なので、結果も小数になります。

計算結果を表示する

puts "加算結果:#{addition}"
puts "減算結果:#{subtraction}"
puts "乗算結果:#{multiplication}"
puts "除算結果:#{division}"

puts を使って計算結果を表示しています。#{} の中に変数名を書くことで、その変数の値を文字列の中に埋め込むことができます。

この技法は文字列補完と呼ばれ、Rubyではよく使われます。

<<前の問題 問題集Top 次の問題>>

この問題への質問・コメント

この問題を作成するにあたりAIを活用しています。

問題ないことは確認していますが、もし間違いや表現の違和感などありましたら、ご指摘頂けると大変助かります。






    Ruby練習問題集へ戻る
    トップページへ戻る