第 3 回 情報の構造を分析しよう レポート課題 氏名:佐藤裕介 学籍番号:c110108 語学クラス:英語2 コース(系):地域共創 筆記問題 A satou yuusuke s=0x73 a=0x61 t=0x74 o=0x6f u=0x75 y=0x79 u=0x75 u=0x75 s=0x73 u=0x75 k=0x6b e=0x65 B 明日会社に行く 明日香医者に行く C 果物の特徴をhash配列eigoとしました eigoのkeyとvalueはそれぞれ果物の英語名と味、産地にとりました その1:key「みかん」に対してvalueは「"orange","酸っぱい","愛媛"」 その2:key「バナナ」に対してvalueは「"banana","甘い","フィリピン"」 その3:key「りんご」に対してvalueは「"apple","甘酸っぱい","青森"」 その4:key「レモン」に対してvalueは ["lemon","愛媛","酸っぱい"] その5:key [ぶどう] に対してvalueは ["grape","山梨","甘い"] これらをhssh配列で表記すると これをhashで表すと eigo["みかん"]=["orange","酸っぱい","愛媛"] eigo["バナナ"]=["banana","甘い","フィリピン"] eigo["りんご"]=["apple","甘酸っぱい","青森"] eigo["レモン"]=["lemon","愛媛","酸っぱい"] eigo["ぶどう"]=["grape","山梨","甘い"] eigo = { "みかん" => ["orange","酸っぱい","愛媛"] "バナナ" => ["banana","甘い","フィリピン"] "りんご" => ["apple","甘酸っぱい","青森"] "レモン" => ["lemon","愛媛","酸っぱい"] "ぶどう" => ["grape","山梨","甘い"] } 2 プログラム問題 A 考えた設定 前の課題同様hashの中身を全て表示するプログラムに内容を付け加えました。 作ったプログラム #!/usr/koeki/bin/ruby eigo = Hash.new eigo["みかん"] = ["orange","愛媛", "酸っぱい"] eigo["バナナ"] = ["banana","フィリピン","甘い"] eigo["りんご"] = ["apple","青森","甘酸っぱい"] eigo["レモン"] = ["lemon","愛媛","酸っぱい"] eigo["ぶどう"] = ["grape","山梨","甘い"] for a in eigo.keys printf("%sを英語に直すと%s産地は%s。味は%s\n", a, eigo[a][0], eigo[a][1], eigo[a][2]) end 実行結果 roy{c110108}% ./hash_ary_print.rb [~/Ruby] バナナを英語に直すとbanana産地はフィリピン。味は甘い ぶどうを英語に直すとgrape産地は山梨。味は甘い レモンを英語に直すとlemon産地は愛媛。味は酸っぱい りんごを英語に直すとapple産地は青森。味は甘酸っぱい みかんを英語に直すとorange産地は愛媛。味は酸っぱい もとにしたプログラムからの変更点 valueの中身を書きか加え、printf文を書き加えた内容をちゃんと表示されるよ うに書き換えました 考察 hashの内容やvalueの内容が自分の考えたプログラム通りに実行されたのでしっ かりプログラムが書けていたといえる。 参考文献 基礎プログラミング II第 3 回「情報の構造を分析しよう」 http://roy.e.koeki-u.ac.jp/~madoka/2011/r2/03/ 西村まどか先生 共同学習者 横山広樹 高橋志英 感想 桃太郎 犬、猿、きじをお供にするときに決まってきび団子を差し出す。