第6回 基礎プログラミング I レポート課題 氏名:池田博哉 学籍番号:C1090147 語学クラス:英語3 コース(系):地域共創 1.筆記問題 A.私の誕生日は1990年11月22日である。 これを10進法で表すと、 0d1990 0d11 0d22 となる。 ・2進数 0d1990、0d11、od22をそれぞれ 2 で割っていき、0 になるまで計算する。 1990 / 2 = 995…0 11 / 2 = 5…1 22 / 2 = 11…0 995 / 2 = 497…1 5 / 2 = 2…1 11 / 2 = 5…1 497 / 2 = 248…1 2 / 2 = 1…0 5 / 2 = 2…1 248 / 2 = 124…0 1 / 2 = 0…1 2 / 2 = 1…0 124 / 2 = 62…0 1 / 2 = 0…1 62 / 2 = 31…0 31 / 2 = 15…1 15 / 2 = 7…1 7 / 2 = 3…1 3 / 2 = 1…1 1 / 2 = 0…1 よって、0b11111000110 年 0b1011 月 0b10110 日となる。 ・16進数 上で出した2進数の答えを使って、数字の後ろから4桁ごとに区切って 16進数に変換する。 4桁に区切れない中途半端な数字は、前にある0が省略されていので、 気をつける。 0111 = 7 1011 = b 0001 = 1 1100 = c 1011 = b 0110 = 6 よって、0x7c6 年 b 月 1b 日 となる。 まとめてみると… 2進数 → 0b11111000110年 0b1011月 0b10110日 10進数 → 1990年 11月 22日 16進数 → 0x7c6年 b月 1b日 B.私の名前のアルファベットは、Ikeda Hiroya である。 ASCIIコード表を使って16進数に表すと、 I = 49 H = 48 k = 6B i = 69 e = 65 r = 72 d = 64 o = 6F a = 61 y = 79 a = 61 となる。 2.プログラム問題 ◎考えたデータについて オリンピック開催国を簡単に知りたいと思ったので、いつ開催されたか、開催 された国とその都市、国の英語表記(通称)をデータにした。 ・作ったデータ------------------------------------------------------------------ #開催年 #開催国 #開催都市 #英語表記(通称) 1896 ギリシャ アテネ Greece 1990 フランス パリ France 1904 アメリカ セントルイス USA 1906 ギリシャ アテネ Greece 1908 イギリス ロンドン UK 1912 スウェーデン ストックホル厶 Sweden 1916 ドイツ ベルリン Germany 1920 ベルギー アントワープ Belgium 1924 フランス パリ France 1928 オランダ アムステルダム Netherlands 1932 アメリカ ロサンゼルス USA 1936 ドイツ ベルリン Germany 1940 日本→フィンランド 東京→ヘルシンキ Japan→Finland 1944 イギリス ロンドン UK 1948 イギリス ロンドン UK 1952 フィンランド ヘルシンキ Finland 1956 オーストラリア,スウェーデン メルボルン,ストックホル厶 Australia,Sweden 1960 イタリア ローマ Italy 1964 日本 東京 Japan 1968 メキシコ メキシコシティ Mexico 1972 西ドイツ ミュンヘン West Germany 1976 カナダ モントリオール Canada 1980 ソビエト連邦 モスクワ USSR 1984 アメリカ ロサンゼルス USA 1988 韓国 ソウル Korea 1992 スペイン バルセロナ Spain 1996 アメリカ アトランタ USA 2000 オーストラリア シドニー Australia 2004 ギリシャ アテネ Greece 2008 中国 北京 China -------------------------------------------------------------------------------- ・検索パターン No.1 pan{c109014}% egrep "イ" data06.dat 名前に「イ」とつく開催国を検索してみた。 予想は、イギリスやイタリアが該当すると思う。 実行結果 1904 アメリカ セントルイス USA 1908 イギリス ロンドン UK 1916 ドイツ ベルリン Germany 1936 ドイツ ベルリン Germany 1944 イギリス ロンドン UK 1948 イギリス ロンドン UK 1960 イタリア ローマ Italy 1972 西ドイツ ミュンヘン West Germany 1992 スペイン バルセロナ Spain 結果の考察 開催国だけでなく、アメリカのように開催都市に「イ」がつくものも出た。 No.2 pan{c109014}% egrep "r[ae]" data06.dat 国名の英語標記で、r の次に「a」か「e」が入るものを検索してみた。 予想は、ギリシャ、フランス、韓国あたりが該当すると思う。 実行結果 1896 ギリシャ アテネ Greece 1990 フランス パリ France 1906 ギリシャ アテネ Greece 1924 フランス パリ France 1956 オーストラリア,スウェーデン メルボルン,ストックホル厶 Australia,Sweden 1988 韓国 ソウル Korea 2000 オーストラリア シドニー Australia 2004 ギリシャ アテネ Greece 結果の考察 他にオーストラリアが該当したが、ほぼ正しかった。 No.3 pan{c109014}% egrep "[a-e]" data06.dat とりあえず、英語標記で「a」〜「e」までが入るものを検索してみた。 ほぼ全てに当てはまりそうだと思う。 実行結果 1896 ギリシャ アテネ Greece 1990 フランス パリ France 1906 ギリシャ アテネ Greece 1912 スウェーデン ストックホル厶 Sweden 1916 ドイツ ベルリン Germany 1920 ベルギー アントワープ Belgium 1924 フランス パリ France 1928 オランダ アムステルダム Netherlands 1936 ドイツ ベルリン Germany 1940 日本→フィンランド 東京→ヘルシンキ Japan→Finland 1952 フィンランド ヘルシンキ Finland 1956 オーストラリア,スウェーデン メルボルン,ストックホル厶 Australia,Sweden 1960 イタリア ローマ Italy 1964 日本 東京 Japan 1968 メキシコ メキシコシティ Mexico 1972 西ドイツ ミュンヘン West Germany 1976 カナダ モントリオール Canada 1988 韓国 ソウル Korea 1992 スペイン バルセロナ Spain 2000 オーストラリア シドニー Australia 2004 ギリシャ アテネ Greece 2008 中国 北京 China 結果考察 アメリカ(USA)やイギリス(UK)のように、名前が全部大文字のものは該当しなかった。 No.4 pan{c109014}% egrep "r[a-e]" data06.dat 上の検索結果は該当したものが多すぎるので、「a」〜「e」の前に「r」が入る ものと限定した。 イタリア、ギリシャ、韓国、オーストラリアが該当すると思う。 実行結果 1896 ギリシャ アテネ Greece 1990 フランス パリ France 1906 ギリシャ アテネ Greece 1924 フランス パリ France 1956 オーストラリア,スウェーデン メルボルン,ストックホル厶 Australia,Sweden 1988 韓国 ソウル Korea 2000 オーストラリア シドニー Australia 2004 ギリシャ アテネ Greece 結果考察 予想した通りの結果だった。 ・使用した正規表現のまとめ "文字" = ""の中に入力された文字を検索する "[文字]" = []で囲まれた文字のうち、片方だけでも該当したものを検索する "[文字1-文字2]" = 文字a〜文字bの範囲の1文字に該当したものを検索する 3.感想 正規表現が使われているもので一番分かりやすいものは、インターネットで使う 検索機能だと思う。また、パソコンや携帯電話のファイルを整理するときに使う ソート機能も当てはまると思った。タイトル順、日付順、ファイルサイズ順に分 けるところがそうだと思います。 データのネタを考えて入力する作業がものすごく大変だったけれど、無事に実行 できたのでホッとしました。コツを掴むとなかなか楽しいものだと感じました。 覚えることがまだまだたくさんあるので、とにかく頑張っていきたいです。 参考文献 ・Rubyプログラミング基礎講座 著:広瀬雄二 共同学習者 ・藤井 駿 5月24〜27日