第 3 回 情報の構造を分析しよう レポート課題 氏名:夏井 知恵子 学籍番号:c1101655 語学クラス:英語クラス6 コース:政策マネジメント 1.筆記問題 A.Natsui Chiekoを16進数に変換すると N→Ox4e a→Ox61 t→Ox74 s→Ox73 u→Ox75 i→Ox69 C→Ox43 h→Ox68 i→Ox69 e→Ox65 k→Ox68 o→Ox6f 16進数を10進数に変換すると N→Ox4e Ox4e = 5 * 16 ** 1 + 14(e) * 16**0 = 80 + 14 = 94 したがって Od94 a→Ox61 Ox61 = 6 * 16 + 1 * 16**0 = 96 + 1 = 97 したがって Od97 t→Ox74 Ox74 = 7 * 16**1 + 4 * 16**0 = 112 + 4 = 116 したがって Od116 s→Ox73 Ox73 = 7 * 16**1 + 3 * 16**0 = 112 + 3 = 115 したがって Od115 u→Ox75 0x75 = 7 * 16 ** 1 + 5 * 16 ** 0 = 112 + 5 = 117 したがって 0d117 i→Ox69 0x69 = 6 * 16 ** 1 + 9 * 16 ** 0 = 96 + 9 = 105 したがって 0d105 C→Ox43 Ox43 = 4 * 16**1 + 3 * 16**0 = 74 + 3 = 77 したがって Od77 h→Ox68 0x68 = 6 * 16 ** 1 + 8 * 16 ** 0 = 96 + 8 = 104 したがって 0d104 i→Ox69 0x69 = 6 * 16 ** 1 + 9 * 16 ** 0 = 96 + 9 = 105 したがって 0d105 e→Ox65 Ox65 = 6 * 16**1 + 5 * 16**0 = 96 + 5 = 101 したがって Od101 k→Ox68 Ox68 = 6 * 16**1 + 8 * 16**0 = 96 + 8 =104 したがって Od104 o→Ox6f Ox6f = 6 * 16**1 + 15(f) * 16**0 = 96 +15 = 111 したがって Od111 参考文献 webページ:http://roy.e.koeki-u.ac.jp/~naoya/ruby/9.html 神田直弥 基礎プログラミング I 第9回 16進数・ASCIIコード B. "ここではきものをぬいでください" ここでは きもの をぬいでください (ここでは着物を脱いで下さい) ここで はきもの をぬいでください (ここで履き物を脱いで下さい) "あのおかまでかけていくわよ" あのおかまでかけていくわよ (あのオカマ出かけていくわよ ) あのおかまでかけていくわよ (あの丘まで駆けて行くわよ ) "せんせいがちょうのようにまう" せんせいがちょうのようにまう (先生、がちょうのように舞う) せんせいがちょうのようにまう (先生が蝶のように舞う) 参考文献 webページ: http://ja.wikipedia.org/wiki/%E3%81%8E%E3%81%AA%E3%81%9F%E8%AA%AD%E3%81%BF フリー百科事典 Wikipwdia ぎなた読み C. 花の分類と学名を Hash 配列 flower とした。 flower の key と value はそれぞれ花の名前とその分類、学名をとりました。 その1:key 「アジサイ」に対して valueは「アジサイ科」「アジサイ属」「Hydrangea」 その2:key 「ガーべラ」に対して valueは「キク科」「ガーベラ属」「Gerbera」 その3:key 「ユリ」に対して valueは「ユリ科」「ユリ属」「Lilium」 その4:key 「キキョウ」に対して valueは「キキョウ科」「キキョウ属」「Platycodon grandiflorus」 その5:key 「ハギ」に対して valueは「マメ科」「ハギ属」「Japanese clover」 これに対応する Hash の表し方は "アジサイ" => "アジサイ科" "アジサイ属""Hydrangea", "ガーべラ" => "キク科""ガーベラ属""Gerbera", "ユリ" => "ユリ科""ユリ属""Lilium", "キキョウ" => "キキョウ科""キキョウ属""Platycodon grandiflorus", "ハギ" => "マメ科""ハギ属""Japanese clover", また、もう一つの表し方は flower["アジサイ"] = ["アジサイ科""アジサイ属""Hydrangea"] flower["ガーベラ"] = ["キク科""ガーベラ属""Gerbera"] flower["ユリ"] = ["ユリ科""ユリ属""Lilium"] flower["キキョウ"] = ["キキョウ科""キキョウ属""Platycodon grandiflorus"] flower["ハギ"] = ["マメ科""ハギ属""Japanese clover"] 参考文献: webページ:http://ja.wikipedia.org/wiki/%E8%8A%B1 フリー百科事典ウィキペディア 花 2.プログラム問題 i) 考えた設定 アジサイ、スズラン、コスモス、キンモクセイ、ツバキを市区町村の花として 登録している自治体の数をその数字が少ない順に並べ替えるプログラムを設定した。 ii) 作成したプログラム : B #!/usr/koeki/bin/ruby $KCODE = 'e' #漢字コードをEUCに指定 flower = Hash.new #Hash配列をflowerと設定 flower["アジサイ"] = "アジサイ科","バラ目",23 flower["スズラン"] = "ユリ科","ユリ目",13 flower["コスモス"] = "キク科","キク目",51 flower["キンモクセイ"] = "モクセイ科","ゴマノハグサ目",25 flower["ツバキ"] = "ツバキ科","ツバキ目",58 print("市町村区の花として登録されている数が少ない順\n") flower.keys.sort{ |hana,kazu| flower[hana][2] <=> flower[kazu][2] }.each{ |retail| printf("%sが市町村区の花として登録されている数は%dです。\n", retail, flower[retail][2]) } #16行目から23行目についての説明 #Hashの並べ替え #|並べ替える前の配列の要素を代入する変数,並べ替え後の配列の要素を代入する変数| #hash配列[並べ替え前の key 変数][要素番号]<=>[並べ替え後の key 変数][要素番号] #並べ替えたものを表示 iii) もとにしたプログラムからの変更点 もとにしたプログラムは講義ノート 基礎プログラミング II 第 2 回 「なに なにといえばこれこれ」の「要素の一部分を使って入れ替えをするには」 のペー ジにあるものを参考とした。 数字を含む value を設定し、変数を自分が作ったプログラムに合うように設定 し直した。要素番号も変更した。 iv) プログラムを実行した結果画面 pan{c110165}% ./hash_ary_sort.rb [~/Ruby] 市町村区の花として登録されている数が少ない順 スズランが市町村区の花として登録されている数は13です。 アジサイが市町村区の花として登録されている数は23です。 キンモクセイが市町村区の花として登録されている数は25です。 コスモスが市町村区の花として登録されている数は51です。 ツバキが市町村区の花として登録されている数は58です。 v) 考察 数字が少ない順に並べ替えられているのでこのプログラムは正しいといえる。 vi) 参考文献 http://roy/~madoka/2011/r2/02/r2_02_15_theme_14_sorthasharraycomp.html 西村まどか 基礎プログラミング II 第 2 回 (なになにといえばこれこれ) 「要素の一部分 を使って入れ替えをするには」 3.感想 今回は Hash配列の並べ替えをした。並べ替えるために使う配列の要素の番号を 間違ってしまったため、並べ替えが行われないことがあったが、間違った部分を 修正し、最終的にはプログラムを完成させることができた。 何度も繰り返しの表現がある物語で思いついたのは白雪姫である。 このなかで繰り返しの表現があるのは、仕事から帰ってきた小人たちが自分たちの 家の様子が変わっていること気付いた場面である。  まず、一人目の小人が言いました。 「誰かが、わしのイスに座ったあとがあるぞ」  次に、二番目の小人が言いました。 「誰かが、わしのスープを少し飲んだあとがあるぞ」  三番目の小人が言いました。 「誰かが、わしのパンを少し食べたあとがあるぞ」  四番目の小人が言いました。 「誰かが、わしの野菜を少し食べたあとがあるぞ」  五番目の小人が言いました。 「誰かが、わしのフォークを使ったあとがあるぞ」  六番目の小人が言いました。 「誰かが、わしのナイフを使ったあとがあるぞ」  七番目の小人が言いました。 「誰かが、わしのスプーンを使ったあとがあるぞ」 このなかで 「誰かが、わしのXXXXあとがあるぞ」 という部分と3番目以降の小人に関しては X番目の小人が言いました。 という部分が繰り返されていることがわかる。 このことから何度も繰り返す文章で物語が進む例だと考えられる。 参考文献: http://hukumusume.com/douwa/pc/world/04/23_full.html 「福娘童話集 きょうの世界昔話 白雪姫」