第6回 基礎プログラミング I レポート課題 氏名:花木剛志 学籍番号:c109126A 語学クラス:英語3 コース(系):地域共創 1、筆記問題 A.自分の生年月日を2進数と16進数に変換する。 私の誕生日は1987年12月5日なので 0d1987、0d125とする。 0d1987を二進数に変換する。 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 1/2 = 0 1 よって、0d1987 = 0b11111000011 次に、十六進数に変換する。 十六進数にするには、1987を16で割っていく。 1987/16 = 124 余り 7 124/16 = 7 12 7/16 = 0 7 下から順に読むと、7127となるが、12は十六進数でcとなるので、7c7となる。 よって、0d1987 = 0x7c7 12月5日を0d12と0d5にわける。 0d12を二進数に変換すると、 12/2 = 6 余り 0 6/2 = 3 0 3/2 = 1 1 1/2 = 0 1 よって、0d12 = 0b1100 0d12は十六進数ではcとなるので、 0d12 = 0xc 0d5を弐進数に変換すると、 5/2 = 2 余り 1 2/2 = 1 0 1/2 = 0 1 よって、0d5 = 0b101 0d5は十六進数でも変わらないので、 0d5 = 0x5 つまり、 二進数 → 11111000011 年 1100 月 101 日 十進数 → 1987 年 12 月 5 日 十六進数 → 7c7 年 c 月 5 日 B.自分の名前のアルファベットを十六進数表示で表す。 名前は、「Hanaki Takeshi」なので、 H = 0x68, a = 0x61, n = 0x6e, a = 0x61, k = 0x6b, i = 0x69, T = 0x54, a = 0x61, k = 0x6b, e = 0c65, s = 0x73, h = 0x68, i = 0x69 となる。 2、プログラミング問題 VOCALOIDと呼ばれる、音声ソフト(自由に歌わせたりできる)の初音ミクと呼ば れるキャラクターで作られたオリジナル曲(ソロ)(作成時2010/5/2615:00前後) について のデータを作った。 ここでは、ニコニコ動画 http://www.nicovideo.jp/ での100万再生数以上のも のを抽出した。 ・実際に作ったデータ #曲名 # 投稿日 #再生回数 #コメント #マイリスト数 みくみくにしてあげる♪ 07/09/20 7671611回 2314406個 165094人 メルト 07/12/05 5878287回 652758個 173220人 ワールドイズマイン 08/05/31 3868778回 170265個 130848人 ブラック★ロシューター 08/06/13 3126969回 164281個 104388人 初音ミクの消失 08/04/08 2933464回 176282個 96179人 ロミオとシンデレラ 09/04/06 2348478回 71608個 100770人 恋は戦争 08/02/22 2122118回 103783個 68146人 ハジメテノオト 07/10/14 1761623回 150039個 67074人 サイハテ 08/01/16 1630668回 44249個 53191人 結んで開いて 09/07/06 1572272回 53419個 79004人 桜の雨 08/02/23 1517854回 154362個 49214人 恋するVOCALOID 07/09/13 1423233回 65001個 36541人 初めての恋が終わる時 08/12/12 1341473回 95457個 55030人 歌に形はないけれど 08/01/20 1326244回 79289個 57713人 裏表ラバーズ 09/08/30 1296700回 29583個 65074人 Packaged 07/09/25 1253902回 65817個 39422人 ハロー、プラリネット 09/05/24 1095024回 42209個 58171人 ミラクルペイント 07/11/22 1052580回 99698個 36028人 LastNifht,GoodNifht 08/07/31 1023910回 101020個 38238人 ・目的…100万再生を達成している曲はいくつもあるが、コメント数、マイリスト 数、投稿日は様々である。いつ投稿されて、コメントやマイリストはどれくらい なのかを調べたい時に使うことができる。 ・検索パターン パターン1 100万再生されている動画のうち、2009年に投稿された動画はどれか? [実行結果] egrep "09/../.." date06.dat [~/Ruby] ロミオとシンデレラ 09/04/06 2348478回 71608個 100770人 結んで開いて 09/07/06 1572272回 53419個 79004人 裏表ラバーズ 09/08/30 1296700回 29583個 65074人 ハロー、プラリネット 09/05/24 1095024回 42209個 58171人 [考察] 投稿月、投稿日は関係ないので、任意の文字を表す.を置き、09/../..と検索し たら上手く表示された。19曲中4曲が2009年に投稿されたことが分かる。 パターン2 200万回以上再生されている動画はどれか? [実行結果] egrep "[2-7]......回" date06.dat [~/Ruby] みくみくにしてあげる♪ 07/09/20 7671611回 2314406個 165094人 メルト 07/12/05 5878287回 652758個 173220人 ワールドイズマイン 08/05/31 3868778回 170265個 130848人 ブラック★ロシューター 08/06/13 3126969回 164281個 104388人 初音ミクの消失 08/04/08 2933464回 176282個 96179人 ロミオとシンデレラ 09/04/06 2348478回 71608個 100770人 恋は戦争 08/02/22 2122118回 103783個 68146人 [考察] 候補のいずれかに当てはまれば出力される「-」を使った。最多の再生数で700万 回台なので、[2-7]と検索。(実際400万台はないが) 実行結果から、19曲中7曲が200万回以上再生されていることが分かる。 パターン3 100万再生されている動画のうち、10万個以上のコメントがある動画はどれか? [実行結果] egrep "[1-9].....個" date06.dat [~/Ruby] みくみくにしてあげる♪ 07/09/20 7671611回 2314406個 165094人 メルト 07/12/05 5878287回 652758個 173220人 ワールドイズマイン 08/05/31 3868778回 170265個 130848人 ブラック★ロシューター 08/06/13 3126969回 164281個 104388人 初音ミクの消失 08/04/08 2933464回 176282個 96179人 恋は戦争 08/02/22 2122118回 103783個 68146人 ハジメテノオト 07/10/14 1761623回 150039個 67074人 桜の雨 08/02/23 1517854回 154362個 49214人 LastNifht,GoodNifht 08/07/31 1023910回 101020個 38238人 [考察] 最初は空白を"\s......個"と検索したが上手くできず、"[1-9].....個"としたら、 上手く出力された。しかし桁が違う「みくみくにしてあげる♪」までうまく出て きたのかは不明。ただ、データと整合してみたところ、10万コメント以上である 動画がちゃんと出力されており、数もあっていた。 実行結果から、19曲中9曲が10万コメント以上であることが分かる。 パターン4 100万再生されている動画のうち、マイリストにしている人が10万人以上いる動 画はどれか? [実行結果] egrep "[1-9].....人" date06.dat [~/Ruby] みくみくにしてあげる♪ 07/09/20 7671611回 2314406個 165094人 メルト 07/12/05 5878287回 652758個 173220人 ワールドイズマイン 08/05/31 3868778回 170265個 130848人 ブラック★ロシューター 08/06/13 3126969回 164281個 104388人 ロミオとシンデレラ 09/04/06 2348478回 71608個 100770人 [考察] 10万コメント以上の検索と同じように実行したら、上手く表示された。これは桁が違 う動画はないので納得できる。 実行結果から、19曲中5曲がマイリストにしている人が10万人以上居ることが分 かる。 パターン5 初音ミクは女の子であるので、「恋」がつく曲を検索する。 [実行結果] egrep "恋" date06.dat [~/Ruby] 恋は戦争 08/02/22 2122118回 103783個 68146人 恋するVOCALOID 07/09/13 1423233回 65001個 36541人 初めての恋が終わる時 08/12/12 1341473回 95457個 55030人 [考察] "恋"と検索すると上手く表示された。 実行結果から、19曲中3曲が「恋」がつく曲であることが分かる。 3、感想 プロ野球で、二桁ホームランを打っている選手、20本以上打っている選手、30本 以上打っている選手…と検索していく。これには正規表現が使用されていると思 う。 今回はプロ野球のデータを使用しようかとも思ったが、あえて誰もやらないようなデー タを作ってみた。自分の好きなことなので、楽しく作成できたと思う。 4、協同製作者・参考文献 ・協同製作者:遠藤孝之君、横山広樹君 ・参考サイト http://roy/~madoka/2010/r1/06/ http://roy/~naoya/ruby/7.html