第6回 基礎プログラミング I レポート課題 氏名:佐竹聡美 学籍番号:c1090816 語学クラス:英語1 コース:社会福祉 _____________________________________________________________________ 1、筆記問題 A、私の誕生日は、1990年6月21日である。 1990年→0d19、0d90 6月→0d06 21日→0d21 となる。 まず、2進数に変換する。 0d19 ÷ 2 = 9 あまり 1 9 ÷ 2 = 4 あまり 1 4 ÷ 2 = 2 あまり 0 2 ÷ 2 = 1 あまり 0 1 ÷ 2 = 0 あまり 1 よって、10011 0d19 = 0b10011 0d90 ÷ 2 = 45 あまり 0 45 ÷ 2 = 22 あまり 1 22 ÷ 2 = 11 あまり 0 11 ÷ 2 = 5 あまり 1 5 ÷ 2 = 2 あまり 1 2 ÷ 2 = 1 あまり 0 1 ÷ 2 = 0 あまり 1 よって、1011010 0d90 = 0b1011010 0d06 ÷ 2 = 3 あまり 0 3 ÷ 2 = 1 あまり 1 1 ÷ 2 = 0 あまり 1 よって、110 0d06 = 0b110 0d21 ÷ 2 = 10 あまり 1 10 ÷ 2 = 5 あまり 0 5 ÷ 2 = 2 あまり 1 2 ÷ 2 = 1 あまり 0 1 ÷ 2 = 0 あまり 1 よって、10101 0d21 = 0b10101 10進数から2進数へ変換した結果は、 0d19=0b10011、0d90=0b1011010、0d06=0b110、0d21=0b10101 次に16進数に変換する。この際変換した2進数を使う。 0b10011…0001、0011 0001→1 0011→3 よって、0x13 0b1011010…0101、1010 0101→5 1010→a よって、0x5a 0b110…0110 0110→6 よって、0x6 0b10101…0001、0101 0001→1 0101→5 よって、0x15 ゆえにまとめると、 1990年 0d19=0b10011=0x13 0d90=0b1011010=0x5a 6月21日 0d06=0b110=0x6 0d21=0b10101=0x15 ________________________________________________________________________ B、 私の名前は 「佐竹聡美」 でアルファベットで 「SATAKE SATOMI」となる。前回 学んだASCIIコード表を参考に調べた。 S=0x53 A=0x41 T=0x54 A=0x41 K=0x4b E=0x45 S=0x53 A=0x41 T=0x54 O=0x4f M=0x4d I=0x49 という結果になった。 ________________________________________________________________________ 2、プログラム問題 a、作成したデータの内容 私はソフトボールが好きなので2008年に行なわれた、北京オリンピックの女子ソ フトボールのメンバーを名前、読み方、ローマ字読み、ポジション(投手、捕手、 内野手、外野手、その他)、所属先の5種類をデータ化した。 b、作ったデータ #名前 #読み方 #ローマ字読み #ポジション #所属先 井川英福 いがわひでふくigawahidefuku チームリーダー トヨタ自動車株式会社 斎藤春香 さいとうはるかsaitoharuka 監督 株式会社日立製作所ソフトウェア事業部 浦野光史 うらのこうじ uranokouji コーチ 財団法人日本ソフトボール協会 田本博子 たもとひろこ tamotohiroko コーチ 株式会社日立製作所ソフトウェア事業部 篠崎仁美 しのざきひとみshinozakihitomiトレーナー 株式会社日立製作所ソフトウェア事業部 亀田悦子 かめたえつこ kametaetsuko 総務 株式会社日立製作所ソフトウェア事業部 上野由岐子 うえのゆきこ uenoyukiko 投手 株式会社ルネサステクノロジ 江本菜穂 えもとなほ emotonaho 投手 株式会社豊田自動織機 坂井寛子 さかいひろこ sakaihiroko 投手 太陽誘電株式会社 染谷美佳 そめやみか someyamika 投手 株式会社デンソー 乾絵美 いぬいえみ inuiemi 捕手 株式会社ルネサステクノロジ 峯幸代 みねゆきよ mineyukiyo 捕手 株式会社ルネサステクノロジ 伊藤幸子 いとうさちこ itosatiko 内野手 トヨタ自動車株式会社 佐藤理恵 さとうりえ satorie 内野手 株式会社レオパレス21 藤本索子 ふじもともとこfujimotomotok 内野手 株式会社レオパレス21 西山麗 にしやまれい nishiyamarei 内野手 株式会社日立製作所ソフトウェア事業部 廣瀬芽 ひろせまぐ hirosemagu 内野手 太陽誘電株式会社 三科真澄 みしなますみ mishinamasumi 内野手 株式会社ルネサステクノロジ 狩野亜由美 かりのあゆみ karinoayumi 外野手 株式会社豊田自動織機 馬渕智子 まぶちさとこ mabuchisatoko 外野手 株式会社日立製作所ソフトウェア事業所 山田恵里 やまだえり yamafaeri 外野手 株式会社日立製作所ソフトウェア事業所 d、検索 (ア) .(priod)任意の一文字の候補を取りだすを使って候補を取りだす。 egrep"sa.o"data06.dat を実行する。予想は、メンバーの名前の内、佐藤が検索される。 <実行結果> pan{c109081}% egrep "sa.o" date06.dat [~/Ruby] 佐藤理恵 さとうりえ satorie 内野手 株式会社レオパレス21 馬渕智子 まぶちさとこ mabuchisatoko 外野手 株式会社日立製作 所ソフトウェア事業所 <考察> 佐藤理恵は名字がsatoで馬渕智子は名前がsatokoということで名前からも名字か らも検索されることが分かった。 (イ) ?(question mark)直前の文字が0または1回出現し、直前の文字は記号も可にな る。 egrep"株式?会社" date06.dat を実行する。予想は株式会社が入っているのが検索される。 <実行結果> pan{c109081}% egrep "株式?会社" date06.dat [~/Ruby] 井川英福 いがわひでふくigawahidefuku チームリーダー トヨタ自動車株式会社 斎藤春香 さいとうはるかsaitoharuka 監督 株式会社日立製作所ソフトウェア事業部 田本博子 たもとひろこ tamotohiroko コーチ 株式会社日立製作所ソフトウェア事業部 篠崎仁美 しのざきひとみshinozakihitomiトレーナー 株式会社日立製作所ソフトウェア事業部 亀田悦子 かめたえつこ kametaetsuko 総務 株式会社日立製作所ソフトウェア事業部 上野由岐子 うえのゆきこ uenoyukiko 投手 株式会社ルネサステクノロジ 江本菜穂 えもとなほ emotonaho 投手 株式会社豊田自動織機 坂井寛子 さかいひろこ sakaihiroko 投手 太陽誘電株式会社 染谷美佳 そめやみか someyamika 投手 株式会社デンソー 乾絵美 いぬいえみ inuiemi 捕手 株式会社ルネサステクノロジ 峯幸代 みねゆきよ mineyukiyo 捕手 株式会社ルネサステクノロジ 伊藤幸子 いとうさちこ itosatiko 内野手 トヨタ自動車株式会社 佐藤理恵 さとうりえ satorie 内野手 株式会社レオパレス21 藤本索子 ふじもともとこfujimotomotok 内野手 株式会社レオパレス21 西山麗 にしやまれい nishiyamarei 内野手 株式会社日立製作所ソフトウェア事業部 廣瀬芽 ひろせまぐ hirosemagu 内野手 太陽誘電株式会社 三科真澄 みしなますみ mishinamasumi 内野手 株式会社ルネサステクノロジ 狩野亜由美 かりのあゆみ karinoayumi 外野手 株式会社豊田自動織機 馬渕智子 まぶちさとこ mabuchisatoko 外野手 株式会社日立製作所ソフトウェア事業所 山田恵里 やまだえり yamafaeri 外野手 株式会社日立製作所ソフトウェア事業所 <考察> 株式会社が先頭にあっても、最後にあっても"株式会社"が含まれているのは検索 された。 (ウ) *(asterisk)出現は何回でもよい場合になる。 egrep"投*手"date06.dat を実行する。予想は"投"と"手"の含まれているのが検索される。 <実行結果> pan{c109081}% egrep "投*手" date06.dat [~/Ruby] 上野由岐子 うえのゆきこ uenoyukiko 投手 株式会社ルネサステクノロジ 江本菜穂 えもとなほ emotonaho 投手 株式会社豊田自動織機 坂井寛子 さかいひろこ sakaihiroko 投手 太陽誘電株式会社 染谷美佳 そめやみか someyamika 投手 株式会社デンソー 乾絵美 いぬいえみ inuiemi 捕手 株式会社ルネサステクノロジ 峯幸代 みねゆきよ mineyukiyo 捕手 株式会社ルネサステクノロジ 伊藤幸子 いとうさちこ itosatiko 内野手 トヨタ自動車株式会社 佐藤理恵 さとうりえ satorie 内野手 株式会社レオパレス21 藤本索子 ふじもともとこfujimotomotok 内野手 株式会社レオパレス21 西山麗 にしやまれい nishiyamarei 内野手 株式会社日立製作所ソフトウェア事業部 廣瀬芽 ひろせまぐ hirosemagu 内野手 太陽誘電株式会社 三科真澄 みしなますみ mishinamasumi 内野手 株式会社ルネサステクノロジ 狩野亜由美 かりのあゆみ karinoayumi 外野手 株式会社豊田自動織機 馬渕智子 まぶちさとこ mabuchisatoko 外野手 株式会社日立製作所ソフトウェア事業所 山田恵里 やまだえり yamafaeri 外野手 株式会社日立製作所ソフトウェア事業所 <考察> 投と手の含まれている投手と、手の含まれている捕手、内野手、外野手が検索さ れた。 (エ) +(plus)直前の文字が出現しなければならず、その出現は何回でもよい場合にな る。 egrep"投+手"date06.date を実行する。予想は"投"と"手"が含まれているのしか検索されない。 <実行結果> pan{c109081}% egrep "投+手" date06.dat [~/Ruby] 上野由岐子 うえのゆきこ uenoyukiko 投手 株式会社ルネサステクノロジ 江本菜穂 えもとなほ emotonaho 投手 株式会社豊田自動織機 坂井寛子 さかいひろこ sakaihiroko 投手 太陽誘電株式会社 染谷美佳 そめやみか someyamika 投手 株式会社デンソー <考察> 投手4人だけが検索された。 (オ) ^(caret)先頭の文字列のみ探して調べる。 egrep"^井"egrep06.date を実行する。予想は先頭に"井"があるのが検索される。 <実行結果> pan{c109081}% egrep "^井" date06.dat [~/Ruby] 井川英福 いがわひでふくigawahidefuku チームリーダー トヨタ自動車株式会社 <考察> 先頭の文字列が同じ人がいなかったために井川しか検索されなかった。 (カ) $(dollar)末尾の文字列のみ探して調べる。 egrep"部"date06.dat を実行する。予想は"部"の含まれているのが検索される。 <実行結果>pan{c109081}% egrep "部" date06.dat [~/Ruby] 斎藤春香 さいとうはるかsaitoharuka 監督 株式会社日立製作所ソフトウェア事業部 田本博子 たもとひろこ tamotohiroko コーチ 株式会社日立製作所ソフトウェア事業部 篠崎仁美 しのざきひとみshinozakihitomiトレーナー 株式会社日立製作所ソフトウェア事業部 亀田悦子 かめたえつこ kametaetsuko 総務 株式会社日立製作所ソフトウェア事業部 西山麗 にしやまれい nishiyamarei 内野手 株式会社日立製作所ソフトウェア事業部 <考察> "部"の含まれていた株式会社日立製作所ソフトウェア事業部が検索された。 (キ) |(vertical lineまたはパイプ)「または」の意味になる。 egrep"to|ko"date06.dat を実行する。名前に"to"と"ko"があるのが検索される。 <実行結果> pan{c109081}% egrep "to|ko" date06.dat [~/Ruby] 斎藤春香 さいとうはるかsaitoharuka 監督 株式会社日立製作所ソフトウェア事業部 浦野光史 うらのこうじ uranokouji コーチ 財団法人日本ソフトボール協会 田本博子 たもとひろこ tamotohiroko コーチ 株式会社日立製作所ソフトウェア事業部 篠崎仁美 しのざきひとみshinozakihitomiトレーナー 株式会社日立製作所ソフトウェア事業部 亀田悦子 かめたえつこ kametaetsuko 総務 株式会社日立製作所ソフトウェア事業部 上野由岐子 うえのゆきこ uenoyukiko 投手 株式会社ルネサステクノロジ 江本菜穂 えもとなほ emotonaho 投手 株式会社豊田自動織機 坂井寛子 さかいひろこ sakaihiroko 投手 太陽誘電株式会社 伊藤幸子 いとうさちこ itosatiko 内野手 トヨタ自動車株式会社 佐藤理恵 さとうりえ satorie 内野手 株式会社レオパレス21 藤本索子 ふじもともとこfujimotomotok 内野手 株式会社レオパレス21 馬渕智子 まぶちさとこ mabuchisatoko 外野手 株式会社日立製作所ソフトウェア事業所 <考察> 藤という字の"to"が検索されると思ったがローマ字で"to"と含まれているのも検 索された。"ko"も同じく子というのが検索されると思ったが光史(kouji)も検索 された。 (ク) ( )(parenthesis)( )内で括られた条件を先に探す。 egrep"(yuki)y"date06.dat を実行する。yukiyoである峯幸代が検索される。また、 egrep"(yuki)k"date06.dat を実行すると、yukikoである上野由岐子が検索される。 <実行結果> pan{c109081}% egrep "(yuki)y" date06.dat [~/Ruby] 峯幸代 みねゆきよ mineyukiyo 捕手 株式会社ルネサステクノロジ pan{c109081}% egrep "(yuki)k" date06.dat [~/Ruby] 上野由岐子 うえのゆきこ uenoyukiko 投手 株式会社ルネサステクノロジ <考察> 峯幸代と上野由岐子が検索された。 e、利用した正規表現以外のまとめ 利用した正規表現はDの中でまとめているため、それ以外のをまとめた。 ・「 」(braket) 「 」で括られた文字のどれかが一致するものを取りだす。 ・[文字1−文字2](braket) (文字1)から(文字2)の範囲の1文字を全て取りだす。 ・[^(文字1)−(文字2)] (文字1)−(文字2)の範囲以外の1文字を取りだす。 気付いたこと… ローマ字表現だとつながっている文字まで検索されてしまうこともあった。先頭 の文字、末尾の文字を検索するのは検索するものによって文字が同じで検索して も全て同じ結果になることもあった。 _________________________________________________________________________ 3、感想 今回プログラムの題材を自分の好きなソフトボールにしたためにプログラム作成 は楽しかった。しかし、レポートの体裁で自分の出したい結果をだすためにどの 検索方法どのように使ったらいいのか分からず苦戦した。でも、友達に助けても らい仕上げることが出来た。次はもっと見やすいレポートにしたいと思う。次回 もまた頑張るぞ! 途中文字化け?してしまいその際にこまめに保存をしていなかったためにやり直 すということがあった。保存はこれからこまめにしていきたいと思う… <自分のまわりの正規表現> ・パソコン ・携帯 ・レジ etc <参考文献> 基礎プログラミング I 第6回 正規表現と検索 から *基礎プログラミング I 第6回 正規表現と検索 「うろ覚えの検索」 http://roy/~madoka/2010/r1/06/06_03_theme_01_patternmatching.html *基礎プログラミング I 第6回 正規表現と検索 「何回か繰り返されている文字 を探したい」 http://roy/~madoka/2010/r1/06/06_04_theme_02_repetation.html *基礎プログラミング I 第6回 正規表現と検索 「いくつかある候補を探したい 場合」 http://roy/~madoka/2010/r1/06/06_05_theme_03_or.html *基礎プログラミング I 第6回 正規表現と検索 「1 文字違い」 http://roy/~madoka/2010/r1/06/06_06_theme_04_onecharacter.html 基礎プログラミング I 第5回 配列の構造 から *基礎プログラミング I 第5回 配列の構造 「ASCII コード表」 http://roy/~madoka/2010/r1/05/05_01_theme_01_asciicode.html *ソフトボール-JOC-オリンピック http://www.joc.or.jp/beijing/athlete/softball/index.html 神田先生のホームページから *[1] 2進数と16進数 http://roy/~naoya/ruby/9.html <共同学習者> *酒井春香 *小松由里