第 8 回 電子チケットを作ろう レポート課題 氏名:高橋岬 学籍番号:c1110973 語学クラス:英語5 コース:環境サイエンスコース 1.A.デジタルデバイドとは情報格差のことで、コンピュータを使いこなせる者 (若者、高所得者)と使いこなせない者(高齢者、貧困のため情報機器を入手 できない人)の間で社会的な格差が拡大することである。 この情報格差に対しWebサイトでは、操作を簡単にすることが解決策になる のではないだろうか。 今多くのサイトでは広告などで、余計な情報があふれているページが多いよ うに思われる。 パッと見たときに、どこをクリックすれば知りたい情報が得られるかがわか るような、質素なWebページ作りが必要だと思う。 また視覚障がい者の方にも使えるように、音声でWebページを聞き取れるよ うな、HTML言語を読み取りやすくすることも大切だと思う。 引用文献 IT用語辞典 e-Words デジタルデバイドとは http://e-words.jp/w/E38387E382B8E382BFE383ABE38387E38390E382A4E38389.html B.学内のパソコンやSIPなどは、ユーザIDとパスワードをいれるとユーザのデー タが確認できる仕組みである。 また、TSUTAYAやゲオなどのレンタルショップ、ヤマザワやイオンなどのスー パーマーケット、ツルハなどドラッグストアのポイントカードなども、デー タを読み込ませることでユーザ確認、ポイント情報を得ることができる仕組 みになっている。 C.作成したデータ 日本人ノーベル賞受賞者の情報 #名前 #出身大学 #受賞年 #受賞部門 #受賞理由等 湯川秀樹 京都 1949 物理学 中間子の存在の予想 朝永振一郎 京都 1965 物理学 量子電気力学分野での基礎的研究 川端康成 東京 1968 文学 『雪国』『千羽鶴』等の作品 江崎玲於奈 東京 1973 物理学 半導体におけるトンネル効果の実験的発見 佐藤栄作 東京 1974 平和 非核三原則の提唱 福井謙一 京都 1981 化学 化学反応過程の理論的研究 利根川進 京都 1987 生理学・医学 多様な抗体を生成する遺伝的原理の解明 大江健三郎 東京 1994 文学 『個人的な体験』『万延元年のフットボール』等の作品 白川英樹 東京工業 2000 化学 導電性高分子の発見と発展 野依良治 京都 2001 化学 キラル触媒による不斉合成反応の研究 小柴昌俊 東京 2002 物理学 天体物理学、特に宇宙ニュートリノの検出に対するパイオニア的貢献 田中耕一 東北 2002 化学 生体高分子の同定および構造解析のための手法の開発 小林誠 名古屋 2008 物理学 対称性の破れによるクォーク世代の予言(小林・益川理論) 益川敏英 名古屋 2008 物理学 対称性の破れによるクォーク世代の予言(小林・益川理論) 南部陽一郎 東京 2008 物理学 自発的対称性の破れ、量子色力学 下村脩 長崎医科 2008 化学 緑色蛍光タンパク質(GFP)の発見とその開発 鈴木章 北海道 2010 化学 クロスカップリングの共同開発 根岸英一 東京 2010 化学 クロスカップリングの共同開発 引用文献 Wikipedia フリー百科事典 ノーベル賞 日本人の受賞者 http://ja.wikipedia.org/wiki/%E3%83%8E%E3%83%BC%E3%83%99%E3%83%AB%E8%B3%9E.html 2.A.作成したプログラム #!/usr/koeki/bin/ruby #coding: euc-jp name = Array.new # 名前 univer = Array.new # 出身大学 year = Array.new # 受賞年 section = Array.new # 受賞部門 reason = Array.new # 理由等 i = 0 # しまう変数 open("web_data_c111097.dat", "r") do |data| # web_data_c111097.dat(1.C.にて作成したプログラム) を読み込み(r)、以後は data として扱う while nobel_prize = data.gets # nobel_prize のデータを data(web_data_c111097.dat) から受けいれる if /(\S+)\s+(\S+)\s+(\d+)\s+(\S+)\s+(\S+)\s/ =~ nobel_prize # nobel_prize のデータを [ ] にしまう name[i] = $1 # [ ] の1番目にある univer[i] = $2 # [ ] の2番目にある year[i] = $3.to_i # [ ] の3番目にあり、整数値として扱う section[i] = $4 # [ ] の4番目にある reason[i] = $5 # [ ] の5番目にある i += 1 # 1ずつ増えていく end end end j = 0 # [ ]内で何個目か(0から数える) while j < name.length # name[ ]内の総数回目でストップする printf("候補 %d: %s \n", j+1, name[j]) # kterm に表示させる言葉(候補◯/名前) j += 1 # 1ずつ増えていく end STDERR.print("上記の候補から選択して下さい。: ") # 入力させたい文字への導入 m = gets.to_i # 入力された文字を受け付ける printf("表彰状\n") # kterm に表示させる言葉 printf("ノーベル%s賞\n", section[m-1]) # kterm に表示させる言葉(ノーベル◯◯賞) printf("%s大学出身 %s 殿\n", univer[m-1], name[m-1]) # kterm に表示させる言葉(◯◯大学出身 ◯◯◯◯ 殿) printf("以下の理由より表彰状を贈ります。\n") # kterm に表示させる言葉 printf("====================\n") # kterm に表示させる言葉 printf("%s\n", reason[m-1]) # kterm に表示させる言葉(理由~) printf("====================\n") # kterm に表示させる言葉 printf("%d年◯月×日 アルフレッド・ノーベルの遺言に従って。\n", year[m-1]) # kterm に表示させる言葉(◯◯年◯月×日) # [m-1] となっているのは [ ] が 0 から数えられるため 実行したプログラム pan{c111097}% ./web_order_c111097.rb [~/Ruby] 候補 1: 湯川秀樹 候補 2: 朝永振一郎 候補 3: 川端康成 候補 4: 江崎玲於奈 候補 5: 佐藤栄作 候補 6: 福井謙一 候補 7: 利根川進 候補 8: 大江健三郎 候補 9: 白川英樹 候補 10: 野依良治 候補 11: 小柴昌俊 候補 12: 田中耕一 候補 13: 小林誠 候補 14: 益川敏英 候補 15: 南部陽一郎 候補 16: 下村脩 候補 17: 鈴木章 候補 18: 根岸英一 上記の候補から選択して下さい。: 8 表彰状 ノーベル文学賞 東京大学出身 大江健三郎 殿 以下の理由より表彰状を贈ります。 ======================================== 『個人的な体験』『万延元年のフットボール』等の作品 ======================================== 1994年◯月×日 アルフレッド・ノーベルの遺言に従って。 考察 表彰状以下の文を使用したデータと比較したときに、間違いがないのがわか る。 よってこのプログラムは正しく起動している。 a. kterm 上で public_html のディレクトリ下に、新に openweb のディレ クトリを作る。(mkdir) pan{c111097}% cd public_html [~] pan{c111097}% mkdir ./openweb/ [~/public_html] pan{c111097}% [~/public_html/openweb] Ruby で作った web_order_c111097.rb と web_data_c111097.dat を openweb に移動する。(cp) pan{c111097}% cp ~/Ruby/web_order_c111097.rb ./ [~/public_html/openweb] pan{c111097}% cp ~/Ruby/web_data_c111097.dat ./ [~/public_html/openweb] pan{c111097}% [~/public_html/openweb] ls するとファイルとデータが移動したことが確認できる。 pan{c111097}% ls [~/public_html/openweb] web_order_c111097.rb* web_data_c111097.dat* この移動したファイルとデータを元に kterm 上にHTML形式で出力できる ファイルを作っていく。 ※ 以後、変更/書き加えた部分のみを記載していく。 変更したプログラム 候補から選ばせたあとの printf 文にHTML言語を加えた。 printf("\n") # でHTML文章であることを示す printf("\n") # の後には が続く(ページ情報の記載) printf("ノーベル賞 表彰状\n") # ページタイトル printf("\n") # 閉じ printf("\n") # 本文 printf("

