石川 拓 c1110105 英語1 政策マネジメントコース 1.筆記問題 A,0bは2進数、0xは16進数、0dは10進数を表す。 まず、自分の誕生日が、1992年10月12日であるので、 19 + 92 + 10 + 12 = 133 次に、 0d121 = 0b??を変換するには、2ずつ割っていき、最後の数と、余った数 を後ろから順に並べて行く。 2)133 2)66 1 2)33 0 2)16 1 2)8 0 2)4 0 2)2 0 1 よって、答えは、0d102 = 0b1000101となる。 今pan{c111010}度は、0d121 = 0x??を変換する。10進数を16進数に変換するに は、最初 2進数に変換し、その変換した数を、 右から4桁ずつに区切り、16進数に当てはめる。 2進数の数が、1000101となったので、右から4桁ずつ区切ると、 100 = 4 0101 = 5 となる。 よって、0d121 = 0x45となる。 B. 19+92+10+12 として計算する。 Aの(2)と同様にして計算する。 0d19 2)19 2)9 1 2)4 1 2)2 0 2)1 0 0d=0b10011 0d92 2)92 2)46 0 2)23 0 2)11 1 2)5 1 2)2 1 2)1 0 0d=0b1011100 0d10 2)10 2)5 0 2)2 1 1 0 0d=0b1010 0d12 2)12 2)6 0 2)3 0 2)1 1 1 0 0d=0b10100 次に、上から順に16進数に直す。 10011 は 0001 0011 になり 1 3 そのため、0d19=0x13 1011100 は 0101 1100 になり 5 c そのため、0d92=0x5c 1010 は aとなり、よって、0d10=0xa 10100 は 0001 0100 になり 1 4 そのため、0d12=0x14 したがって、19+92+10+12 を16進数のまま計算すると 0x13 + 0x5c + 0xa + 0x14 = 4 + 17 + 10 + 14 = 21 + 24 = 45 C. 標準エラー出力でprintfを実行するために行う。 2.プログラム問題 今回は、力士の名前と、所属部屋と、出身国を書き検索を行ないました。 (1)データファイルを張りつけた。/data_c111010.dat 力士 白鵬 宮城野部屋 モンゴル 横綱 力士 把瑠都 尾上部屋 エストニア 大関 力士 稀勢の里 鳴戸部屋 日本 大関 力士 日馬富士 伊勢ヶ濱部屋 モンゴル 大関 力士 豪栄道 境川部屋 日本 関脇 力士 豊ノ島 時津風部屋 日本 関脇 力士 碧山 春日野部屋 ブルガリア 前頭 力士 千代大龍 九重部屋 日本 前頭 力士 臥牙丸 木瀬部屋 グルジア 前頭 力士 栃乃若 春日野部屋 日本 前頭 力士 豪風 尾車部屋 日本 前頭 力士 翔天狼 藤嶌部屋 モンゴル 前頭 力士 大道 阿武松部屋 日本 前頭 力士 安美錦 伊勢ヶ濱部屋 日本 小結 力士 栃ノ心 春日野部屋 グルジア 前頭 力士 魁聖 友綱部屋 ブラジル 前頭 力士 若の里 鳴戸部屋 日本 前頭 力士 北太樹 北の湖部屋 日本 前頭 力士 玉鷲 片男波部屋 日本 前頭 力士 旭天鵬 友綱部屋 モンゴル 前頭 (2) どのように、分類したか。 力士が土俵に登場する際に、一人一人アナウンスで、名前、所属部屋、 出身地、番付が紹介されるため、どんな人がいて、どのような部屋に 所属しているかなどを、検索してみた。 (3)分類に使ったパターン A.egrep "力士" data_c111010.datを実行する。実行した予想は、全力士が 検索されると考える。 B.egrep "旭天鵬" data_c111010.datを実行する。実行した予想は、旭天鵬の みが検索されると考えられる。 C.egrep "[ノ]" data_c111010.datを実行する。実行した予想は、豊ノ島と 栃ノ心が検索されると考える。 D.egrep "春日野部屋" data_c111010.datを実行する。実行した予想は、碧山 と栃乃若と栃ノ心が検索されると考える。 E.egrep "大関" data_c111010_.datを実行する。実行した予想は、把瑠都と 稀勢の里と日馬富士が検索されると考える。 F.egrep "脇$" data_c111010_.datを実行する。実行した予想は、豪栄道と豊 ノ島が検索されると考える。 (4)実行した結果 A. pan{c111010}% egrep "力士" data_c111010.dat [~/Ruby] 力士 白鵬 宮城野部屋 モンゴル 横綱 力士 把瑠都 尾上部屋 エストニア 大関 力士 稀勢の里 鳴戸部屋 日本 大関 力士 日馬富士 伊勢ヶ濱部屋 モンゴル 大関 力士 豪栄道 境川部屋 日本 関脇 力士 豊ノ島 時津風部屋 日本 関脇 力士 碧山 春日野部屋 ブルガリア 前頭 力士 千代大龍 九重部屋 日本 前頭 力士 臥牙丸 木瀬部屋 グルジア 前頭 力士 栃乃若 春日野部屋 日本 前頭 力士 豪風 尾車部屋 日本 前頭 力士 翔天狼 藤嶌部屋 モンゴル 前頭 力士 大道 阿武松部屋 日本 前頭 力士 安美錦 伊勢ヶ濱部屋 日本 小結 力士 栃ノ心 春日野部屋 グルジア 前頭 力士 魁聖 友綱部屋 ブラジル 前頭 力士 若の里 鳴戸部屋 日本 前頭 力士 北太樹 北の湖部屋 日本 前頭 力士 玉鷲 片男波部屋 日本 前頭 力士 旭天鵬 友綱部屋 モンゴル 前頭 B. pan{c111010}& egrep "旭天鵬" data_c111010.dat [~/Ruby] 力士 旭天鵬 友綱部屋 モンゴル 前頭 C. pan{c111010}% egrep "[ノ]" data_c111010.dat [~/Ruby] 力士 豊ノ島 時津風部屋 日本 関脇 力士 栃ノ心 春日野部屋 グルジア 前頭 D. pan{c111010}% egrep "春日野部屋" data_c111010.dat [~/Ruby] 力士 碧山 春日野部屋 ブルガリア 前頭 力士 栃乃若 春日野部屋 日本 前頭 力士 栃ノ心 春日野部屋 グルジア 前頭 E. pan{c111010}% egrep "大関" data_c111010.dat [~/Ruby] 力士 把瑠都 尾上部屋 エストニア 大関 力士 稀勢の里 鳴戸部屋 日本 大関 力士 日馬富士 伊勢ヶ濱部屋 モンゴル 大関 F. pan{c111010}% egrep "脇$" data_c111010.dat [~/Ruby] 力士 豪栄道 境川部屋 日本 関脇 力士 豊ノ島 時津風部屋 日本 関脇 (5)実行した結果の考察 A.自分が予想した通り、全力士が検索されたので、このプログラムは、正しく 動いたと判明した。 B.自分が予想した通り、旭天鵬が検索されたが、この時点では、正しく検索され たかわからないので、egrep "安美錦" data_c111010.datを実行し、安美錦 が検索されるか、確かめてみる。 pan{c111010}% egrep "安美錦" data_c111010.dat [~/Ruby] 力士 安美錦 伊勢ヶ濱部屋 日本 小結 実行した結果、安美錦が検索されたので、このプログラムは正しく検索され たと判明した。 C.自分が予想した通り、豊ノ島と栃ノ心が検索されたが、この時点では、正 しく検索されたかわからないので、egrep "[里]" data_c111010.datを実行し、 稀勢の里と若の里が検索されるか、確かめてみる。 pan{c111010}% egrep "[里]" data_c111010.dat [~/Ruby] 力士 稀勢の里 鳴戸部屋 日本 大関 力士 若の里 鳴戸部屋 日本 前頭 実行した結果、稀勢の里と若の里が検索されたので、このプログラムは正し く検索されると判明した。 D.自分が予想した通り、碧山と栃乃若と栃ノ心が検索されたが、この時点で は、正しく検索されたかわからないので、egrep "境川部屋" data_c111010.dat を実行し、豪栄道が検索されるか、確かめてみる。 pan{c111010}% egrep "境川部屋" data_c111010.dat [~/Ruby] 力士 豪栄道 境川部屋 日本 関脇 実行した結果、豪栄道が検索されたので、このプログラムは正しく検索され ると判明した。 E.自分が予想した通り、把瑠都と稀勢の里と日馬富士が検索されたが、この 時点では、正しく検索されたかわからないので、egrep "横綱" data_c111010.dat を実行し、白鵬が検索されるか、確かめてみる。 pan{c111010}% egrep "横綱" data_c111010.dat [~/Ruby] 力士 白鵬 宮城野部屋 モンゴル 横綱 実行した結果、白鵬が検索されたので、このプログラムは正しく検索される と判明した。 F.自分が予想した通り、豪栄道と豊ノ島が検索されたが、この時点では、正 しく検索されたかわからないので、egrep "結$" data_c111010.datを実行し、 安美錦が検索されるか、確かめてみる。 pan{c111010}% egrep "結$" data_c111010.dat [~/Ruby] 力士 安美錦 伊勢ヶ濱部屋 日本 小結 実行した結果、安美錦が検索されたので、このプログラムは正しく検索さ れると判明した。 3.今回のプログラミングは、講義を聞いていてとても難しいと感じました。実際 に課題をしてみると、慣れてくるうちに、やり方がわかってくるようになりまし た。特に、プログラム問題は、とても時間がかかり大変でしたが、なんとか提出 まで終わすことができました。 4. 引用文献 西村まどか先生のページ 基礎プログラミング I 第 6 回 (正規表現と検索) 「正規表現の例」 http://roy/~madoka/2012/r1/06/r1_06_09_theme_07_regexp.htm 講義ノート roy/~madoka/2012/r1/06/lec/resume.html 日本相撲協会公式サイト http://sumo.goo.ne.jp/hon_basho/banzuke/ban_1.html 協力してくれた友だち 佐々木勇汰、 千葉龍太郎、