情報科学概論 再試験
2003.9.30
注意
携帯電話は電源を切ってパソコンの筐体の上に置いておくこと.試験中は手を触 れてはいけない.Sylpheedは試験時間終了10分前以前に起動させてはいけない.
提出先 | aegis@mag.shimane-u.ac.jp |
件名 | Ruby exam2 s0340** |
解答用紙ファイル名 | Form-ruby2-s0340**.txt |
学生番号と名前を忘れずに記入すること.
printf "(サイコロ1の目:サイコロ2の目)\n" for d1 in 1..6 for d2 in d1..6 printf "(%d:%d)\n", d1, d2 end end |
#dice.rb n = ARGV[0].to_i num = [0,0,0,0,0,0] for i in 1..【i. 】 m = rand(【ii. 】) + 【iii. 】 case 【iv. 】 when 1 num[0] += 1 when 2 num[1] += 1 when 3 num[2] += 1 when 4 num[3] += 1 when 5 num[4] += 1 when 6 num[5] += 1 end end for i in 1..6 printf "%d: %d ", i, num[【v. 】] end printf "\n" for i in 1..6 printf "【vi. 】 ", num[【v. 】].【vii. 】 / n end printf "\n" |
このスクリプトは コマンドライン引数としてサイコロを振る回数 を与える.動作例は次のようになるものとする.1行目は各目の出た回数であり, 2行目はその確率を小数点以下3桁で表示してある.
$ ruby dice.rb 100 1: 20 2: 12 3: 18 4: 16 5: 17 6: 17 0.200 0.120 0.180 0.160 0.170 0.170 |
$ ruby time.rb 100000 100000 秒は 1日と3時間46分40秒 |
#janken.rb hand = ARGV[0] 【i. 】 hand when "g" h = 3 when "c" h = 4 when "p" h = 5 end comp = rand(3) chand = ["グー", "チョキ", "パー"] printf "あなたの出したのは「%s」\n", chand[【ii. 】] printf "私の出したのは「%s」\n", chand[【iii. 】] printf "結果: " case (h - comp) 【iv. 】 3 when 【v. 】 puts "あいこ" when 【vi. 】 puts "あなたの負け" when 【vii. 】 puts "あなたの勝ち" end |
このスクリプトはコマンドライ ン引数としてg(ぐー),c(チョキ),p(パー)を与えて勝負する.勝ち負けかあ いこを結果として表示するようになっており,動作例としては次のように なる.
$ ruby janken.rb c あなたの出したのは「チョキ」 私の出したのは「グー」 結果: あなたの負け |
【 】部分に入る適当な文字列を答えよ.(14点)
提出先 | aegis@mag.shimane-u.ac.jp |
件名 | Ruby exam2 s0340** |
解答用紙ファイル名 | Form-ruby2-s0340**.txt |
学生番号と名前を忘れずに記入すること.