第 2 回 なになにといえばこれこれ レポート課題 氏名:小林愛実 学籍番号:c1100816 語学クラス:英語6 コース(系):政策マネジメント 1、 A 英単語を hash 配列 english としました。 english の key と value はそれぞれ英単語とその日本語訳にとりました。 その1: key 「apple」 に対して value は 「りんご」 その2: key 「animal」 に対して value は 「動物」 その3: key 「star」 に対して value は 「星」 その4: key 「life」 に対して value は 「生活」 その5: key 「flower」 に対して value は 「花」 これに対応する Hash の表し方は english["apple"] = "りんご" english["animal"] = "動物" english["star"] = "星" english["life"] = "生活" english["flower"] = "花" また、もう一つの表し方は {"apple" => "りんご","animal" => "動物","star" => "星","life" => "生活","flower" => "花"} B a. 0d 2010 = 0x ?? 16) 2010 10 = a ------ 16) 125 13 = d ------ 7 = 7 答え、0d 2010 = 0x 7da b. 0d 2010 = 0b ?? 2) 2010 0 ----- 2) 1005 1 ----- 2) 502 0 ----- 2) 251 1 ----- 2) 125 1 ----- 2) 62 0 ----- 2) 31 1 ----- 2) 15 1 ----- 2) 7 1 ----- 2) 3 1 ----- 1 11111011010 答え、0d 2010 = 0b 11111011010 2進数0b11111011010を16進数に変換すると、 0111/1101/1010 0111 = 7 1101 = 13 = d 0101 = 10 = a 答え、 0x7da よって、これは1 問目と同じ答えになる。 参考文献 神田直弥 16進数・ASCIIコード http://roy/~naoya/ruby/9.html 2、 B a, 考えた設定 ユーザが知りたい情報だけを結果表示する hash_choice.rb を考えた。 ユーザが選択肢の英単語を入力すると、その単語の日本語訳わ表示される。 b, 作成したプログラム #!/usr/koeki/bin/ruby $KCODE ='e' #日本語コードで出力する item = Hash.new("選択肢にありません。\n") #Hash配列をitemと定義する item["apple"] = "りんご" item["animal"] = "動物" item["star"] = "星" item["life"] = "生活" item["flower"] = "花" #p item print("[apple animal star life flower]\n") #入力されたい選択肢を表示 STDERR.print("知りたい英単語を入力:") #STDERR.printは入力を促す文章 answer = gets.chomp #入力された文字をanswerとして読み込む if item.key?(answer) == false #入力したanswerがitemにあるかどうか調べる printf("%s は%s\n",answer,item[answer]) #入力した文字がない場合 else printf("%s の日本語訳は %s です。\n", answer,item[answer]) #入力した文字がある場合 end c, 変更点 授業中に作成したhash_item.rbを参考にした。 customerをanswerに変更した。 d, プログラムを実行した結果 選択肢にある文字を入力した場合 pan{c110081}% ./hash_choice.rb [~/Ruby] [apple animal star life flower] 知りたい英単語を入力:apple apple の日本語訳は りんご です。 選択肢に無い文字を入力した場合 pan{c110081}% ./hash_choice.rb [~/Ruby] [apple animal star life flower] 知りたい英単語を入力:aple aple は選択肢にありません。 e,考察 選択肢の中にある文字を入力すると、対のデータが表示される。 また、選択肢の中にある文字以外を入力すると、対のデータが表示されないため、 このプログラムは正しいと考える。 f,参考文献 西村 まどか 基礎プログラミング II 第 2 回 「なになにといえばこれこれ」 http://roy/~madoka/2011/r2/02/ 神田直弥 ハッシュ[1] http://roy/~naoya/rubyII/3.html 3、 実際に使われているものは、ゲームのプログラムだと思いました。 今回の課題は新しいことだったので、たくさん学ぶことがあり大変でした。 始めはHashの意味さえ、よくわからなかったのですが、実際にプログラムで使用 していくうちに理解することができました。 C以降は難しく、作成してもプログラムがうまく作動しなかったので、あきらめてしま いました。今度は、他の人のプログラムを見て、よく理解した上で、また挑戦してみよ うと思いました。 東北公益文化大学 公益学部 公益学科 2年 小林愛実 c110081f.koeki-u.ac.jp