Rubyがミニツク

あなたのRubyの技術に関するより詳しい知識と理解を増やします。

Ruby技術者認定試験(Silver)対策コース

このコースについて

このコースでは、Ruby技術者認定試験(Silver)に合格できるだけのRubyの知識を得ることを目的としています。Ruby技術者認定試験とは、Rubyによるシステム開発をおこなう能力を技術者が持っているかを公平に評価するためのRubyアソシエーションの認定試験制度です。

コンテンツ一覧

ヒント レッスンの名前をクリックすると、その内容を表示します。

コース一覧に戻る ホームへ戻る

Ruby技術者認定試験(Silver)対策問題集6

コンテンツ概要

Ruby技術者認定試験(Silver)を前提とした試験対策問題を解き、認定試験合格を目指しましょう。本問題集では、疑似的な試験問題を出題し、実際の試験を受ける際のトレーニングを積むことができます。この問題集では条件分岐や繰り返しを学習します。

このドリルは10問の問題があります。


はじめる

問題

以下の選択肢のうち、次のプログラムが標準出力に出力する値として正しいものを選択してください。

mark = '*'
5.downto(1) {|i| print((mark * i) + "\n") }

選択肢を選ぶ

(d)

*
*
*
*
*

(a)

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

(b)

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

(c)

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


次の問題へ進む

問題

以下の選択肢のうち、次のプログラムが標準出力に出力する値として正しいものを選択してください。

def fib(count=9)
  count -= 2
  container = [0, 1]
  until 0 >= count
    container += [(container[-2] + container[-1])]
    count -= 1
  end
  return container
end
p fib

選択肢を選ぶ

(d) [0, 1]

(c) [0, 1, 1, 2, 3, 5, 8, 13, 21]

(a) [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

(b) [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]


次の問題へ進む

問題

以下で示すプログラムが返す出力結果として正しいものを1つ選択してください。

  foo = ('a'..'z').each_with_index {|i, n| break(i) if n.odd? }
  p foo.succ

選択肢を選ぶ

(d) "c"

(c) "b"

(b) ('a'..'z')

(a) NoMethodError例外が発生する。


次の問題へ進む

問題

以下の選択肢の中から(A)に入れて正常にプログラムが終了するものを選択してください。

x = 2.0
y = 1.0

loop do
  z = x / y
  y = (y + z) / 2
  puts(y)
  (A) if ((y ** 2).abs - x < Float::EPSILON)
end

選択肢を選ぶ

(d) break

(c) raise

(a) next

(b) redo


次の問題へ進む

問題

以下の選択肢のうち、次のプログラムが標準出力に出力する値として正しいものを選択してください。

max = 42
min = 24

while min > 0
  tmp = min
  min = max % min
  max = tmp
end
p max

選択肢を選ぶ

(d) 18

(b) 2

(a) 0

(c) 6


次の問題へ進む

問題

以下の選択肢のうち、次のプログラムが標準出力に出力する値として正しいものを選択してください。

container = [1]
ary = (2..10).to_a
tmp = ary.shift

while tmp
  ary.delete_if {|i| i % tmp == 0 }
  container << tmp
  tmp = ary.shift
end
p container

選択肢を選ぶ

(a) [1, 2, 4, 8]

(c) [1, 2, 9, 7, 5, 3]

(b) [1, 2, 3, 5, 7]

(d) [7, 5, 3, 2, 1]


次の問題へ進む

問題

以下で示すプログラムが返す出力結果として正しいものを1つ選択してください。

ary = []
10.times do |i|
  i.even? ? (i % 3 == 0) ? ary << i : next : next 
end
p ary

選択肢を選ぶ

(a) [0, 2, 4, 6, 8, 10]

(b) [1, 3, 5, 7, 9]

(d) [0, 2, 4, 8, 10]

(c) [0, 6]


コース一覧に戻る ホームへ戻る