情報科学概論(再履修)
再履修クラス 宿題 2004.11.19

Back


宿題においても, 解答用紙 を使用する.この書式で解答を提出すること.

設問

ジョーカーを含む53枚のトランプからカードを1枚引く動作をシミュレートする スクリプトを作成せよ.

  1. ジョーカーの出てくる確率は1/53とする.

  2. 通常のカードではSuitsとNumberにふたつの乱数を使用する.

  3. Suitsは次の4種類を使用する.

    Spade
    Diamond
    Club
    Heart

  4. Numberには以下の表示を使用する.

    数字表示
    1Ace
    2 2
    3 3
    4 4
    5 5
    6 6
    7 7
    8 8
    9 9
    1010
    11Jack
    12Queen
    13King

  5. 結果の表示には次のような形式を用いる.

    Ace of Spade
    

    もしくは,

    Joker!
    

  6. 冗長な構成をできるだけ避けること.


解答例

joker = rand(53)

if joker == 0
  printf "Joker!\n"
else
  s = rand(4)
  n = rand(13)

  if s == 0
    suits = "Spade"
  elsif s == 1
    suits = "Diamond"
  elsif s == 2
    suits = "Club"
  else
    suits = "Heart"
  end

  if n == 0
    num = "King"
  elsif n == 1
    num = "Ace"
  elsif n == 11
    num = "Jack"
  elsif n == 12
    num = "Queen"
  else
    num = n.to_s
  end
  
  printf "%s of %s\n", num, suits
  
end


Back