第 3 回 情報の構造を分析しよう レポート課題 氏名:宮城晃司 学籍番号:c1101879 語学クラス:中国語3 コース(系):社会福祉コース 1.筆記問題 A.miyagikouji m=0x6d i=0x69 y=0x79 a=0x61 g=0x67 i=0x69 k=0x6b o=0x6f j=0x6a i=0x69 B. きょうこそこくじした きょうこそ こくじ した。(今日こそ告示した) きょうこそ こくじ した。(今日こそ国事した) C. 陸上競技をhash 配列 sports とした。 sports の key は種目、value は 男子日本記録保持者名、その日本記録、記録 した西暦とした。 1:key 「100メートル」に対して value は 「"伊東浩司","10'00","1998"」 2:key 「200メートル」に対して value は 「"末次慎吾","20'03","2003"」 3:key 「400メートル」に対して vluue は 「"高野進","44'78","1991"」 4:key 「400メートルハードル」に対して value は「"為末大","47'89",2001"」 5:key 「ハンマー投げ」に対して value は「"室伏広治","84m86","2003"」 これに対応する配列を表すと sports["100メートル"] = ["伊東浩司","10'00","1998"] sports["200メートル"] = ["末次慎吾","20'03","2003"] sports["400メートル"] = ["高野進","44'78","1991"] sports["400メートルハードル"] = ["為末大","47'89","2001"] sports["ハンマー投げ"] = ["室伏広治","84m86","2003"] もう一つの表し方は {"100メートル" =>["伊東浩司","10'00","1998"] ,"200メートル" => ["末次慎吾 ","20'03","2003"] ,"400メートル" =>["高野進","44'78","1991"] ,"400メートルハードル" => ["為末 大","47'89","2001"] "ハンマー投げ"=> ["室伏広治","84m86","2003"]} 2.プログラム問題 Aをやりました。 作成したプログラム #!/usr/koeki/bin/ruby $KCODE = 'e' sports = Hash.new sports["100メートル"] = "伊東浩司さん","10'00","1998" sports["200メートル"] = "末次慎吾さん","20'03","2003" sports["400メートル"] = "高野進さん","44'78","1991" sports["400メートルハードル"] = "為末大さん","47'89","2001" sports["ハンマー投げ"] = "室伏広治さん","84m86","2003" for name , rikujo in sports printf("%sの日本記録保持者は%sです。日本記録は%s でその日本記録を樹立した年は %s年 です。 \n\n",name,rikujo[0],rikujo[1],rikujo[2]) end 実行結果 400メートルの日本記録保持者は高野進さんです。日本記録は44'78 でその日本記録を樹立した年は 1991年 です。 400メートルハードルの日本記録保持者は為末大さんです。日本記録は47'89 でその日本記録を樹立した年は 2001年 です。 ハンマー投げの日本記録保持者は室伏広治さんです。日本記録は84m86 でその日本記録を樹立した年は 2003年 です。 200メートルの日本記録保持者は末次慎吾さんです。日本記録は20'03 でその日本記録を樹立した年は 2003年 です。 100メートルの日本記録保持者は伊東浩司さんです。日本記録は10'00 でその日本記録を樹立した年は 1998年 です。 もとにしたプログラムとの変更点 だいたいはhash_strawrich.rbを参考にしました。内容はkeyとvalueの部分を変え、変 数をsportsにしました。 考察 今回はちゃんと%Sだったら文字を、%dだったら数字を入れるというのが間違いな くできたのでこれでいいと思います。ktermでも表示できてるので。 感想 何とか少しは自分の力で作成することができた。毎週毎週この調子でいきたい。 参考文献 基礎プログラミング II 第 3 回 (情報の構造を分析しよう) 「わらしべ長者」 http://roy/~madoka/2011/prog/hash_strawrich.rb 友達など。