表彰状

\n") #

文章の見出し1 printf("

ノーベル%s賞

\n", section[m-1]) #

文章の見出し2 printf("

%s大学出身 %s 殿

\n", univer[m-1], name[m-1]) #

通常の文書 printf("

以下の理由より表彰状を贈ります

\n") printf("

========================================

\n") printf("

%s

\n", reason[m-1]) printf("

========================================

\n") printf("

%d年◯月×日 アルフレッド・ノーベルの遺言に従って

\n", year[m-1]) printf("\n") # 閉じ printf("\n") # 閉じ 実行したプログラム pan{c111097}% ./web_order_c111097.rb [~/public_html/openweb] ノーベル賞受賞者(日本人)の表彰状を発行します。 候補 1: 湯川秀樹 候補 2: 朝永振一郎 候補 3: 川端康成 候補 4: 江崎玲於奈 候補 5: 佐藤栄作 候補 6: 福井謙一 候補 7: 利根川進 候補 8: 大江健三郎 候補 9: 白川英樹 候補 10: 野依良治 候補 11: 小柴昌俊 候補 12: 田中耕一 候補 13: 小林誠 候補 14: 益川敏英 候補 15: 南部陽一郎 候補 16: 下村脩 候補 17: 鈴木章 候補 18: 根岸英一 上記の候補から選択して下さい。: 8 ノーベル賞 表彰状

表彰状

ノーベル文学賞

東京大学出身 大江健三郎 殿

以下の理由より表彰状を贈ります

========================================

『個人的な体験』『万延元年のフットボール』等の作品

========================================

1994年◯月×日 アルフレッド・ノーベルの遺言に従って

考察 printf 文に HTML言語を書き足しただけなので正しく起動している。 参考文献 基礎プログラミング I 第 8 回 (電子チケットを作ろう) 「CSS の復習」 http://roy/~madoka/2012/r1/08/r1_08_05_review_05_cascadingstylesheet.html b. Ctrl+x Crrl+f で openweb に web_c111097.html を作り、そこに上記の 検索結果が書きこまれるようにする。 変更したプログラム 2.A.a. で変更した printf 文にさらに書き込むための言葉を加えた。 open("web_c111097.html", "w") do |html| # web_data_c111097.html に書き込み(w)、以後は html として扱う html.printf("\n") html.printf("\n") html.printf("ノーベル賞 表彰状\n") html.printf("\n") html.printf("\n") html.printf("

表彰状

\n") html.printf("

ノーベル%s賞

\n", section[m-1]) html.printf("

%s大学出身 %s 殿

\n", univer[m-1], name[m-1]) html.printf("

以下の理由より表彰状を贈ります

\n") html.printf("

========================================

\n") html.printf("

%s

\n", reason[m-1]) html.printf("

========================================

\n") html.printf("

%d年◯月×日 アルフレッド・ノーベルの遺言に従って

\n", year[m-1]) html.printf("\n") html.printf("\n") end # html. とすることで、 html(web_c111097.html) に書き込むことができる print("正常に発行されました。下記URLへアクセス↓\n") # kterm に表示させる言葉(動作が正常に行われたか) printf("http://roy/~c111097/openweb/web_c111097.html\n") # kterm に表示させる言葉(URL) 実行したプログラム pan{c111097}% ./web_order_c111097.rb [~/public_html/openweb] ノーベル賞受賞者(日本人)の表彰状を発行します。 候補 1: 湯川秀樹 候補 2: 朝永振一郎 候補 3: 川端康成 候補 4: 江崎玲於奈 候補 5: 佐藤栄作 候補 6: 福井謙一 候補 7: 利根川進 候補 8: 大江健三郎 候補 9: 白川英樹 候補 10: 野依良治 候補 11: 小柴昌俊 候補 12: 田中耕一 候補 13: 小林誠 候補 14: 益川敏英 候補 15: 南部陽一郎 候補 16: 下村脩 候補 17: 鈴木章 候補 18: 根岸英一 上記の候補から選択して下さい。: 8 正常に発行されました。下記URLへアクセス↓ http://roy/~c111097/openweb/web_c111097.html 出力結果(kterm) pan{c111097}% cat ./web_c111097.html [~/public_html/openweb] ノーベル賞 表彰状

表彰状

ノーベル文学賞

東京大学出身 大江健三郎 殿

以下の理由より表彰状を贈ります

========================================

『個人的な体験』『万延元年のフットボール』等の作品

========================================

1994年◯月×日 アルフレッド・ノーベルの遺言に従って

出力結果(Web) http://roy/~c111097/openweb/web_c111097.html 表彰状 ノーベル文学賞 東京大学出身 大江健三郎 殿 以下の理由より表彰状を贈ります ======================================== 『個人的な体験』『万延元年のフットボール』等の作品 ======================================== 1994年◯月×日 アルフレッド・ノーベルの遺言に従って 考察 検索結果(2.A.b.以前)と出力結果(kterm/Web)と比べても、正しく起動し ている。 また Web に正常に表示されていることからHTML言語も正しことがわかっ た。 c. Ctrl+x Crrl+f で openweb に web_c111097.css を作り、 スタイル設定 をする。 変更したプログラム 2.A.b. で変更したプログラムにスタイル設定を加えた。 open("web_c111097.html", "w") do |html| html.printf("\n") html.printf("\n") html.printf("ノーベル賞 表彰状\n") html.printf("") # stylesheet を css で設定し、その css ファイル名を与える html.printf("\n") html.printf("\n") html.printf("

表彰状

\n") html.printf("

ノーベル%s賞

\n", section[m-1]) html.printf("

%s大学出身 %s 殿

\n", univer[m-1], name[m-1]) html.printf("

以下の理由より表彰状を贈ります

\n") html.printf("

========================================

\n") html.printf("

%s

\n", reason[m-1]) html.printf("

========================================

\n") html.printf("

%d年◯月×日 アルフレッド・ノーベルの遺言に従って

\n", year[m-1]) html.printf("\n") html.printf("\n") end 作成したスタイルシート body { font-size: x-large; # 文字の大きさ background-color: #ffffcc; # 背景の色 color: #333333; # 文字の色 padding: 1ex; # 枠からの距離 border: 3px double #006600; # 外枠の太さ/様式/色 text-align: center; # どこに位置するか(場所) margin: 15px 140px 15px 140px; # 枠の大きさ } h1 { font-size: xx-large; background-color: #ffffcc; color: #333333; text-align: center; font-style:italic; # 文字の様式 } h2 { font-size: x-large; background-color: #006600; color: #ffffcc; margin: 10px 100px 10px 100px; } p { font-size: medium; color: #333333; margin: 10px 100px 10px 100px; } 考察 Webページ(http://roy/~c111097/openweb/web_c111097.html)を見てもら えばわかるように、スタイル設定ができている。 検索結果が変わっても、スタイルは変わらないのを確かめて頂きたい。 スタイル設定は正しく起動している。 1.C./2.A.参考にしたプログラム 基礎プログラミング I 第 8 回 「電子チケットを作ろう」の授業時に作成 public_html/ticket/write_ticket.rb 3.感想 資源循環型社会論第2回の講義で使用した資料に、表計算ソフトが関連して いると思う。 資料には棒グラフや折れ線グラフ、円グラフなどの多くの表が見られた。 これらを作成する際に、表計算ソフトがもっとも適切だと思われる。 今回の課題について、特に問題はなかった。 以前の市町村のデータよりは、面白いデータだったと思う。 しかし、考察の文量がいつものメールに比べて少なくなってしまった。 プログラムに力をいれ、解説もいつもより頑張ったつもりだが、考察に工夫が 足りなかったかもしれない。 修正できる部分、足りない部分があったら教えていただきたいです。 ----------------------------- 高橋 岬 東北公益文科大学 2年 c111097@g.koeki-u.ac.jp -----------------------------