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

Back


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

設問

Rubyにおいては,スクリプトの最初に

include Math

のような「宣言」をしておくと,標準でいくつかの数学関数が利用できるように なる.今回は,平方根を求める関数 sqrt を用いて次のようなスク リプトを作成せよ. sqrt の引数は次のようにカッコを利用して与え る.また,引数は正の整数でなくてはならない.

sqrt(5)

  1. 適当な数を与えると,その平方根を計算する.

  2. 与える数は正でも負でも動作する.

  3. 正の場合には結果は次のように表示されるものとする.

    Square root of 5 equals to 2.236
    

  4. 与える数が負の場合には次のように結果表示されるものとする.

    Square root of -5 equals to 2.236i
    
    小数部分は小数第3位まで表示する.

  5. 表示には printf を全体で1度だけ用いる.


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"
end

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

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

  c = rand(3)
  d = rand(3)

  case c
  when 0
    hand_c = "グー"
  when 1
    hand_c = "チョキ"
  else
    hand_c = "パー"
  end

  case d
  when 0
    hand_d = "グー"
  when 1
    hand_d = "チョキ"
  else
    hand_d = "パー"
  end

  case (c - d) % 3
  when 1
    winner2 = "B"
  when 2
    winner2 = "A"
  else
    winner2 = ""
  end

  printf "Computer A: %s\nComputer B: %s\n", hand_c, hand_d

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


Back