第 2 回 なになにといえばこれこれ レポート課題 氏名:下妻 匡哉 学籍番号:c1101164 語学クラス:英語(6) コース(系):地域共創コース 1-A.東北の名物を hash 配列 specialty とした。 specialty の key と value は各県名と名物にした。 (1)key 「青森県」に対して value 「りんご」 (2)key 「秋田県」に対して value 「なまはげ」 (3)key 「岩手県」に対して value 「わんこそば」 (4)key 「宮城県」に対して value 「笹かま」 (5)key 「福島県」に対して value 「桃」 これに対する Hash の表し方は specialty["青森県"] = "りんご" specialty["秋田県"] = "なまはげ" specialty["岩手県"] = "わんこそば" specialty["宮城県"] = "笹かま" specialty["福島県"] = "桃" また、もう一つの表し方は {"青森県" => "りんご" , "秋田県" => "なまはげ" , "岩手県" => "わんこそば", "宮城県" => "笹かま" , "福島県" => "桃"} 1-B. a.0d 2010 = 0x7da 16)2010 10 → a ----- 16) 125 13 → d ----- 16) 7 7 → 7 ----- 0 b.0d 2010 = 0b11111011010 2)2010 0 ----- 2)1005 1 ----- 2) 502 0 ----- 2) 251 1 ----- 2) 125 1 ----- 2) 62 0 ----- 2) 31 1 ----- 2) 15 1 ----- 2) 7 1 ----- 2) 3 1 ----- 2) 1 1 ----- 0 0b11111011010 = |0111|1101|1010| = 7 d a = 7da 2.プログラミング問題 A. 1の問題で考えた対を引用し、for キー名, 値 in ハッシュ配列名 の公式を 使えば、2-Aのプログラムが作成できる、と考えた。 (1)考えた設定 「全国47都道府県にはそれぞれ名物がある。今回は東北6県に標準を絞り、実行 すると東北6県の名物がわかる」という設定のもと、簡易案内プログラム hash_for.rbを作成した。 (2)作成したプログラム #!/usr/koeki/bin/ruby specialty = Hash.new specialty = { "青森県" => "りんご", #hashをspecialtyとし、keyとvalueを登録 "秋田県" => "きりたんぽ", "岩手県" => "わんこそば", "宮城県" => "牛たん", "山形県" => "さくらんぼ", "福島県" => "桃" } for name, meibutsu in specialty #keyをname、valueをmeibutsuに代入 printf("%s\t%s\n", name, meibutsu) end (3)プログラム実行結果 pan{c110116}% ./hash_for.rb [~/Ruby] 福島県 桃 岩手県 わんこそば 青森県 りんご 山形県 さくらんぼ 秋田県 きりたんぽ 宮城県 牛たん 3.感想 今回は、hash という未知の変数がでてきた。hash は入力された任意の値key とvalueの対の値を保存する事ができる。 今回の課題では、「for キー名 , 値 in ハッシュ配列名」の公式を用いる時、 どうしたら端を揃えて表示できるか、にてこずった。 それに加え、進数変換を忘れていて大変だった。 今後はそれらの復習をした上で、もっと上位(BやCやDなど)の課題に取り組みた い。 4.参考文献 http://roy/~naoya/ruby/9.html 神田直弥 基礎プログラミングI 第 9 回 16進数・ASCIIコード http://roy/~naoya/rubyII/3.html 神田直弥 基礎プログラミングII 第 3 回 ハッシュ[1] http://roy/~madoka/2011/r2/02/r2_02_07_theme_06_forprint.html 西村まどか 基礎プログラミングII 第 2 回 「なになにといえばこれこれ」 Hashの対を表示 するには 協同学習者:須藤 充司 -------------------------- 東北公益文科大学 公益学部 2年 下妻 匡哉 C110116@f.koeki-u.ac.jp --------------------------