情報科学概論(1年生)
Aクラス 宿題 2004.11.22

Back


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

設問

コンピュータどうしのじゃんけんゲームをシミュレートするスクリプトを以下の 条件に従って作成せよ.

  1. 乱数を使用する.

  2. 結果の表示は次のようになるものとする.

    Computer A: グー
    Computer B: パー
    Bの勝ち!
    

  3. あいこのときには次のように表示する.

    Computer A: チョキ
    Computer B: チョキ
    あいこ
    

  4. 結果表示には printf を使用する.

  5. 出力命令はなるべく少なくし,基本的には最後にまとめて実行する.

  6. 勝ち負けの判断は剰余を使用すると楽にできるので試してみたら良い.


解答例

a = rand(3)
b = rand(3)

case a
when 0
  hand_a = "グー"
when 1
  hand_a = "チョキ"
else
  hand_a = "パー"
end

case b
when 0
  hand_b = "グー"
when 1
  hand_b = "チョキ"
else
  hand_b = "パー"
end

case (a - b) % 3
when 1
  winner = "B"
when 2
  winner = "A"
else
  winner = nil
end

printf "Computer A: %s\nComputer B: %s\n", hand_a, hand_b

if winner
  printf "%sの勝ち!\n", winner
else
  printf "あいこ\n"
end

情報科学概論(1年生)
Bクラス 宿題 2004.11.22

Back


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

設問

コンピュータどうしのじゃんけんゲームをシミュレートするスクリプトを以下の 条件に従って作成せよ.

  1. 乱数を使用する.

  2. 結果の表示は次のようになるものとする.

    Computer A: グー
    Computer B: パー
    Bの勝ち!
    

  3. あいこのときには次のように表示する.

    Computer A: チョキ
    Computer B: チョキ
    あいこ
    

  4. 結果表示には printf を使用する.

  5. 出力命令はなるべく少なくし,基本的には最後にまとめて実行する.

  6. 勝ち負けの判断は剰余を使用すると楽にできるので試してみたら良い.


解答例

a = rand(3)
b = rand(3)

case a
when 0
  hand_a = "グー"
when 1
  hand_a = "チョキ"
else
  hand_a = "パー"
end

case b
when 0
  hand_b = "グー"
when 1
  hand_b = "チョキ"
else
  hand_b = "パー"
end

case (a - b) % 3
when 1
  winner = "B"
when 2
  winner = "A"
else
  winner = nil
end

printf "Computer A: %s\nComputer B: %s\n", hand_a, hand_b

if winner
  printf "%sの勝ち!\n", winner
else
  printf "あいこ\n"
end


Back