第 3 回 情報の構造を分析しよう レポート課題 氏 名: 本間 紘司 学籍番号: C1101796 語学クラス: 中国語 コース(系): 社会福祉コース 1.筆記問題 A.自分の名前をアルファベットに直すと "Koji Honma"となる ここで活用するのがASCIIコード表である。活用した結果、 ~16進数~ K 0x4b o 0x6f j 0x6a i 0x69 H 0x48 o 0x6f n 0x6e m 0x6d a 0x61 となる。 #これは16進数の場合である ここで、問題にもあった10進数に直すには桁数分の16をかける。 上記は2桁しかないため以下は 16*◯ 1*◯と限られるようになる K 0x4b 16*4+1*11=64+11=75 o 0x6f 16*6+1*15=96+15=111 j 0x6a 16*6+1*10=96+10=106 i 0x69 16*6+1*9=96+9=105 H 0x48 16*4+1*8=64+8=72 o 0x6f 16*6+1*15=96+15=111 n 0x6e 16*6+1*14=96+14=110 m 0x6d 16*6+1*13=96+13=109 a 0x61 16*6+1*1=96+1=97 ~結果~ ~10進数~ K Od75 o Od111 j Od106 i Od105 H Od72 o Od111 n Od106 m 0d109 a Od97 となる #これは10進数の場合 参考文献 神田先生 基礎プログラミングI 16進数・ASCIIコード http://roy/~naoya/ruby/9.html ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー B. "きょうはかいにいく"(4例) ・きょう はかい にいく (今日破壊に行く) ・きょう は かいにいく (今日は買いに行く) ・きょうは かい にいく (今日は下位にいく) ・きょうは かい にいく (今日は会に行く) 参考文献: なし ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー C.山形県の各市町村の基本データを hash 配列 yamagata とした。 yamagata の key と value は市町村名,面積[平方キロメートル],総人口[人], 特産品とした。 1:key 「酒田市」 に対して value は 「60279,111170,莊内麩」 2:key 「村山市」 に対して value は 「19683,26820,葉山そば」 3:key 「鶴岡市」 に対して value は 「13115,136627,温海かぶ」 4:key 「尾花沢市」に対して value は 「37232,18558,ガラス工芸」 5:key 「米沢市」 に対して value は 「54874,88957,米沢牛」 上記を hash 配列で表すと、 yamagata["酒田市"] = 60279,111170,"莊内麩" yamagata["村山市"」= 19683,26820,"葉山そば" yamagata["鶴岡市"」= 13115,136627,"温海かぶ" yamagata["尾花沢市"] = 37232,18558,"ガラス工芸" yamagata["米沢市"] = 54874,88957,"米沢牛" ~もう一つの表し方~ {"尾花沢市"=>[37232, 18558, "ガラス工芸"], "村山市"=>[19683, 26820, "葉山そば"], "鶴岡市"=>[13115, 136627, "温海かぶ"], "酒田市"=>[60279, 111170, "莊内麩"], "米沢市"=>[54874, 88957, "米沢牛"]} 参考文献:前回のレポート課題 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 2. プログラム問題 A i.考えた設定 あらかじめプログラムに登録してある対を表示するプログラム。 ii.作成したプログラム (hash_ary_print.rb) !/usr/koeki/bin/ruby $KCODE = 'e' #日本語コードで出力する yamagata = Hash.new yamagata["酒田市"] = 60279,111170,"莊内麩" yamagata["村山市"]= 19683,26820,"葉山そば" yamagata["鶴岡市"]= 13115,136627,"温海かぶ" yamagata["尾花沢市"] = 37232,18558,"ガラス工芸" yamagata["米沢市"] = 54874,88957,"米沢牛" for ken,si in yamagata #for キー名 in ハッシュ配列名 printf("%sの面積は%d(平方キロメートル),総人口は%d(人)、特産品は%sです。\n",ken,si[0],si[1],si[2]) end iii.もとにしたプログラムからの変更点 (hash_for.rb)のプログラムを参考にした。 valueのデータが多いため要素の数[0],[1],[2]と付け足して、結果が正常に表示されるよう にした。 iv.プログラムの実行結果 尾花沢市の面積は37232(平方キロメートル),総人口は18558(人)、特産品はガラス工芸です。 村山市の面積は19683(平方キロメートル),総人口は26820(人)、特産品は葉山そばです。 鶴岡市の面積は13115(平方キロメートル),総人口は136627(人)、特産品は温海かぶです。 酒田市の面積は60279(平方キロメートル),総人口は111170(人)、特産品は莊内麩です。 米沢市の面積は54874(平方キロメートル),総人口は88957(人)、特産品は米沢牛です。 v.考察 プログラムの内容と合致した表示がされているため成功といえる。 vi. 参考文献 西村先生 基礎プログラミングII 第 3 回 三段論法 (hash_socrates.rb) http://roy/~madoka/2011/r2/03/r2_03_07_theme_02_socrates.html ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 3.感想 今回のプログラムはAだけで挫折してしまって恥ずかしい… その分レポートの見やすさを調整してみた。もっと見やすく書きたい。 来週のプログラムは前回同様にBまでには進めることを最低条件にしたい。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー