第2回 レポート課題 氏名: 吉田 亘 学籍番号: c1102005 語学クラス: 英語2 コース(系): 政策マネジメント 1 A 生き物を hash 配列 item とし、item の key と value は名前と類にしました。 その 1 key 「ヒト」 に対して value は 「哺乳類」 その 2 key 「カラス」 に対して value は 「鳥類」 その 3 key 「サメ」 に対して value は 「魚類」 その 4 key 「カエル」 に対して value は 「両棲類」 その 5 key 「トカゲ」 に対して value は 「爬虫類」 これに対応する Hash の表し方は、 item["ヒト"] = "哺乳類" item[カラス"] = "鳥類" item["サメ"] = "魚類" item["カエル"] = "両棲類" item["トカゲ"] = "爬虫類" また、もう一つの表し方は、 { "ヒト" => "哺乳類", "カラス" => "鳥類", "サメ" => "魚類", "カエル" => "両棲類", "トカゲ" => "爬虫類" } B. a.0b 2010 = 0x ?? 0b は10進数、 0x は16進数 10進数を16進数に変換する 2010 / 16 = 125...10 125 / 16 = 7 ...13 7 / 16 = 0 ...7 10進数 16進数 7 → 7 13 → d 10 → a よって、0d 2010 = 0x 7da となる。 b. 0d 2010 = 0b ?? 2010 / 2 = 1005 ...0 1005 / 2 = 502 ...1 502 / 2 = 251 ...0 251 / 2 = 125 ...1 125 / 2 = 62 ...1 62 / 2 = 31 ...0 31 / 2 = 15 ...1 15 / 2 = 7 ...1 7 / 2 = 3 ...1 3 / 2 = 1 ...1 1 / 2 = 0 ...1 余りを並べると、11111011010となる よって、0d 2010 = 0b 11111011010 となる 1問目の答えと同じになるか確かめる 111 1101 1010 → 0111 1101 1010 2進数 16進数 0111 → 7 1101 → d 1010 → a よって、0b 11111011010 = 0x 7da となり、1問目と答えは同じである。 2#!/sur/koeki/bin/Ruby $KCODE = 'e' item = Hash.new item["ヒト"] = "哺乳類" item["カラス"] = "鳥類" item["サメ"] = "魚類" item["カエル"] = "両棲類" item["トカゲ"] = "爬虫類" for seibutumei,rui in item printf("%sは %sですよ!\n",seibutumei,rui) end -------------------------------------------------------------- 最初に文字化け防止をしている。 配列をitemとする。 for seibutumei,rui in item で全てのものを表示する。 printf("%sは %sですよ!\n",seibutumei,rui) printf によって seibutumei と rui が表示されるようにした。 --------------------------------------------------------------- pan{c110200}% ./hash_for.rb [~/Ruby] ヒトは 哺乳類ですよ! カラスは 鳥類ですよ! サメは 魚類ですよ! カエルは 両棲類ですよ! トカゲは 爬虫類ですよ! ---------------------------------------------------------------- 3 大型の本屋で本を探すときに、どの棚にあるか調べるコンピューターに使われて いるのではないかと思った。 4 2011 年度 基礎プログラミングII 講義ノート http://roy/~madoka/2011/r2/ 第 2 回 基礎プログラミングII(なになにといえばこれこれ)講義ノート目次 http://roy/~madoka/2011/r2/02/ 共同作成者 鏡 登志晃 須藤 充司