Header
2018-06-04
2020-02-01

Rubyの練習問題:繰り返し処理編|初心者・独学者向け入門コンテンツ

Pexelsl32131

初心者・独学者向けの入門コンテンツとしてRubyで繰り返し処理の練習問題を作成しました。

各問題の回答は内部リンクに設定しています。

Rubyの繰り返し処理の解説については下記を御覧ください

Rubyの繰り返し処理の解説|初心者・独学者向け

関連問題

Rubyの練習問題:配列編|初心者・独学者向け入門コンテンツ

Rubyの練習問題:文字列編|初心者・独学者向け入門コンテンツ

Rubyの練習問題:ハッシュ編|初心者・独学者向け入門コンテンツ

Rubyでサイトをスクレイピングし、ローカルに画像を保存する

Rubyの繰り返し処理の練習問題

1:繰り返し処理eachメソッドの挙動

以下選択肢の中で、正常動作するコードを「全て」選択してください

#選択肢1
["こんにちは","おはよう","さよなら"].each do |greeting|puts greeting end

#選択肢2
["こんにちは","おはよう","さよなら"].each do |greeting|puts greeting 

#選択肢3
["こんにちは","おはよう","さよなら"].each {|greeting| puts greeting }

#選択肢4
["こんにちは","おはよう","さよなら"].each |greeting| do puts greeting 

#選択肢5
["こんにちは","おはよう","さよなら"].each {|greeting| do puts greeting } end

繰り返し処理eachメソッドの挙動の回答

2:繰り返し処理.eachwithindex メソッドの挙動1

.each_with_indexメソッドを利用して以下実行結果を出力してください。

実行結果

1:みかん
2:オレンジ
3:ぶどう

3:繰り返し処理.eachwithindex メソッドの挙動2

以下の処理を実行した場合の動作を選択肢から1つ選んで下さい。

["みかん","オレンジ","ぶどう"].each_with_index do |fruit,i|
  puts fruit
end

選択肢

#選択肢1 以下が出力される

0
1
2
#選択肢2 以下が出力される

みかん
オレンジ
ぶどう

選択肢3 実行エラーになる

3:繰り返し処理.eachwithindex メソッドの挙動2の回答

4: 繰り返し処理.timesメソッドの挙動1

以下を出力結果になるように.timesメソッドを利用してプログラミングをして下さい。

ruby
ruby
ruby
ruby
ruby

4:繰り返し処理.timesメソッドの挙動1の回答

5: 繰り返し処理.timesメソッドの挙動2

引き続き以下を出力結果になるように.timesメソッドを利用してプログラミングをして下さい。

1:ruby
2:ruby
3:ruby
4:ruby
5:ruby

5:繰り返し処理.timesメソッドの挙動2の回答

6: 繰り返し処理 後置 unless

以下処理を実行した場合の動作を選択肢から選んでください

[5, 6].each do |a|
  next unless a == 6
  puts a
end
A:エラー
B:5
C:6
D:5,6

繰り返し処理 後置 unlessの回答

7: 繰り返し処理.all?

all? メソッドを利用した際の奇数判定でtureを返す処理は、以下の選択肢で正しいものはどれか?

選択肢A

num=[1,3,5]
p num.all?(&:even?)
選択肢B

num=[2,3,5]
p num.all?(&:odd?)
選択肢C

num=[1,3,5]
p num.all?(&:odd?)

7:繰り返し処理.all?の回答

1-1:繰り返し処理eachメソッドの挙動の回答

回答 選択肢1と3になります。

eachメソッドのお作法は以下2つのどちらかになります。

※コード上で改行が入っても問題ないです。

.each {|hoges| puts hoge }

.each do |hoges| puts hoge end
#選択肢1
["こんにちは","おはよう","さよなら"].each do |greeting|puts greeting end

#選択肢3
["こんにちは","おはよう","さよなら"].each {|greeting| puts greeting }

1-2:繰り返し処理.eachwithindex メソッドの挙動1の回答

設問

.each_with_indexメソッドを利用して以下実行結果を出力してください。

実行結果

1:みかん
2:オレンジ
3:ぶどう

回答 以下のような形です。

["みかん","オレンジ","ぶどう"].each_with_index do |fruit,i|
  puts "#{i+1}"+":"+ "#{fruit}"
end
.each_with_index メソッドのインデックスカウントは0から開始されるので、1から開始する際は+1をする必要があります。

1-3:繰り返し処理.eachwithindex メソッドの挙動2の回答

設問 以下の処理を実行した場合の動作を選択肢から1つ選んで下さい。

["みかん","オレンジ","ぶどう"].each_with_index do |fruit,i|
  puts fruit
end

選択肢

#選択肢1 以下が出力される

0
1
2
#選択肢2 以下が出力される

みかん
オレンジ
ぶどう

選択肢3 実行エラーになる

回答 選択肢2となります。

繰り返し処理のeach_with_indexでは要素とインデックスの数をカウントしますが、2つ目の引数を指定しなくても実行自体は可能です。


["みかん","オレンジ","ぶどう"].each_with_index do |fruit,i|
  puts fruit
end

#実行結果
#みかん
#オレンジ
#ぶどう

1-4: 繰り返し処理.timesメソッドの挙動1の回答

設問

以下を出力結果になるように.timesメソッドを利用してプログラミングをして下さい。

ruby
ruby
ruby
ruby
ruby

回答 以下になります。 非常に簡単ですね。

5.times do
  puts "ruby"
end

1-5: 繰り返し処理.timesメソッドの挙動2の回答

設問

以下を出力結果になるように.timesメソッドを利用してプログラミングをして下さい。

1:ruby
2:ruby
3:ruby
4:ruby
5:ruby

回答 以下になります。

5.times do |num|
  puts "#{num+1}"+":"+"ruby"
end

#以下でも可能です。

num = 0

5.times do |num|
  num += 1
  puts "#{num}"+":"+"ruby"
end

1-6: 繰り返し処理 後置 unlessの回答

以下処理を実行した場合の動作を選択肢から選んでください 答えはCです。

C:6

繰り返し処理の中でIf文を利用する場合は、後置unlessを利用した方が1行少なく記入できます。

以下よりは

[5, 6].each do |a|
  if a == 6
    puts a
  end
end

以下

[5, 6].each do |a|
  next unless a == 6
  puts a
end

1-7: 繰り返し処理.all?の回答

all? メソッドを利用した際の奇数判定でtureを返す処理は、以下の選択肢で正しいものはどれか?

答え選択肢C

選択肢C

num=[1,3,5]
p num.all?(&:odd?)

all?はブロック内の全ての要素が指定条件に合致した場合tureを返す処理なので、以下はfalseになる

選択肢B

num=[2,3,5]
p num.all?(&:odd?)

以上になります。

その他関連記事

Rubyの練習問題:配列編|初心者・独学者向け入門コンテンツ

Rubyの練習問題:文字列編|初心者・独学者向け入門コンテンツ

Rubyの練習問題:ハッシュ編|初心者・独学者向け入門コンテンツ

初心者・独学者向け|Rubyの配列処理の入門とよく使うメソッド

初心者・独学者向け|Rubyのハッシュ入門とよく使うメソッド

初心者・独学者向け|Rubyのinitializeメソッドとは

初心者・独学者向け|RubyのStringクラスとよく使うメソッド

Rubyで二分探索(バイナリサーチ)を行う

あなたにお勧めの記事
前の記事
次の記事