5月23日のレポートについて 語学クラス: XXXX語XX 系: XXXX系 学籍番号: C106XXXX 氏名: XXXXXXXX 1. 私は 1987年 8月13日 生まれである。 最初に Od19 と Od87 で計算する。 次に Od1987 でも 計算することにした。 2進数表示の計算方法 最後に 1 が出るまで 2 で割っていき、余りを出して下から読む。 読むときは最後の 1 から読んでいく。 Od19 19 ÷ 2 = 9 ... 1 9 ÷ 2 = 4 ... 1 4 ÷ 2 = 0 ... 0 2 ÷ 2 = 1 ... 0 Od87 87 ÷ 2 = 43 ... 1 43 ÷ 2 = 21 ... 1 21 ÷ 2 = 10 ... 1 10 ÷ 2 = 5 ... 0 5 ÷ 2 = 2 ... 1 2 ÷ 2 = 1 ... 0 Od1987 1987 ÷ 2 = 993 ... 1 993 ÷ 2 = 496 ... 1 496 ÷ 2 = 248 ... 0 248 ÷ 2 = 124 ... 0 124 ÷ 2 = 62 ... 0 62 ÷ 2 = 31 ... 0 31 ÷ 2 = 15 ... 1 15 ÷ 2 = 7 ... 1 7 ÷ 2 = 3 ... 1 3 ÷ 2 = 1 ... 1 答え Od19 = Ob10011 Od87 = Ob1010111 Od1987 = Ob11111000011 16進数表示の計算方法 2進数を4桁ずつ分けて計算して組み合わせる。 Ob10011 は 0001 と 0011 に分ける。 0001 = 1 0011 = 3 Ob1010111 は 0101 と 0111 に分ける。 0101 = 5 0111 = 7 Ob11111000011 は 0111 と 1100 と 0011 に分ける。 0111 = 7 1100 = C 0011 = 3 答え Od19 = Ox13 Od87 = Ox57 Od1987 = Ox7C3 2. データ内容の説明 漫画「ドラゴンボール」のサイヤ人編のキャラクター名と、 そのキャラクターがどのような人種なのかまとめてみた。 どのような分類をしたいのか、目的についての説明 どのキャラクターが 地球人 ナメック星人 宇宙人 サイヤ人 の人種なのか、調べられるようにする。 作ったデータファイル クリリン 地球人 くりりん Kuririn ヤムチャ 地球人 やむちゃ Yamutya 天津飯 地球人 てんしんはん Tenshinhan 餃子 地球人 ちゃおず Tyaozu ブルマ 地球人 ぶるま Buruma 亀仙人 地球人 かめせんにん Kamesennin プーアル 地球人 ぷーある Pu-aru ウーロン 地球人 うーろん U-ron チチ 地球人 ちち Titi 牛魔王 地球人 ぎゅうまおう yuumaou ヤジロべー 地球人 やじろべー Yajirobe- カリン樣 地球人 かりんさま Karinsama 閻魔様 宇宙人 えんまさま enmasama 界王樣 宇宙人 かいおうさま Kaiousama バブルス 宇宙人 ばぶるす Baburusu 神様 ナメック星人 かみさま Kamisama ピッコロ ナメック星人 ぴっころ Pikkoro ラディッツ サイヤ人 らでぃっつ Radelittu ナッパ サイヤ人 なっぱ Nappa ベジータ サイヤ人 べじーた Beji-ta 孫 悟空 サイヤ人 そん ごくう Son Gokuu バーダック サイヤ人 ばーだっく Ba-dakku 分類に使った検索パターンについて 7つにの検索パターンを考えてみた。 egrep "sama" data06.dat sama と表記されているものが検索される。 egrep -i "sama" data06.dat sama と表記されているもので小文字が区別されないで検 索される。 egrep "地球人" data06.dat 人種が地球人のキャラクター名が検索される。 egrep "[ぁ-さ]" data06.dat ぁ-さ の範囲の文字が表記されているものが検索される。 egrep "[亜-腕]" data06.dat 亜-腕の範囲の文字が表記されているものが表示される。 つまり全て検索される。 egrep "B?urum?a" data06.dat B なのか、urm なのか、あるいは a よくわからな い場合使う。 ブルマが検索される。 egrep "U-[lr]on" data06.dat l か r かわからない場合に使う。 ウーロンが検索される。 実行した結果と考察 irsv{c106089}% egrep "sama" data06.dat [~/Ruby] カリン樣 地球人 かりんさま Karinsama 閻魔様 宇宙人 えんまさま enmasama 界王樣 宇宙人 かいおうさま Kaiousama 神様 ナメック星人 かみさま Kamisama 結果の考察 sama を含む文字のキャラクターが検索された。 irsv{c106089}% egrep -i "sama" data06.dat [~/Ruby] カリン樣 地球人 かりんさま Karinsama 閻魔様 宇宙人 えんまさま enmasama 界王樣 宇宙人 かいおうさま Kaiousama 神様 ナメック星人 かみさま Kamisama 結果の考察 sama を含む文字で、小文字が区別されないで検索された。 しかし、大文字のSamaがないので結果は上記と変わらない。 irsv{c106089}% egrep "地球人" data06.dat [~/Ruby] クリリン 地球人 くりりん Kuririn ヤムチャ 地球人 やむちゃ Yamutya 天津飯 地球人 てんしんはん Tenshinhan 餃子 地球人 ちゃおず Tyaozu ブルマ 地球人 ぶるま Buruma 亀仙人 地球人 かめせんにん Kamesennin プーアル 地球人 ぷーある Pu-aru ウーロン 地球人 うーろん U-ron チチ 地球人 ちち Titi 牛魔王 地球人 ぎゅうまおう yuumaou ヤジロべー 地球人 やじろべー Yajirobe- カリン樣 地球人 かりんさま Karinsama 結果の考察 地球人のキャラクターが検索された。 irsv{c106089}% egrep "[ぁ-さ]" data06.dat [~/Ruby] クリリン 地球人 くりりん Kuririn 餃子 地球人 ちゃおず Tyaozu 亀仙人 地球人 かめせんにん Kamesennin プーアル 地球人 ぷーある Pu-aru ウーロン 地球人 うーろん U-ron 牛魔王 地球人 ぎゅうまおう yuumaou カリン樣 地球人 かりんさま Karinsama 閻魔様 宇宙人 えんまさま enmasama 界王樣 宇宙人 かいおうさま Kaiousama 神様 ナメック星人 かみさま Kamisama ピッコロ ナメック星人 ぴっころ Pikkoro ラディッツ サイヤ人 らでぃっつ Radelittu 孫 悟空 サイヤ人 そん ごくう Son Gokuu バーダック サイヤ人 ばーだっく Ba-dakku 結果の考察 ぁ-さ の範囲のキャラクターが検索された。 irsv{c106089}% egrep "[亜-腕]" data06.dat [~/Ruby] クリリン 地球人 くりりん Kuririn ヤムチャ 地球人 やむちゃ Yamutya 天津飯 地球人 てんしんはん Tenshinhan 餃子 地球人 ちゃおず Tyaozu ブルマ 地球人 ぶるま Buruma 亀仙人 地球人 かめせんにん Kamesennin プーアル 地球人 ぷーある Pu-aru ウーロン 地球人 うーろん U-ron チチ 地球人 ちち Titi 牛魔王 地球人 ぎゅうまおう yuumaou ヤジロべー 地球人 やじろべー Yajirobe- カリン樣 地球人 かりんさま Karinsama 閻魔様 宇宙人 えんまさま enmasama 界王樣 宇宙人 かいおうさま Kaiousama バブルス 宇宙人 ばぶるす Baburusu 神様 ナメック星人 かみさま Kamisama ピッコロ ナメック星人 ぴっころ Pikkoro ラディッツ サイヤ人 らでぃっつ Radelittu ナッパ サイヤ人 なっぱ Nappa ベジータ サイヤ人 べじーた Beji-ta 孫 悟空 サイヤ人 そん ごくう Son Gokuu バーダック サイヤ人 ばーだっく Ba-dakku 結果の考察 亜-腕 の範囲のキャラクターが検索される。 この場合、全ての範囲を指定しているので、全て検索される。 irsv{c106089}% egrep "B?urum?a" data06.dat [~/Ruby] ブルマ 地球人 ぶるま Buruma 結果の考察 Bなのかurumなのかaなのかわからないときに使うプログラムのため、 Burumaが検索された。 irsv{c106089}% egrep "U-[lr]on" data06.dat [~/Ruby] ウーロン 地球人 うーろん U-ron 結果の考察 lrかわからないときに使っているため、ウーロンが検索された。 利用した正規表現 egrep (-オプション) "文字列" データ egrep "[文字1-文字2]" データ egrep "文字列?文字列?文字列" データ egrep "文字列[文字列]文字列" データ 気づいたこと 先生のホームページには egrep "^[ぁ-ん]" station.dat と表記されていたが、これでは実行できなかった。 正しくは egrep "[ぁ-ん]" station.dat と書き直す必要がある。 ^ は必要ない。 しかし、なぜ ^ が先生のプログラムについているのかわからなかった。 感想 正規表現を使うと、インターネット検索エンジンの だいたいの仕組みができると思った。 なぜなら、文字列を含むものなどを正規表現で検索できるからだ。 他にも会員名簿などからの検索にも正規表現が使われているだろう。 簡単にいえば、検索するものには正規表現が使われているといえる。