第6回 基礎プログラミング I レポート課題 氏名:宮川史礼 学籍番号:C1071948 語学クラス:英語1 コース(系):社会系 1.筆記問題 A.自分の誕生日1989年1月24日を、2進法、16進法表示で表す。 最初に10進数表示の場合を割りだした 0d19 = 0b?? 2)19 2) 9 1 2) 4 1 2) 2 0 1 0 これを下から読んで 10011 となり 0d19 = 0b10011 計算の確認は以下の通り 19/2 9.50000000000000000000 9/2 4.50000000000000000000 4/2 2.00000000000000000000 2/2 1.00000000000000000000 1/2 .50000000000000000000 0d89 = 0b?? 2)89 2)44 1 2)22 0 2)11 0 2) 5 1 2) 2 1 1 0 これを下から読んで 1011001 となり 0d89 = 0b1011001 計算の確認 89/2 44.50000000000000000000 44/2 22.00000000000000000000 22/2 11.00000000000000000000 11/2 5.50000000000000000000 5/2 2.50000000000000000000 2/2 1.00000000000000000000 1/2 .50000000000000000000 0d1 = 0b?? 2)1 0 1 これを下から読んで 01 となり 0d1 = 0b01 計算の確認 1/2 .50000000000000000000 0d24 = 0b?? 2)24 2)12 0 2) 6 0 2) 3 0 2) 1 1 これを下から読んで 11000 となり 0d = 0b11000 計算の確認 24/2 12.00000000000000000000 12/2 6.00000000000000000000 6/2 3.00000000000000000000 3/2 1.50000000000000000000 1/2 .50000000000000000000 16進数の場合 16)19 1...3 16) 1 0...1 13 確認 19/16 1.18750000000000000000 1/16 .06250000000000000000 16)89 5...9 16) 5 0...5 59 確認 89/16 5.56250000000000000000 5/16 .31250000000000000000 16) 1 0...1 確認 1/16 .06250000000000000000 16)24 1...8 16) 1 0...1 確認 24/16 1.50000000000000000000 1/16 .06250000000000000000 B.自分の名前みやがわふみのりを16進法表示で表す ASCIIコード表と照らし合わせると以下のようになる M = 0x4d i = 0x69 y = 0x79 a = 0x61 g = 0x67 a = 0x61 w = 0x77 a = 0x61 F = 0x46 u = 0x75 m = 0x6d i = 0x69 n = 0x6e r = 0x6f i = 0x69 2.プログラミング問題 小説家の安部公房の作品をまとめた表を作成した。 #作品名 #発表年 #ジャンル #受賞歴 #読み方 #ローマ字or英語 壁 1951 小説 芥川賞 かべ kabe 幽霊ははここにいる 1958 戯曲 岸田演劇 ゆうれいはここにいる yuureihakokoniiru 第四氷河期 1959 小説 なし だいよんひょうがき daiyonhyougaki 砂の女 1963 小説 読売文学賞 すなのおんな sunanoonna 他人の顏 1964 小説 なし たにんのかお taninnokao 燃えつきた地図 1967 小説 なし もえつきたちず moetukitatizu 箱男 1973 小説 なし はこおとこ hakootoko 緑色のストッキング 1974 戯曲 読売文学賞 みどりいろのすとっきんぐ midoriironosutotukinngu 密会 1977 小説 なし みっかい mikkai 方舟さくら丸 1984 小説 なし はこぶねさくらまる hakobunesakuramaru カンガルーノート 1991 小説 なし かんがるーのーと kangaruunooto 大作家である安部の代表作のいくつかを知ってもらいたいので、このプログラムを 作成した。 a. pan{c107194}% egrep "なし" data06.dat を検索したら文学賞 を受賞しなかった作品が挙がって来る。 b. pan{c107194}% egrep "すなのお.." data06.dat を検索したら、タイトルの読 み方に、"すなのお"が含まれる。作品が挙がって来る。 c. pan{c107194}% egrep "hako...." data06.dat を検索したら、ローマ字読みに "hako"が含まれる作品が挙がって来る。 d. pan{c107194}% egrep "195+" data06.dat を検索したら、1950年代に安部が発 表した作品が挙がって来る。 e. pan{c107194}% egrep "mik*ai" data06.dat を検索したら、"k"をいくつか含 む作品が挙がって来る。 aの場合 pan{c107194}% egrep "なし" data06.dat [~/Ruby] 第四氷河期 1959 小説 なし だいよんひょうがき daiyonhyougaki 他人の顏 1964 小説 なしたにんのかお taninnokao 燃えつきた地図 1967 小説 なしもえつきたちず moetukitatizu 箱男 1973 小説 なしはこおとこ hakootoko 密会 1977 小説 なしみっかい mitukai 方舟さくら丸 1984 小説 なしはこぶねさくらまる hakobunesakuramaru カンガルーノート 1991 小説 なしかんがるーのーと kangaruunooto bの場合 pan{c107194}% egrep "すなのお.." data06.dat [~/Ruby] 砂の女 1963 小説 読売文学賞すなの おんな sunanoonna cの場合 pan{c107194}% egrep "hako...." data06.dat [~/Ruby] 幽霊ははここにいる 1958 戯曲 岸田演劇 ゆうれいはここにいる yuureihakokoniiru 箱男 1973 小説 なしはこおとこ hakootoko 方舟さくら丸 1984 小説 なしはこぶねさくらまる hakobunesakuramaru dの場合 pan{c107194}% egrep "195+" data06.dat [~/Ruby] 壁 1951 小説 芥川賞 かべ kabe 幽霊ははここにいる 1958 戯曲 岸田演劇 ゆうれいはここにいる yuureihakokoniiru 第四氷河期 1959 小説 なし だいよんひょうがき daiyonhyougaki eの場合 pan{c107194}% egrep "195+" data06.dat [~/Ruby] pan{c107194}% egrep "mik*ai" data06.dat [~/Ruby] 密会 1977 小説 なしみっかい mikkai 考察 利用した正規表現の種類は"."は特定の文字の候補を挙げて、+が直前の文字が出 現しなくてはならない。その上、その出現が何度でもいい。*が出現が何回も可 能。 感想 今回は、筆記問題を整理することの方が後半のプログラミングを作るよりも時間 がかかった。そして問題である後半戦のプログラミングのほうは、むしろじぶん の専門というか、得意分野の引き出しからすぐに取り出せたので、そこで課題に とり組む時間が時間をすまーとにすることができた。それに、正規表現とその自 分の分野を上手く組み合わせられたと思う。 参考文献 基礎プログラミング I 第5回 配列の構造 「ASCII コード表」 http://roy/~madoka/2010/r1/05/05_01_theme_01_asciicode.html 基礎プログラミング I 第6回 正規表現と検索 「うろ覚えの検索」 http://roy/~madoka/2010/r1/06/06_03_theme_01_patternmatching.html 基礎プログラミング I 第6回 正規表現と検索 「何回か繰り返されている文字を探したい」 http://roy/~madoka/2010/r1/06/06_04_theme_02_repetation.html 協力してくれたTA 大沼拓海