Rubyの初心者向け問題1-5:for文を使って九九表を作ろう
この問題を解くために必要な知識:
【レベル1の知識】
コメントの書き方、変数と定数、基本データ型、四則演算と演算子、入力と出力、文字列操作、分岐処理(if、if~else、elsif、case)、繰り返し処理(for、while、until、each)、範囲(Range)、例外処理(begin-rescue-end)
<<前の問題 | 問題集Top |
次の問題>> |
Rubyの文法「繰り返し処理(for文)」とは
ここでは繰り返し処理(for文)の意味や使い方を復習します。必要ない方はここをクリックして練習問題へ飛びましょう。
Rubyでは、同じ処理を何度も繰り返すための繰り返し処理が用意されています。その中で最も基本的なものの一つが for文 です。
for文は、指定した範囲や配列の要素を順に取り出し、その要素に対して処理を行います。
for文の使い方
次のコード例は、1から5までの数字を順に出力するfor文の基本的な書き方です。
for i in 1..5 do puts i end
出力結果:
1 2 3 4 5
このコードでは、1..5
という範囲オブジェクトを使って、i
に1から5までの数値が順番に代入され、puts i
でその値が表示されます。
Rubyのfor文のポイント
1..5
は、1から5までの範囲を意味します。do
はfor文の開始を示し、繰り返したい処理を指定します。do
とend
の間に書いた処理が繰り返されます。- Rubyのfor文はシンプルであり、他の言語で見られるような初期化や条件式、更新式を使わないため、直感的に理解しやすいです。
他の繰り返し処理
- Rubyには他にも
while
文やuntil
文などの繰り返し処理があります。繰り返し処理は状況に応じて使い分けることが重要です。
まとめ
for文は、範囲や配列の各要素に対して同じ処理を行いたい場合に便利な方法です。
Rubyの他の繰り返し構文も習得することで、プログラムの流れを柔軟に制御できるようになります。
Ruby練習問題1-5:for文を使って九九表を作ろう
ユーザーが指定した数(1から9まで)の九九表を表示するプログラムを作成しましょう。
ユーザーが2を入力した場合、2の段の九九表が表示されます。例えば、2 x 1 = 2から2 x 9 = 18までを表示します。
この問題の要件
以下の要件に従ってコードを完成させてください。
- ユーザーから1から9までの整数を入力させること(入力の際にヒントを表示する)。
- 入力された数値に対して1から9までの掛け算をfor文を使って計算すること。
- 計算結果を以下のような形式で出力すること:
数値 x 1 = 結果
数値 x 2 = 結果
- (例:
3 x 1 = 3
,3 x 2 = 6
, など)
ただし、以下のような実行結果となること。
----- ↓出力される結果の例↓ -----
1から9までの数値を入力してください: 3 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27
----- ↑出力される結果の例↑ -----
この問題を解くヒント
1からコードを組み立てることが難しい場合は、以下のヒントを開いて参考にしましょう。
正解のコードは上から順に以下のような構成となっています。
1.ユーザーに数値を入力させる部分
1-1. ユーザーに対して「1から9までの数値を入力してください」と表示
1-2. gets.chomp.to_i
を使って、ユーザーの入力を整数として取得
2.九九表の作成と表示
2-1. for文による繰り返し処理
2-1-1. for i in 1..9
で、1から9までの数値でループ
2-1-2. num * i
で掛け算を行い、結果をresult
に代入
2-1-3. puts "#{num} x #{i} = #{result}"
で結果を表示
以下のコードをコピーし、コメントに従ってコードを完成させて下さい。
# ユーザーに数値を入力させる puts "1から9までの数値を入力してください:" =begin 【穴埋め問題1】 ここにユーザーの入力を整数に変換してnumに格納するコードを書いてください。 =end # 入力された数値の段の九九表を表示する =begin 【穴埋め問題2】 ここにfor文を使って1から9までの繰り返し処理を書いてください。 =end =begin 【穴埋め問題3】 ここでnumとiの掛け算を行い、結果をresultに代入し、計算結果を表示するコードを書いてください。 =end
このヒントを見てもまだ回答を導き出すのが難しいと感じる場合は、先に正解のコードと解説を見て内容を理解するようにしましょう。
解答例と解説
この問題の一つの正解例とそのコードの解説を以下に示します。
正解コードの例
例えば以下のようなプログラムが考えられます。
********************
# 九九表を表示するプログラム # ユーザーに数値を入力させる puts "1から9までの数値を入力してください:" num = gets.chomp.to_i # gets.chomp.to_i はユーザーからの入力を受け取り、改行を除去し、整数に変換します。 # 入力された数値の段の九九表を表示する for i in 1..9 result = num * i puts "#{num} x #{i} = #{result}" # 繰り返し処理で1から9までの数値を使って、掛け算を行い結果を表示します。 end
********************
コードの解説
このプログラムは、ユーザーに1から9までの数値を入力させ、その数に対する九九表を表示する簡単なプログラムです。
特に、繰り返し処理(for文)に焦点を当てて解説します。
ユーザーからの入力
puts "1から9までの数値を入力してください:" num = gets.chomp.to_i
ここでは、puts
メソッドを使って画面にメッセージを表示し、gets
メソッドでユーザーからの入力を受け取っています。
chomp
メソッドを使って入力されたデータの改行を取り除き、to_i
メソッドでそれを整数に変換して、変数num
に格納しています。
繰り返し処理(for文)
for i in 1..9
この部分が繰り返し処理の核心です。for
文は、指定された範囲内の数値を使って処理を繰り返します。
1..9
は「1から9まで」を意味しており、i
はその範囲の各数値を順番に代入します。このループは、1から9までの9回の繰り返しを行います。
掛け算と表示
result = num * i puts "#{num} x #{i} = #{result}"
num
とi
の掛け算を行い、その結果をresult
に代入します。puts
メソッドを使って、その計算結果を画面に出力します。
#{}
は文字列の中で変数を埋め込むために使われ、ここではnum
、i
、そしてresult
がそれぞれ出力されます。
まとめ
このプログラムの主な学習ポイントは、繰り返し処理(for文)です。for
文は、指定された範囲内で同じ処理を繰り返すための便利な方法です。
また、掛け算の結果を計算して表示する部分で、変数の使い方や文字列の組み合わせ方も学べます。
<<前の問題 |
問題集Top |
次の問題>> |
この問題への質問・コメント
この問題を作成するにあたりAIを活用しています。
問題ないことは確認していますが、もし間違いや表現の違和感などありましたら、ご指摘頂けると大変助かります。