XXXX語XXクラス XXXX系 c106XXXX XXXXXXXX 1. A.0b100101について これは,下4桁を区切って,プログラムコードの16進数の表に当てはめていく。 区切るのは、下から0101、10である。これを表に当てはめると、0101は5で、10 は2になった。よって、0X25である。 B.0d=1111について これは、数を2で割っていく。1111÷2=555、余り1。555÷2=277、余り1。277÷ 2=138。138÷2=69、余り1。69÷2=34。34÷2=17、余り1。17÷2=8。8÷2=4。4÷ 2=2。2÷2=1。ここで、余りが出なかったものについては自動的に余り1とする。 割った答えが小さい方から順に、余りを読んでいく。これは10001010111である。 また、これを下4桁に区切って、プログラムコードの16進数の表に当てはめてい く。区切るのは、下から0111、0101、100である。これを表に当てはめると、 0111は7で、0101は5で、100は4になった。よって、0X457である。 2.Aの問題について A)作成したデータの貼り付け 柴犬 日本 ノンスポーティー 小型 ビーグル イギリス ハウンド 小型 ダックス ドイツ ハウンド 小型 チワワ メキシコ トイ 小型 ヨクシャーテリア イギリス トイ 小型 パピヨン フランス トイ 小型 ラブラドールレトリバー イギリス スポーティング 大型 コリー イギリス ハーディング 大型 シベリアンハスキー シベリア ワーキング 大型 ブルドッグ イギリス ノンスポーティー 小型 チン 日本 トイ 小型 ボクサー ドイツ ワーキング 大型 ペキニーズ 中国 トイ 小型 ボルゾイ ロシア ハウンド 大型 グレートピレニーズ フランス ワーキング 大型 B)検索パターンについて (a)answer1.rbを実行する。 "チ" で検索する。最初が "チ" となりたいから、"^チ"と入力する。入力画面 は、 #!/usr/koeki/bin/ruby while data06 = gets if /^チ/i =~ data06 print data06 end end [実行結果] irsv{c106028}% ./answer1.rb data06.dat [~/Ruby] チワワ メキシコ トイ 小型 チン 日本 トイ 小型 [気付いたこと] "チ"とだけ入力して検索したため、予想通り最初の文字が "チ" と入力された。 (b)answer2.rbを実行する。 "[ァ-ン]"で検索する。かたかなが全部出たいから、"^[ァ-ン]" と入力する。入力画面は、 #!/usr/koeki/bin/ruby while data06 = gets if /^[ァ-ン]/i =~ data06 print data06 end end [実行結果] irsv{c106028}% ./answer2.rb data06.dat [~/Ruby] ビーグル イギリス ハウンド 小型 ダックス ドイツ ハウンド 小型 チワワ メキシコ トイ 小型 ヨクシャーテリア イギリス トイ 小型 パピヨン フランス トイ 小型 ラブラドールレトリバー イギリス スポーティング 大型 コリー イギリス ハーディング 大型 シベリアンハスキー シベリア ワーキング 大型 ブルドッグ イギリス ノンスポーティー 小型 チン 日本 トイ 小型 ボクサー ドイツ ワーキング 大型 ペキニーズ 中国 トイ 小型 ボルゾイ ロシア ハウンド 大型 グレートピレニーズ フランス ワーキング 大型 [気付いたこと] かたかなは全ての列で使っていたため、全て出てきた。予想通りだった。 (c)answer3.rbを実行する。 "亜-腕"で検索する。漢字全て出たいから、"^[亜-腕]"と入力する。入力画面は、 #!/usr/koeki/bin/ruby while data06 = gets if /^[亜-椀]/i =~ data06 print data06 end end [実行結果] irsv{c106028}% ./answer3.rb data06.dat [~/Ruby] 柴犬 日本 ノンスポーティー 小型 ビーグル イギリス ハウンド 小型 ダックス ドイツ ハウンド 小型 チワワ メキシコ トイ 小型 ヨクシャーテリア イギリス トイ 小型 パピヨン フランス トイ 小型 ラブラドールレトリバー イギリス スポーティング 大型 コリー イギリス ハーディング 大型 シベリアンハスキー シベリア ワーキング 大型 ブルドッグ イギリス ノンスポーティー 小型 チン 日本 トイ 小型 ボクサー ドイツ ワーキング 大型 ペキニーズ 中国 トイ 小型 ボルゾイ ロシア ハウンド 大型 グレートピレニーズ フランス ワーキング 大型 [気付いたこと] 漢字は全ての列で使っていたため、全て出た。 (d)answer4.rbを実行する。 "ボ" と検索する。最初の文字が "ボ" としたいから、"^ボ"と入力する。入力 画面は、 #!/usr/koeki/bin/ruby while data06 = gets if /^ボ/i =~ data06 print data06 end end [実行結果] irsv{c106028}% ./answer4.rb data06.dat [~/Ruby] ボクサー ドイツ ワーキング 大型 ボルゾイ ロシア ハウンド 大型 [気付いたこと] 予想通り、最初の文字が "ボ" のつくものが検索された。 (e)answer5.rbを実行する。 "中" と "国" と付くものを検索する。授業でやった「日本語を検索するには」を参考 にしてやった。"中?国"と入力する。他に "中" や、"国" とつくデータは作ら なかったため、中国しか検索されないだろう。入力画面は #!/usr/koeki/bin/ruby while data06 = gets if /中?国\s+/e =~ data06 print data06 end end [実行結果] irsv{c106028}% ./answer5.rb data06.dat [~/Ruby] ペキニーズ 中国 トイ 小型 [気付いたこと] 予想通りに"中国"だけの検索ができた。 (f)answer6.rbを実行する。 answer5と同じように、ここでは、"大" と "型" と付くものを検索したい。"大?型"と入 力する。ここでは、おそらく "小型" も検索される。入力画面は #!/usr/koeki/bin/ruby while data06 = gets if /大?型\s+/e =~ data06 print data06 end end [実行結果] irsv{c106028}% ./answer6.rb data06.dat [~/Ruby] 柴犬 日本 ノンスポーティー 小型 ビーグル イギリス ハウンド 小型 ダックス ドイツ ハウンド 小型 チワワ メキシコ トイ 小型 ヨクシャーテリア イギリス トイ 小型 パピヨン フランス トイ 小型 ラブラドールレトリバー イギリス スポーティング 大型 コリー イギリス ハーディング 大型 シベリアンハスキー シベリア ワーキング 大型 ブルドッグ イギリス ノンスポーティー 小型 チン 日本 トイ 小型 ボクサー ドイツ ワーキング 大型 ペキニーズ 中国 トイ 小型 ボルゾイ ロシア ハウンド 大型 グレートピレニーズ フランス ワーキング 大型 [気付いたこと] "大型"を検索したかったが、"小型"も検索されてしまった。やはり、間に "?" を入れると、"大型" も "小型" も検索された。 (g)answer7.rbを実行する。 検索パターンをキーボードで入力する検索方法を作りたい。授業でやった「キー ボードで検索文字を入力して探したい」を参考にした。入力画面は、 #!/usr/koeki/bin/ruby STDERR.print("検索パターン : ") pattern = STDIN.gets.chomp request = Regexp.new(pattern, true, "e") while data06 = gets if request =~ data06 print data06 end end ◇中国と検索する◇ [実行画面] irsv{c106028}% ./answer7.rb data06.dat [~/Ruby] 検索パターン : 中国 ペキニーズ 中国 トイ 小型 ◇ドイツと検索する◇ [実行画面] irsv{c106028}% ./answer7.rb data06.dat [~/Ruby] 検索パターン : ドイツ ダックス ドイツ ハウンド 小型 ボクサー ドイツ ワーキング 大型 ◇伸ばす音 "ー" を検索する◇ [実行画面] irsv{c106028}% ./answer7.rb data06.dat [~/Ruby] 検索パターン : ー 柴犬 日本 ノンスポーティー 小型 ビーグル イギリス ハウンド 小型 ヨクシャーテリア イギリス トイ 小型 ラブラドールレトリバー イギリス スポーティング 大型 コリー イギリス ハーディング 大型 シベリアンハスキー シベリア ワーキング 大型 ブルドッグ イギリス ノンスポーティー 小型 ボクサー ドイツ ワーキング 大型 ペキニーズ 中国 トイ 小型 グレートピレニーズ フランス ワーキング 大型 ◇伸ばす音 "ー"、"グ" と付く文字を検索する◇ [実行画面] irsv{c106028}% ./answer7.rb data06.dat [~/Ruby] 検索パターン : ー.グ [気付いたこと] うまく検索されなかった。何回も試したが、検索できなかった。同じように " ズ.型" も検索したができなかった。そのため、この検索は諦めてしまった。 C)結果の考察 予想通りの検索結果も多かったが、予想に反した検索結果もあった。なぜ検索さ れなかったのかよくわからなかった。また、データを作る上で、検索結果がたく さん出るようなものを作っていれば良かったと思う。例えば、"中国" にしてみれば、間に "?" を入れたけれど、"中国"しか国名を作っていなかったため、検索結果がひとつしかなかった。 3.感想 今回は、検索が予想通りの結果になったものもならなかったものもあったけれど、 最後までやりきれて良かった。でも、ひとつのパターンをずっ と使っていたところが反省点だ。データの書き方はやっと何も見なくても出来る ようになり、覚えたのだと思う。一回やったことを見ないでデータを作れたこと を一番頑張った。来週の課題では、今回やったことを忘れずに、スムーズにプロ グラムを作りたい。 4.プログラムの添付