第9回 Rubyであそぼ/広告ページの作成 レポート課題 氏名:佐藤咲 学籍番号:c1110772 語学クラス:英語 コース:政策 1、筆記問題 A、 a. 0x32 + 0x24 = 0x?? *まず、16進数(0x)を2進数(0b)に変換する。 0x32 = 110010 0x24 = 100100 *次に、10進数(0d)に変換する。 上で出た2進数に左から2の5乗、2の4乗、2の3乗、2の2乗、2の1乗、2の0乗を掛ける。 32 16 8 4 2 1 * * * * * * 1 1 0 0 1 0 32 16 0 0 2 0 32 +16 +0 +0 +2 +0 = 50 32 16 8 4 2 1 * * * * * * 1 0 0 1 0 0 32 0 0 4 0 0 32 +0 +0 +4 +0 +0 = 36 2つを足すと50 + 36 = 86 *これ(86)を16進数(0x)に変換する。 86 / 2 =43 余り0 43 / 2 =21 余り1 21 / 2 =10 余り1 20 / 2 = 5 余り0 5 / 2 = 2 余り1 2 / 2 = 1 余り0 1 / 2 = 0 余り1 下から読むと、0b1010110である。 *これ(0b1010110)を16進数(0x)に変換する。 右から4桁ずつに区切る。 0b0101 0110 = 0x5 6 よって、0x32 + 0x24 = 0x56 b. 0x15 + 0x2d = 0x?? *まず、16進数(0x)を2進数(0b)に変換する。 0x15 = 10101 0x2d = 101101 *次に、10進数(0d)に変換する。 16 8 4 2 1 * * * * * 1 0 1 0 1 16 0 4 0 1 16 +0 +4 +0 +1 = 21 32 16 8 4 2 1 * * * * * * 1 0 1 1 0 1 32 0 8 4 0 1 32 +0 + 8+ 4+ 0 +1 = 45 2つを足すと21 + 45 = 66 *これ(66)を16進数(0x)に変換する。 66 / 2 =33 余り0 33 / 2 =16 余り1 16 / 2 = 8 余り0 8 / 2 = 4 余り0 4 / 2 = 2 余り0 2 / 2 = 0 余り0 1 / 2 = 0 余り1 下から読むと、0b1000010である。 *これ(0b1000010)を16進数(0x)に変換する。 右から4桁ずつに区切る。 0b0100 0010 = 0x6 2 よって、 0x15 + 0x2d = 0x62 c. 0xed - 0x12 = 0x?? *まず、16進数(0x)を2進数(0b)に変換する。 0xed = 11101101 0x12 = 10010 *次に、10進数(0d)に変換する。 128 64 32 16 8 4 2 1 * * * * * * * * 1 1 1 0 1 1 0 1 128 64 32 0 8 4 0 1 128 +64 +32 +0 +8 +4 +0 +1 =237 16 8 4 2 1 * * * * * 1 0 0 1 0 16 0 0 2 0 16 +0 +0 +2 +0 =18 2つを足すと237 - 18 =219 *これ(219)を16進数(0x)に変換する。 219 / 2 = 109余り1 109 / 2 = 54余り1 54 / 2 = 27余り0 27 / 2 = 13余り1 13 / 2 = 6余り1 6 / 2 = 3余り0 3 / 2 = 1余り1 1 / 2 = 0余り1 下から読むと、0b11011011である。 *これ(0b11011011)を16進数(0x)に変換する。 右から4桁ずつに区切る。 0b1101 1011 = 0xd b よって、0xed - 0x12 = 0xdb B、 9 / 7 = 1余り2 16 / 7 = 2余り2 23 / 7 = 3余り2 30 / 7 = 4余り2 9、16、23、30の4つ。 2、プログラム問題 A、 作曲家や曲名等を入力するだけで、その作曲家についての情報が表示されるよう なプログラムを作成した。 <作成したデータ> #作曲家 #出生 #死去 #代表曲 #国籍 モンテヴェルディ 1567 1643 聖母マリアの夕べの祈り イタリア パッヘルベル 1653 1706 パッヘルベルのカノン ドイツ アルビノーニ 1671 1751 アダージョ イタリア ヴィヴァルディ 1678 1741 協奏曲集「四季」 イタリア バッハ 1685 1750 G線上のアリア ドイツ ヘンデル 1685 1759 水上の音楽 ドイツ ハイドン 1732 1809 交響曲第94番「驚愕」 オーストリア マルティーニ 1741 1816 愛の喜び ドイツ ポッケリーニ 1743 1805 メヌエット イタリア モーツアルト 1756 1791 交響曲第40番 オーストリア ベートーベン 1770 1827 交響曲9番「合唱つき」 ドイツ パガニーニ 1782 1840 ヴァイオリン協奏曲第1番 イタリア ウエーバー 1786 1826 歌劇「魔弾の射手」 ドイツ ロッシーニ 1792 2868 「セビリアの理髪師」 イタリア シューベルト 1797 1828 ピアノ五重奏曲「ます」 オーストリア ヨハン・シュトラウス 1804 1849 ラデッキー行進曲 オーストリア ブルグミュラー 1806 1874 25の練習曲第2番「アラベスク」 ドイツ メンデルスゾーン 1809 1847 交響曲第4番「イタリア」 ドイツ ショパン 1810 1849 ノクターン第2番 ポーランド シューマン 1810 1856 トロイメライ ドイツ リスト 1811 1886 ハンガリー狂詩曲第2番 ハンガリー ワーグナー 1813 1883 歌劇「タンホイザー」 ドイツ ヴェルディ 1813 1901 歌劇「アイーダ」 イタリア グノー 1818 1893 アヴェ・マリア フランス オッフェンバック 1819 1880 ホフマン物語 ドイツ スメタナ 1824 1884 交響詩「モルダウ」 チェコスロバキア ヨハン・シュトラウス二世 1825 1899 「美しく青きドナウ」 オーストリア フォスター 1826 1864 「夢見る佳人」 アメリカ ブラームス 1833 1897 ハンガリー舞曲第5番 ドイツ サン=サーンス 1835 1921 白鳥 フランス ビゼー 1838 1875 歌劇「カルメン」 フランス ムソルグスキー 1839 1881 展覧会の絵 ロシア チャイコフスキー 1840 1893 交響曲第6番「悲愴」 ロシア ドヴォルザーク 1841 1904 交響曲第9番「新世界より」 チェコスロバキア エルガー 1857 1934 威風堂々第1番 イギリス プッチーニ 1858 1924 歌劇「マダム・バタフライ」 イタリア ドビュッシー 1862 1918 月の光 フランス サティ 1866 1925 ジムノペティ第1番 フランス レハール 1870 1948 メリー・ウィドウ オーストリア ホルスト 1874 1934 組曲「惑星」 イギリス ラヴェル 1875 1937 ボレロ フランス ガーシュイン 1898 1937 ラプソディー・イン・ブルー アメリカ <前のプログラムからの変更点> 参考にしたプログラムのopen(" ")内のプログラム名をmusic.dataと変更した。 また、空白と空白以外の文字の文字を認識する(\S+)と\s+ の組み合わせ方をデー タに合わせて変更した。今回はsum やava は使用しないプログラムにした。 <作成したプログラム> #!/usr/koeki/bin/ruby #coding: euc-jp print("作曲家について検索します。\t \n") STDERR.print("検索したい作曲家の名前(カタカナ)や曲名を入力して下さい。\t \n") pat = STDIN.gets.chomp #STDIN標準入力 #新しい配列を作成 req = Regexp.new(pat) open("music.data", "r") do |read| while classic = read.gets if req =~ classic if /(\S+)\s+(\d+)\s+(\d+)\s+(\S+)\s+(\S+)/ =~ classic #文字列と空白 sleep 1 print("--------------------------- \t\n") print("--作曲家--\t \n") printf("%s \n",$1) print("--出生年--\t \n") printf("%s \n",$2) print("--死去年--\t\n") printf("%s \n",$3) print("--代表曲--\t \n") printf("%s \n",$4) print("--国籍--\t \n") printf("%s \n",$5) print("---------------------------- \t\n") end end end end <実行結果> *ktermでの実行結果 pan{SATO Saki}% ./music.rb [~/public_html/adv] 作曲家を検索します。 検索したい作曲家の名前をカタカナで入力して下さい。 バッハ --------------------------- --作曲家-- バッハ --出生年-- 1685 --死去年-- 1750 --代表曲-- G線上のアリア --国籍-- ドイツ ---------------------------- *ktermでの実行結果 pan{c111077}% ./music.rb [~/public_html/adv] 作曲家について検索します。 検索したい作曲家の名前(カタカナ)や曲名を入力して下さい。 第[0-9][0-9]番 --------------------------- --作曲家-- ハイドン --出生年-- 1732 --死去年-- 1809 --代表曲-- 交響曲第94番「驚愕」 --国籍-- オーストリア ---------------------------- --------------------------- --作曲家-- モーツアルト --出生年-- 1756 --死去年-- 1791 --代表曲-- 交響曲第40番 --国籍-- オーストリア ---------------------------- *Webでの実行結果 クラシック音楽/作曲家 検索プログラム あなたも知ってる名曲クラシックの数々。 ちょっと名曲を振り返ってみませんか? メニュー 企画書 取扱説明書 プログラム データファイル 著作権について このプログラムは、東北公益文科大学 佐藤 咲(C1110772)が著作権を保有しています。 このプログラムは、入手・実行・改変・再配布はいずれも自由に行うことが出来ます。 ただし、このプログラムで生じたいかなる結果に対しても著作者は責任を負いません。 このプログラムに関する質問・意見などは下記のアドレスまでお送り下さい。 C111077@e.koeki-u.ac.jp トップへ戻る <考察> ktermでの実行結果はきちんとデータを読み込み、検索結果も正しかったので、作成 したプログラムは正常と確認できた。 また、Webでの実行結果もきちんと表示され、自分のメインホームページに戻るリンクも きちんと貼れていたので、プログラムおよび作成したファイルは正常である。 B、 <企画書> ---企画書--- <プログラム名> クラシック音楽/作曲家 検索プログラム <企画内容> レポート課題で作成した data_c1110772.rb と data_c1110772.dat を改良して 作りました。 生活している中で、テレビCMやラジオ、お店の中でかかっているBGMなど、 普段何気なく耳にするクラシック音楽をもっと多くの人に知ってもらいたいと思 い考案しました。 作曲家や曲名等を入力するだけで、その作曲家についての情報が表示されるよう になっています。 少しでも皆さんの豆知識になってくれれば幸いです。 body { background-color: #ffcccc; color: #000066; font-size:100%; text-align: center; margin-right: 15%; margin-left: 15%; margin-top: 10; } h1 { color:#486d94; background:#d1e8ff; font-size: 190%; } h2 { color:#;000066; background:#c5ec84; font-size: 150%; } h3 { color:#000000; background:#ffcc00; font-size: 100%; } h4 { color:#000000; background:#eeeeee; font-size: 90%; } h5 { color:#147e7e; font-size: 90%; } p2 { color:#000000; font-size: 90%; } クラシックプログラム

