5月9日のレポートについて 語学クラス:XXXX語XX 系:XXXX系 学籍番号:c106XXXX 氏名:XXXXXXXX 1.筆記問題 [1] [A] 2進数「100011」を10進数にする 1 * 1 + 2 * 1 + 4 * 0 + 8 * 0 + 16 * 0 + 32 * 1というふうにして = 1 + 2 + 32 となるので = 35 という答えになる。 答え 0b100011 = 0d35 です。 [B] 2進数100011を16進数にする 右から4つごとに区切っていく 「10 0011」となる 16進数にすると 「(2) (3)」となる。 答え 0b100011 = 0x23 [2]今日学んだことを使ってみよう 勇者が森の中でパーティーと行動をしていた 「勇者が走ったならば敵が現れて、走らなければアイテムを拾う」 というゲームであった。これをプログラムにする。ちなみに闘うことは 出来ない。 if 勇者が走る 敵が現れる else アイテム拾う end となる。 2.プログラミング作成 [C]の解答 1.考えた設定 10月のカレンダーをつくりそして銀行のインターネットバンキングの設定を行なう。 2.作成したプログラム #!/usr/koeki/bin/ruby STDERR.print("10 月の曜日を当てるので。日にちを入力しよう: ") day = gets.chomp.to_i d = (4 + day) % 7 # 10 月 1 日は月曜日です。 # day == 1 ならば d = 5 にします。 if day < 32 if d == 0 hday = "水" ko ="OK" elsif d == 1 hday = "木" ko ="OK" elsif d == 2 hday = "金" ko ="OK" elsif d == 3 hday = "土" ko ="NG" elsif d == 4 hday = "日" ko ="NG" elsif d == 5 hday = "月" ko ="OK" else hday = "火" ko ="OK" end printf("2007年 10月 %d 日は %s 曜日です。 銀行の方は %s です。\n", day, hday, ko) end 3.もとにしたプログラムの変更点 5月9日の講義で行なったカレンダーのプログラムをもとにしてこのプログラム を作成しました。10月のカレンダーにし土曜と日曜は「NG」としそれ以外の曜 日は「OK」としました。 4.プログラムを実行した結果画面 (31日以前の結果) irsv{c106002}% ./bank.rb [~/Ruby] 10 月の曜日を当てるので。日にちを入力しよう: 26 2007年 10月 26 日は 金 曜日です。 銀行の方は OK です。 (31日以降の結果) irsv{c106002}% ./bank.rb [~/Ruby] 10 月の曜日を当てるので。日にちを入力しよう: 32 5.導き出された結果の考察 結果を見てその日にちと曜日を照らし合わせた結果、10月のカレンダーと一緒 でした。 6.参考文献 ホームページ 講義ノート 3.感想 レポートを作成する上で、プログラムを作成しそのプログラムが正常に動くか の繰り返しでしたが、この動作一つ一つが経験となり積み重なっていくんだと 思いました。まだ難しい部分はありますが失敗して覚えることも多いと思うの でこれからも頑張って行こうと思います。