5 月 30 日のレポートについて 語学クラス:XXXX語 系: XXXX系 学籍番号:c106XXXX 氏名:XXXXXXXX 1. A. Ob100101 = Ox?? 2進数から16進数に変換する問題である。 2進数を4桁ごとに区切り、16進数の表に当てはめていく。 0101は「 5 」 10は「 2 」 になるので、「 Ob100101 = Ox25 」 B. Od1111 = Ox?? 10進数から16進数に変換する問題である。 1 1 1 1 ÷ 1 6 = 6 9 余り 7 ↑ 6 9 ÷ 1 6 = 4 余り 5 ↑ → → → 矢印に沿って読んでいくと、「 Od1111 = Ox457 」となる。 2. A.該当するデータ一行を表示させるプログラム 1. 考えた設定 あ>> 「 月 」で始まって「 ぎ 」で終わる言葉を検索 い>> 「 ん 」のあと空白で、空白の次の言葉が「 魚 」の言葉を検索 う>> 「 ラ 」と「 ウ 」 の間の一文字を検索 え>> 「 ウ 」の次が空白で、次の言葉が「 ヌ 」で始まる言葉 お>> 「 シャボン 」か「 ショボン 」のどちらかの言葉を検索 か>> 「 る 」で終わって、次が空白。空白の次が、「 セ 」ではじまって 「 サ 」が入っている言葉 2. 作成したプログラム あ>> #!/usr/koeki/bin/ruby while anime = gets if /月?ぎ/e =~ anime print anime end end い>> x#!/usr/koeki/bin/ruby while anime = gets if /ン\s+魚/e =~ anime print anime end end う>> #!/usr/koeki/bin/ruby while anime = gets if /ラ.ウ/e =~ anime print anime end end え>> #!/usr/koeki/bin/ruby while anime = gets if /ウ\S+ヌ/e =~ anime print anime end end お>> #!/usr/koeki/bin/ruby while anime = gets if /シ[ャョ]ボン/e =~ anime print anime end end か>> #!/usr/koeki/bin/ruby while anime = gets if /る\s+セ\S+サ/e =~ anime print anime end end > 3. もとにしたプログラムからの変更点 変数を「 station 」から「 anime 」に変更。 あ>> 「 /a.a/ 」から「 /月?ぎ/ 」に変更 い>> 検索部分を 「 /ン\s+魚/ 」に変更 う>> 検索部分を 「 /ラ.ウ/ 」に変更 え>> 検索部分を 「 /ウ\S+ヌ/ 」に変更 お>> 検索部分を 「 /シ[ャョ]ボン/ 」に変更 か>> 検索部分を 「 /る\s+セ\S+サ 」に変更 4. プログラムを実行した結果画面 あ>> irsv{c106034}% ./answer1.rb data06.dat [~/Ruby] 月野うさぎ セーラームーン 蟹 ムーン・ティアラ・アクション い>> irsv{c106034}% ./answer2.rb data06.dat [~/Ruby] 海王みちる セーラーネプチューン 魚 深水没 う>> irsv{c106034}% ./answer3.rb data06.dat [~/Ruby] 天王はるか セーラーウラヌス 水瓶 天界震 え>> irsv{c106034}% ./answer4.rb data06.dat [~/Ruby] 天王はるか セーラーウラヌス 水瓶 天界震 お>> irsv{c106034}% ./answer5.rb data06.dat [~/Ruby] 水野亜美 セーラーマキュリー 乙女 シャボン・スプレー か>> irsv{c106034}% ./answer6.rb data06.dat [~/Ruby] 土萠ほたる セーラーサターン 山羊 死世界変革 5.考察 あ>> 「 /月?ぎ/ 」の「 ? 」は あ>> の問題でいうと、 月で始まってぎで終わる言葉を検索する意味があるので 検索結果は「 月野うさぎ 」であっています。 い>> 「 /ン\s+魚/ 」の「 \s+ 」は い>> の問題でいうと、 ンで終わって次が魚で始まる言葉を検索する意味があるので 検索結果は「 海王みちる 」であっています。 う>> 「 /ラ.ウ/ 」の「 . 」は う>>の問題でいうと、 ラとウの間に一文字入る言葉を検索する意味があるので 検索結果は「 天王はるか 」であっています。 え>> 「 /ウ\S+ヌ/ 」の「 \S+ 」は う>> の問題でいうと、 ウとヌの間に文字が一個以上並んでいることを意味している ので、ウラヌスと言う言葉がある「 天王はるか 」であって います。 お>> 「 /シ[ャョ]ボン/ 」の [ ] には、検索条件に当てはまる しっかりとした言葉がわからない時に使います。 この場合だとャかョで検索して、リスト内のシャボンがあ る「 水野亜美 」が出ました。あっています。 か>> 「 /る\s+セ\S+サ 」は、いままで用いた検索条件を組み合 わせてみました。この場合、る のあとに余白があり、そ の後に セ があり、なにかしらの文字が入り サがくる。 という条件で検索しています。 その条件にあてはまる「 土萠ほたる 」であっています。 ※検索条件//後の「 e 」は,検索条件が,文字列であることを表す. 6. 参考文献 まどか先生のホームページ 「データを取り出すプログラムについて」 B.入力した項目と、 出力される項目が異なるプログラム このBの課題では,検索条件//後の「 = 」を「 ! 」にすることによって,当て はまる検索条件以外のものを,表示させることが出来る. 以下は例です. EX)) (課題Aの場合) ★プログラム #!/usr/koeki/bin/ruby while anime = gets if /シ[ャョ]ボン/e =~ anime print anime end end ★検索結果 irsv{c106034}% ./answer5.rb data06.dat [~/Ruby] 水野亜美 セーラーマキュリー 乙女 シャボン・スプレー (課題Bの場合) ☆プログラム #!/usr/koeki/bin/ruby while anime = gets if /シ[ャョ]ボン/e !~ anime print anime end end ☆検索結果 irsv{c106034}% ./answer5_b5.rb data06.dat [~/Ruby] 変身前の名前 変身後の名前 星座 必殺技 月野うさぎ セーラームーン 蟹 ムーン・ティアラ・アクション 火野レイ セーラーマーズ 牡羊 ファイヤー・ソウル 木野まこと セーラージュピター 射手 シュープリー厶・サンダー 愛野美奈子 セーラーヴィーナス 天秤 クレッセント・ビーム ちびうさ セーラーちびムーン 蟹 トゥインクル・エール 天王はるか セーラーウラヌス 水瓶 天界震 海王みちる セーラーネプチューン 魚 深水没 冥王せつな セーラープルート 蠍 時空封印 土萠ほたる セーラーサターン 山羊 死世界変革 地場衛 タキシード仮面 獅子 タキシード・ラ・スモーキング ボンバー 3. 感想 6つの検索するプログラムを作成することが出来てよかったです. 自分でいろいろな検索方法が出来ると,検索結果が出てきたときたのしいとお もいました. 来週もがんばります!! 添付し忘れました. すいません!! 今度から気を付けます.