クラシック音楽/作曲家 検索プログラム

あなたも知ってる名曲クラシックの数々。

ちょっと名曲を振り返ってみませんか?

メニュー

企画書

取扱説明書

プログラム

データファイル

著作権について

このプログラムは、東北公益文科大学 佐藤 咲(C1110772)が著作権を保有しています。 このプログラムは、入手・実行・改変・再配布はいずれも自由に行うことが出来ます。 ただし、このプログラムで生じたいかなる結果に対しても著作者は責任を負いません。

このプログラムに関する質問・意見などは下記のアドレスまでお送り下さい。

c111077@g.koeki-u.ac.jp
トップへ戻る
<今後の課題> クラシックの作曲家は数え切れないほどおり、作曲家や作曲した作品を全てデー タに載せることが出来なかった。プログラムの内容とデータをもっと工夫するこ とができると思うので、これから改良していきたい。 <取扱説明書> ---取扱説明書--- <はじめに> このプログラムでは、クラシックの曲名や作曲家を入力することで、音楽家の情報を検索することができます。 <ダウンロードするファイル> このプログラムを実行するためには、以下の3つのファイルをダウンロードして下さい。 00readme #取扱説明書 music.rb #プログラムファイル music.data #データファイル 以上の3つのファイルを同じディレクトリに保存して下さい。 <使い方> 1、 kterm で chmod +x music.rb と入力 2、 ./music.rb と入力 検索できるようになります。 *作曲家名を検索する時はカタカナで入力。 <著作権について> このプログラムは、東北公益文科大学 佐藤 咲(C1110772)が著作権を保有しています。 このプログラムは、入手・実行・改変・再配布はいずれも自由に行うことが出来ます。 ただし、このプログラムで生じたいかなる結果に対しても著作者は責任を負いません。 このプログラムに関する質問・意見などは下記のアドレスまでお送り下さい。 c111077@g.koeki-u.ac.jp C、 メインホームページ http://roy/~c111077/ 公開先URL http://roy/~c111077/adv/index.html エントリー部門 : 実用部門 キャッチフレーズ : あなたも知ってる名曲クラシックの数々。ちょっと名曲を振り返ってみませんか? プログラムの概略 : このプログラムでは、クラシックの曲名や作曲家を入力することで、音楽家の情報を検索することができる。 3、感想 今回のレポート課題はとても時間がかかったが、作っていて楽しかった。CSSの作り方で忘れていたところがあり、復習にもなった。 参考文献 神田直弥 CSSの基本「カスケーディングスタイルシート」 http://roy/~naoya/ruby/css.html (2012.6.15閲覧) かけこみでら HTML&CSS講座 http://webiti.com/htmltag/cat20/post_3/ (2012.6.15閲覧)