第6回 基礎プログラミング I レポート課題 氏名:川島哲 学籍番号:c109048 語学クラス:英語3 コース(系):政策マネ 1,筆記問題 A. 誕生年:dx1991 二進数 1991を2で割っていく 計算 余り 2)1991 1 2)995 1 2)497 1 2)248 0 2)124 0 2)62 0 2)31 1 2)15 1 2)7 1 2)3 1 2)1 1 余りを下から読むと11111000111となる 答え:0d1991=0b11111000111 16進数 先程出した2進数を右から4桁ごとに区切る 111,1100,0111 その後各数列を10進数に変換する 111には左から4、2、0をかける 1*4+1*2+1*0=6 2進数の一番右の数字が1だった場合は奇数なので6+1で7、0111は111と同じ数字なの で7になる 同じ計算法で1100も計算していく、4桁の場合は8、4、2、0をかけていく 1*8+1*4=12 (右二つは計算しても0なので省く) 12にあたる16進数はCよって1100はCとなる。7は16進数でも変わることがないの でそのまま。 最後に分解する前の順で計算した数字を並べる 0x=7C7 答え 0d1991=0x7c7 B, SatoruKawasima これを16進数 ASCIIコード表に照らし合わせる。 名前 苗字 S=53 K=4d a=61 a=61 t=74 w=77 o=6f a=61 r=72 s=73 u=75 h=68 i=69 m=6d a=61 答え:0x5361746f72754d6177617368696d61 参考 Rubyプログラミング基礎講座(p105) 広瀬雄二/技術評論社 基礎プログラミング I 第5回 配列の構造 「ASCII コード表」 (講義ノート) / 西村まどか http://roy/~madoka/2010/r1/05/05_01_theme_01_asciicode.html 2. A,データ内容 今回使用したデータは「秘密結社鷹の爪」と「古墳galのコフィー」の主登場人物 の種族 役職 名前等を調べるデータである。なお総統は本名があまり知られていないの と英語だと探す人間が分かりにくいので綴りは総統を使用した。 B,ファイル名:data06.dat 人間 総統 小泉 Soto 人間 戦闘主任 吉田 Yoshida 幽霊 契約社員 フィリップ Philip 熊 外部契約 レオナルド Leonard 人間 超能力少年 菩薩峠 Bosasutoge 亀 亀 キミドリガメ Kimidori Game 人間 大家 大家(房子) Fusako 超人 正義の味方 デラックスファイター DX-fighter 古墳 前方後円墳 コフィー Coffy 墳丘墓 四墨突出型墳丘墓 ダニエル Daniel 人間 精強店員 桶狭間 Okehazama C,目的 あまり良く知らない人間が検索し、どのような名前で種族は何にあたるのか等を 検索して作品を知る上での手助けになれば幸いである。 D,検索パターン a,egrep "人" data06.dat 予想:人間のカテゴリを検索。総統、吉田,大家等の人間キャラクターが出る b,egrep "[a-d]" data06.dat 予想:名前にaからdが入ってる総統、コフィー、フィリップ以外の全てがヒッ トする。 c,egrep "^leon" data06.dat 予想:レオナルド博士の項目のみヒットする。 d,egrep "ファイター$" data06.dat 予想:最後がファイターの項目はデラックスファイターのみなのでデラック スファイターのみヒットする。 e,egrep "s[ako]" data06.dat 予想:名前にsが入ってる大家と菩薩峠と総統がヒットする。 E,実行結果とその考察 aの場合, egrep "人" data06.dat 人間 総統 小泉 Soto 人間 戦闘主任 吉田 Yoshida 人間 超能力少年 菩薩峠 Bosasutoge 人間 大家 大家(房子) Fusako 超人 正義の味方 デラックスファイター DX-fighter 人間 精強店員 桶狭間 Okehazama 考察 人間にヒットすると思ったが同じく人が入ってるDXファイターもヒットした。 「人間」にしておけば人間のみヒットすると思い新たに「人間」で検索 人間 総統 小泉 Soto 人間 戦闘主任 吉田 Yoshida 人間 超能力少年 菩薩峠 Bosasutoge 人間 大家 大家(房子) Fusako 人間 精強店員 桶狭間 Okehazama 今度は「超人」が省かれたので解決。 bの場合, 人間 戦闘主任 吉田 Yoshida 熊 外部契約 レオナルド Leonard 人間 超能力少年 菩薩峠 Bosasutoge 亀 亀 キミドリガメ Kimidori Game 人間 大家 大家(房子) Fusako 墳丘墓 四墨突出型墳丘墓 ダニエル Daniel 人間 精強店員 桶狭間 Okehazama 考察 予想どおりフィリップ、総統、コフィーの三人が除外された。 cの場合, ヒットなし 考察 予想と反して何も表示されなかった、^の位置の関係かと思い試してみたがやは りなにも起きなかった。もしかしたら記号が違うのではないかと思い^を他の記 号%,&に変えてleonの前後に置いてみたが結局変わらなかった。もう少し調べる 必要がある。 dの場合, ヒットなし 考察 cの時と同じくヒットしなかった、もしかしたら行の中にあるワードを指定して いるからかもしれない。そう思い行の語尾に当たるhterに$をつけてみる。 an{c109048}% egrep "hter$" data06.dat [~/Ruby] 超人 正義の味方 デラックスファイター DX-fighter 思った通り$と^は行の最後/最初のワードを探すためどうやら一行に複数の情報 がまとめられている文には向かないようだ。 eの場合, pan{c109048}% egrep "s[ako]" data06.dat [~/Ruby] 人間 超能力少年 菩薩峠 Bosasutoge 人間 大家 大家(房子) Fusako 考察 予想通りsの入っている項目がヒットした、しかし大家とそれに近いものを探す 場合はFus[ako]などsの前後になにかつけておく必要がある。 F,使用表現まとめ ["-"] 指定範囲内検索 [] 近似検索 ^ 前文検索 $ 語尾検索 参考 Wikipedia 秘密結社鷹の爪 http://ja.wikipedia.org/wiki/%E7%A7%98%E5%AF%86%E7%B5%90%E7%A4%BE%E9%B7%B9%E3%81%AE%E7%88%AA#.E9.B7.B9.E3.81.AE.E7.88.AA.E5.9B.A3_2 Wikipedia 古墳GALのコフィー http://ja.wikipedia.org/wiki/%E5%8F%A4%E5%A2%B3GAL%E3%81%AE%E3%82%B3%E3%83%95%E3%82%A3%E3%83%BC#.E3.81.82.E3.82.89.E3.81.99.E3.81.98 感想 今回グーグルなどの検索サイトのもしかして?等のメカニズムがわかって面白 かった。考えてみればゲームのデータベース検索やHDD内の検索等にも入って るシステムだから応用性があるなあとつくづく思った。 協同学習者 及川雄寛