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

Back


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

設問

11月22日の宿題で行ったじゃんけん のスクリプトについて,あいこの場合には決着がつくまでじゃんけんを実行する ように while 文を用いて修正せよ.基本的な条件は前回の通りとする. ただし,勝ち負けの表示に関しては,次のような命令文として実現すること.

printf "%sの勝ち!\n", winner


解答例

judge = 0

while judge == 0
  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

  printf "Computer A: %s\nComputer B: %s\n", hand_a, hand_b
  judge = (a - b) % 3

  case judge
  when 1
    winner = "B"
  when 2
    winner = "A"
  else
    printf "あいこ\n"
  end
end

printf "%sの勝ち!\n", winner


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


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

設問

11月22日の宿題で行ったじゃんけん のスクリプトについて,あいこの場合には決着がつくまでじゃんけんを実行する ように while 文を用いて修正せよ.基本的な条件は前回の通りとする. ただし,勝ち負けの表示に関しては,次のような命令文として実現すること.

printf "%sの勝ち!\n", winner


解答例

judge = 0

while judge == 0
  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

  printf "Computer A: %s\nComputer B: %s\n", hand_a, hand_b
  judge = (a - b) % 3

  case judge
  when 1
    winner = "B"
  when 2
    winner = "A"
  else
    printf "あいこ\n"
  end
end

printf "%sの勝ち!\n", winner


Back