第2回 基礎プログラミング II レポート課題 氏名:渡辺力 学籍番号:c1091520 語学クラス:英語3 コース(系):地域 1、筆記問題 A、 様々な県の有名な物を Hash 配列 yuumei とした。 mono の key と value はそれぞれ県の名前と、その県の有名な物にした。 1:key 「東京都」に対して value は「東京スカイツリー」 2:key 「秋田県」に対して value は「横手焼きそば」 3:key 「沖縄県」に対して value は「美ら海水族館」 4:key 「大阪府」に対して value は「通天閣」 5:key 「山形県」に対して value は「さくらんぼ」 上のに対応している Hash の表し方が mono["東京都"] = "東京スカイツリー" mono["秋田県"] = "横手焼きそば" mono["沖縄県"] = "美ら海水族館" mono["大阪府"] = "通天閣" mono["山形県"] = "さくらんぼ" ということになる。 もう一つの表し方が {"東京都" => "東京スカイツリー", "秋田県" => "横手焼きそば", "沖縄県" => "美ら海水族館", "大阪府" => "通天閣", "山形県" => "さくらんぼ"} ということになる。 B、 a、10進数 0d 2010 を16進数 0x に変換する。 2010/16=125余り10 125/16=7余り13 7/16=0余り7 上の計算より、下の余りから順に並べる。 1の位 7 10の位 13→d 100の位 10→a ということになる。 よって、0d 2010 = 0x 7da となる。 b、10進数 0d 2010 を2進数 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 上の計算より、下の余りから順に並べる。 よって、0d 2010 = 0b 11111011010 となる。 2、プログラム問題 A問題をした。 設定 プログラムに登録してある対のデータをprintで全てを表示する。 プログラム本体 #!/usr/koeki/bin/ruby $KCODE = "e" mono = Hash.new mono["東京都"] = "東京スカイツリー" mono["秋田県"] = "横手焼きそば" mono["沖縄県"] = "美ら海水族館" mono["大阪府"] = "通天閣" mono["山形県"] = "さくらんぼ" mono["青森県"] = "りんご" mono["宮城県"] = "萩の月" for ken,yuumei in mono printf("%s で有名なのは %s です。\n", ken, yuumei) end 実行結果 pan{c109152}% ./hash_for.rb [~/Ruby] 東京都 で有名なのは 東京スカイツリー です。 大阪府 で有名なのは 通天閣 です。 青森県 で有名なのは りんご です。 山形県 で有名なのは さくらんぼ です。 秋田県 で有名なのは 横手焼きそば です。 宮城県 で有名なのは 萩の月 です。 沖縄県 で有名なのは 美ら海水族館 です。 考察 ちゃんと作動してよかった。 今度はもっと調べて詳しいデータをたくさん入力したい。 感想 今回は新しい hash というのを学んだ。 とても面白いものだなぁと思った。 来週の授業もちゃんとついて行けるように頑張りたい。 参考文献 廣瀬雄二著 Rubyプログラミング基礎講座 西村まどか 基礎プログラミング II 第2回 なになにといえばこれこれ 「覚える順番は違うけれど答えは正しい」 http://roy/~madoka/2010/r2/02/02_10_theme_09_memory.html