第 3 回 情報の構造を分析しよう レポート課題 氏名:渡辺 龍 学籍番号:c1102057 語学クラス:中国語 3クラス コース(系):地域共創コース 1.筆記問題 A. ASCIIコードで Watanabe Ryu を表す w = 0x57 a = 0x41 t = 0x54 a = 0x41 n = 0x4e a = 0x41 b = 0x42 e = 0x45 r = 0x52 y = 0x59 u = 0x55 B. しごとは らくだ (仕事は楽だ) しごと はらくだ (私語とは楽だ) しごとは らくだ (仕事はラクダ) C. 犬の名前を hash 配列を inu とした。 key は 種類 value は 特徴、寿命、価格とした。 1:key「ポメラニアン」に対して value は「"もこもこ","11","120000"」 2:key「ブルドック」に対して value は「"しわしわ","10","100000"」 3:key「チワワ」に対して value は「"小さい","12","140000"」 4:key「プードル」に対して value は「"くるくる","8","110000"」 5:key「ゴールデンレトリバー」に対して value は「"でかい","9","130000"」 表示1 inu「ポメラニアン」=「"もこもこ","11","120000"」 inu「ブルドック」=「"しわしわ","10","100000"」 inu「チワワ」=「"小さい","12","140000"」 inu「プードル」=「"くるくる","8","110000"」 inu「ゴールデンレトリバー」=「"でかい","9","130000"」 表示2 「ポメラニアン」=「"もこもこ","11","120000"」、「ブルドック」=「"しわし わ","10","100000"」、「チワワ」=「"小さい","12","140000"」、「プードル」 =「"くるくる","8","110000"」、「ゴールデンレトリバー」=「"でかい","9","130000"」 2.プログラム問題 a.1 考えた設定 特徴、値段、寿命が全て出るようにする。 a.2 プログラム #!/usr/koeki/bin/ruby $KCODE = 'e' #日本語コードで出力 inu = Hash.new #Hash配列 inu ["ポメラニアン"]= "もこもこ","11","120000" inu ["ブルドック"]= "しわしわ","10","100000" inu ["チワワ"]= "小さい","12","140000" inu ["プードル"]= "くるくる","8","110000" inu ["ゴールデンレトリバー"]= "でかい","9","130000" for tokutyou , okane in inu #Hash の項目を一覧表とするため printf("「%s」は [%s] した犬です。 寿命は %d 年です。 値段は %d 円です。\n\n",tokutyou,okane[0],okane[1],okane[2]) end a.3 実行結果 pan{c110205}% ./hash_ary_print.rb [~/Ruby] 「ポメラニアン」は [もこもこ] した犬です。 寿命は 11 年です。 値段は 120000 円です。 「プードル」は [くるくる] した犬です。 寿命は 8 年です。 値段は 110000 円です。 「ブルドック」は [しわしわ] した犬です。 寿命は 10 年です。 値段は 100000 円です。 「チワワ」は [小さい] した犬です。 寿命は 12 年です。 値段は 140000 円です。 「ゴールデンレトリバー」は [でかい] した犬です。 寿命は 9 年です。 値段は 130000 円です。 a.4 考察 特徴、値段、寿命など全て正しく出たため、このプログラムは正しい。 b.1 考えた設定 価格の安い順番に並ぶプログラム b.2 プログラム #!/usr/koeki/bin/ruby $KCODE = 'e' #日本語コードを出力するため inu = Hash.new #Hash 配列 inu ["ポメラニアン"]= "もこもこ","11","120000" inu ["ブルドック"]= "しわしわ","10","100000" inu ["チワワ"]= "小さい","12","140000" inu ["プードル"]= "くるくる","8","110000" inu ["ゴールデンレトリバー"]= "でかい","9","130000" inu.keys.sort{|a,b| inu[a][2]<=> inu[b][2]}.each{|nedan| printf("「%s」の価格は %d 円です。\n",nedan,inu[nedan][2])} # 配列やsort を使用し価格の位置関係の変動が可能に b.3 実行結果 pan{c110205}% ./hash_ary_sort.rb [~/Ruby] 「ブルドック」の価格は 100000 円です。 「プードル」の価格は 110000 円です。 「ポメラニアン」の価格は 120000 円です。 「ゴールデンレトリバー」の価格は 130000 円です。 「チワワ」の価格は 140000 円です。 b.4 考察 価格の安い順に並んだのでこのプログラムは正しいといえる。 3.今回のレポートで学んだこと 配列など忘れてしまっていることが多く、復習の大切さを改めて理解した。 4.感想 今回は公翔祭の実行委員の仕事と重なってしまい、難しい問題に挑戦出来なかっ た。次回の講義は今回の分も含め頑張りたい。 5.何度も繰り返す昔話 大きなカブ カブをみつける → 抜こうとする 抜こうとする → 抜けない 抜けない → 人を呼ぶ 人を呼ぶ → 皆で抜こうとする 皆で抜こうとする → カブが抜ける カブが抜ける → ハッピーエンド 6.参考文献 西村先生のページ なになにといえばこれこれ http://roy/~madoka/2010/r2/02/ 情報の構造を分析しよう http://roy/~madoka/2010/r2/03/