語学クラス:XXXX語XX 系:XXXX系 学籍番号:c106XXXX 氏名:XXXXXXXX 1: ob100101 = 0x?? 100101を右から四桁づつ分けて 10 = 2 0101 = 5 よって、0b100101 = 25 である。 0d1111 = ox?? 0d1111をまず2進数に直す。 1111÷2 = 555 余り1 555 ÷2 = 277 余り1 277 ÷2 = 138 余り1 138 ÷2 = 69 余り0 69 ÷2 = 34 余り1 34 ÷2 = 17 余り0 17 ÷2 = 8 余り1 8 ÷2 = 4 余り0 4 ÷2 = 2 余り0 2 ÷2 = 1 余り0 よって、0d1111 = ob10001010111 さらに、 0b10001010111を16進数に変換する。 0b10001010111を右から四桁づつ分けて 100 = 4 0101 = 5 0111 = 7 よって、0d1111 = 0x457 となる。 該当するデータ一行を表示させるプログラムanswer1.rb answer2.rbを作る。 正規表現の部分は / / を用いる。 前回のように検索方法を複数解説し、 それに対応する プログラムが添付する。検索パターンが多く その分析や解説が多いと得点が高くなる。 考えた設定 今回のプログラムは、同一のデータから複数の違うプログラムで 該当するデータを検索するために作りました。 作成したプログラム answer1.rb #!/usr/koeki/bin/ruby while data = gets if /[F-H]/i =~ data print data end end 結果の予想 このプログラムで検索すると"[F-H]"を含むものが検索されるはず。 結果 irsv{c106185}% ./answer1.rb data06.dat [~/Ruby] フォトグラフ 永遠 ふぉとぐらふ fotogurafu お・も・ひ・で この涙星になれ☆ お・も・ひ・で o・mo・hi・de 無我夢中 かけがえのないもの むがむちゅう mugamutyuu 瞳閉じて 瞳閉じて ひとみどじて hitomitojite 明日を夢見て 探しに行こうよ さがしにいこうよ sagasiniikouyo hero 時間の翼 ひーろー hero Get_U're_Dream 時間の翼 げっとゆあどりーむ Get u're dream 月に願いを 君とのDistanc つきにねがいを tukininegaiwo Last_Good-bye 君とのDistanc らすとぐっばい Last good-bye 星のかがやきよ 君とのDistanc ほしのかがやきよ hosinokagayakiyo 君とのふれあい 君とのDistanc きみとのふれあい kimitonofureai 君へのブルース ハートに火をつけて きみへのぶるーす kimihenoburu-su 淡い雪がとけて 今日はゆっくり話そう あわいゆきがとけて awaiyukigatokete 結果の考察 きちんと[F-H]が含まれるものが検索された。大文字で入力したので、 大文字だけ検索にひっかかると思ったが小文字も検索された。 answer2.rb #!/usr/koeki/bin/ruby while data = gets if /i.o/i =~ data print data end end 結果の予想 このプログラムで検索すると"i"と"o"が含まれるものが検索されるはず。 結果 irsv{c106185}% ./answer2.rb data06.dat [~/Ruby] 瞳閉じて 瞳閉じて ひとみどじて hitomitojite 明日を夢見て 探しに行こうよ さがしにいこうよ sagasiniikouyo 月に願いを 君とのDistanc つきにねがいを tukininegaiwo 星のかがやきよ 君とのDistanc ほしのかがやきよ hosinokagayakiyo 君とのふれあい 君とのDistanc きみとのふれあい kimitonofureai 結果の考察 "i"の後に"o"が来るもののみ検索された。 "o"の後に"i"が来るものは検索せれなかった。 answer3.rb #!/usr/koeki/bin/ruby while data = gets if /yo$/i =~ data print data end end 結果の予想 このプログラムで検索するとデータの末尾が"yo"で終わるものが検索されるはず。 結果 irsv{c106185}% ./answer3.rb data06.dat [~/Ruby] 明日を夢見て 探しに行こうよ さがしにいこうよ sagasiniikouyo 星のかがやきよ 君とのDistanc ほしのかがやきよ hosinokagayakiyo 結果の考察 データの末尾が"yo"で終わるものが検索された。 "o"で終わるものは検索されなかった。 answer4.rb #!/usr/koeki/bin/ruby while data = gets if /^G/i =~ data print data end end 結果の予想 このプログラムで検索するとデータの最初の文字が"G"で始まるものが 検索されるはず。 結果 irsv{c106185}% ./answer4.rb data06.dat [~/Ruby] Get_U're_Dream 時間の翼 げっとゆあどりーむ Get u're dream 結果の考察 予想どおりデータの最初が"G"で始まるものが検索された。 answer5.rb #!/usr/koeki/bin/ruby while data = gets if /ka*i/i =~ data print data end end 結果の予想 このプログラムで検索すると、"ka"含まれなくても良いが"i"が含まれるもの が検索されるはず。 結果 irsv{c106185}% ./answer5.rb data06.dat [~/Ruby] 月に願いを 君とのDistanc つきにねがいを tukininegaiwo 星のかがやきよ 君とのDistanc ほしのかがやきよ hosinokagayakiyo 君とのふれあい 君とのDistanc きみとのふれあい kimitonofureai 君へのブルース ハートに火をつけて きみへのぶるーす kimihenoburu-su 淡い雪がとけて 今日はゆっくり話そう あわいゆきがとけて awaiyukigatokete 結果の考察 "ka"があり、"u"ないもの検索された。 "ka"がなく、"u"があるものも検索された。 参考文献 http://roy/~madoka/2007/r1/07/07-02-egrep.html 感想 今回のレポートは前回に出来ていなかったいろいろな検索パターンを利用できて 良かったと思います。 また、予想していない、検索結果が出ることもあり新たな発見のおかげで 楽しくできました。 次も頑張ります。 ----Next_Part(Sun_Jun__3_16_23_01_2007_109)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="answer5.rb" #!/usr/koeki/bin/ruby while data = gets if /ka*i/i =~ data print data end end ----Next_Part(Sun_Jun__3_16_23_01_2007_109)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="answer4.rb" #!/usr/koeki/bin/ruby while data = gets if /^G/i =~ data print data end end ----Next_Part(Sun_Jun__3_16_23_01_2007_109)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="answer3.rb" #!/usr/koeki/bin/ruby while data = gets if /yo$/i =~ data print data end end ----Next_Part(Sun_Jun__3_16_23_01_2007_109)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="answer2.rb" #!/usr/koeki/bin/ruby while data = gets if /i.o/i =~ data print data end end ----Next_Part(Sun_Jun__3_16_23_01_2007_109)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="answer1.rb" #!/usr/koeki/bin/ruby while data = gets if /[F-H]/i =~ data print data end end ----Next_Part(Sun_Jun__3_16_23_01_2007_109)----