第 8 回 電子チケットを作ろう レポート課題 氏名:伊藤静香 学籍番号:c111017A 語学クラス:英語1 コース:地域共創コース 1、 A、 デジタルディバイトとは、情報技術による格差である。 その格差をなくすためWebサイトでは、 目が不自由の人のために音声機能をつけたり 電磁波を極力減らす取り組みをしている。 ●引用文献● IT用語辞典 e-Words http://e-words.jp/w/E38387E382B8E382BFE383ABE38387E38390E382A4E38389.html デジタル・デバイトとその解決策について http://www.ethics-otani.info/jinbun/2005/0248097/dai3syou.html B、 ユーザが確認できる仕組みは 学生証、会員制のカードやサイトに 使われている。 C、 本人が確認できるような登録証のデータを作成した。 ●作成したデータ● (web_data_c111017.dat) #登録番号 #性別 #名前 #出身地 #所属会社 1 男 田児 賢一 東京都 東日本電信電話株式会社 2 女 末綱 聡子 熊本県 ルネサスセミコンダクタ九州・山口株式会社 3 女 前田 美順 熊本県 ルネサスセミコンダクタ九州・山口株式会社 4 男 佐々木 翔 富山県 トナミ運輸株式会社 5 女 潮田 玲子 東京都 日本ユニシス株式会社 6 男 佐藤 翔治 東京都 東日本電子電話株式会社 7 男 池田 信太郎 東京都 日本ユニシス株式会社 8 女 今別府 香里 大阪府 パナソニック株式会社 ●引用文献● 公益財団法人 日本バドミントン協会 日本代表 代表メンバー http://www.badminton.or.jp/national/member.html 2, 上記で作成したデータを表示できるプログラムを作った。 ●作成したプログラム● (web_order_c111017A.rb) #!/usr/koeki/bin/ruby #koding: euc-jp number = Array.new seibetu = Array.new name = Array.new from = Array.new work = Array.new i = 0 open("web_data_c111017.dat","r") do |bad| # web_data_c111017.datを 変数 bad にする while badminton = bad.gets # gets を変数 bad に代入 する if /(\d+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ badminton # 順番に読み込む (\d+) は数字、 (\S+) は文字 number[i] = $1.to_i seibetu[i] = $2 name[i] = $3 from[i] = $4 work[i] = $5 i += 1 end end end #p number, seibetu, name, from, work j =0 while j < number.length print("======登録者情報======\n") printf("登録番号: %d\n",number[j]) printf("性別: %s\n",seibetu[j]) printf("名前: %s\n",name[j]) printf("出身地: %s\n",from[j]) printf("所属会社: %s\n",work[j]) j += 1 end ●変更点● ・配列 stop = Array.new、dist = Array.newを 配列 number = Array.new、seibetu = Array.new、 name = Array.new、、from = Array.new、work = Array.newにした。 ・open の中のデータを変え、変数も変えた。 open("rikuusaisen.dat","r") do |fead| ↓ open("web_data_c111017.dat","r") do |bad| ・gets に代入する変数も変えた。 if /(\d+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ badminton ↓ if /(\S+)\s+(\d+.\d+)/ =~ name ・とりこむ量がちがうため多くした。 number[i] = $1.to_i seibetu[i] = $2 name[i] = $3 from[i] = $4 work[i] = $5 ●実行結果● ======登録者情報====== 登録番号: 1 性別: 男 名前: 田児賢一 出身地: 東京都 所属会社: 東日本電信電話株式会社 ======登録者情報====== 登録番号: 2 性別: 女 名前: 末綱聡子 出身地: 熊本県 所属会社: ルネサスセミコンダクタ九州・山口株式会社 ======登録者情報====== 登録番号: 3 性別: 女 名前: 前田美順 出身地: 熊本県 所属会社: ルネサスセミコンダクタ九州・山口株式会社 ======登録者情報====== 登録番号: 4 性別: 男 名前: 佐々木翔 出身地: 富山県 所属会社: トナミ運輸株式会社 ======登録者情報====== 登録番号: 5 性別: 女 名前: 潮田玲子 出身地: 東京都 所属会社: 日本ユニシス株式会社 ======登録者情報====== 登録番号: 6 性別: 男 名前: 佐藤翔治 出身地: 東京都 所属会社: 東日本電子電話株式会社 ======登録者情報====== 登録番号: 7 性別: 男 名前: 池田信太郎 出身地: 東京都 所属会社: 日本ユニシス株式会社 ======登録者情報====== 登録番号: 8 性別: 女 名前: 今別府香里 出身地: 大阪府 所属会社: パナソニック株式会社 ●考察● 実行結果から、正しく表示されているため プログラムは正しいと言える。 a、 作成したプログラムを HTML 形式で表示させるようにした。 ●作成したプログラム● (web_html_c111017A.rb) #!/usr/koeki/bin/ruby # coding: euc-jp number = "5" seibetu = "女" name = "潮田 玲子" from = "東京都" work = "日本ユニシス株式会社" printf("\n") printf("\n") printf("t登録データ") printf("") printf("\n") printf("\n") printf("

=====登録者情報=====

\n") printf("

登録番号 %s

\n",number) printf("

性別: %s

\n",seibetu) printf("

名前: %s

\n",name) printf("\n") printf("\t\n") printf("

出身地: %s

\n",from) printf("\t\n") printf("\t\n") printf("

所属会社: %s

\n",work) printf("
\n") printf("\n") printf("\n") ●変更点● ・表示したい内容がちがうためデータの 内容がちがう。 ・、 を

に変えた。 ・配列をあらかじめ指定した。 ●実行結果● t登録データ

=====登録者情報=====

登録番号 5

性別: 女

名前: 潮田 玲子

出身地: 東京都

所属会社: 日本ユニシス株式会社

●考察● 実行結果から、正しく表示されているため プログラムは正しいと言える。 b、 ●作成したプログラム● (web_order_c111017A.rb<2>) # public_html に入っている #!/usr/koeki/bin/ruby # coding: euc-jp number = Array.new seibetu = Array.new name = Array.new from = Array.new work = Array.new i = 0 open("web_data_c111017.dat","r") do |bad| while badminton = bad.gets if /(\d+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ badminton number[i] = $1.to_i seibetu[i] = $2 name[i] = $3 from[i] = $4 work[i] = $5 i += 1 end end end #p number, seibetu,name, from, work j =0 open("web_c111017.html","w") do |html| while j < number.length html.printf("\n") html.printf("\n") html.printf("登録データ") html.printf("") html.printf("\n") html.printf("\n") html.printf("

=====登録者情報=====

\n") html.printf("

登録番号 %s

\n",number[j]) html.printf("

性別: %s

\n",seibetu[j]) html.printf("

名前: %s

\n",name[j]) html.printf("\n") html.printf("\t\n") html.printf("\t\t\n",from[j]) html.printf("\t\n") html.printf("\t\n") html.printf("\t\t\n",work[j]) html.printf("
出身地: %s
所属会社: %s
\n") html.printf("\n") html.printf("\n") j += 1 end end ●変更点● STDERR.printf("出発駅番号:") dpt = gets.to_i STDERR.printf("目的駅番号:") arv = gets.to_ #p stop[dpt-1],dist[dpt-1],stop[arv-1],dist[arv-1] len = dist[dpt-1] - dist[arv - 1] #p len if len < 0 len *= -1 end 上記の文はなくした。 ●作成したプログラム● (web_data_c111017.css) body { background: #ffff99; } h1 { color: #ff6699; text-align: center; } h2 { color: #000033; text-align: center; } p { color: #000033; text-align: center; } table.center { margin:auto; } tr { border: 1px yellow solid; } ●変更点● style.cssを参考に web_data_c111017.cssを作った。 項目数、色、フォントサイズ、文字の位置を変更した。 ●実行結果● プログラムが表示されるURL http://roy/~c111017/openweb/web_c111017.html ブラウザでURLを入力してみるとそのURLに進むことができる。 そこには、 =====登録者情報===== 登録番号 1 性別: 男 名前: 田児賢一 出身地: 東京都 所属会社: 東日本電信電話株式会社 と他の7人のもでてきた。 ●考察● そのファイルを読み込ませホームページ画面で確認したら、 色、文字の部分がきちんと表示されているため 正確にプログラムが起動したといえる。 3、感想 だいたいの講義ではプレゼンをつかって プロジェクターに映しだして講義をする。 cssをやっているときにセンターにならないことがあったが 変えたりすることでできた。 Ruby から public にうつすことに時間がかかったりもした。 講義ではついていくことで精一杯なため 自分の興味のあることをプログラムにすると 理解しやすいのだと思った。 ●参考文献● 2012年度 西村まどか 基礎プログラミング I 第 8 回 「電子チケットを作ろう」 講義ノート http://roy/~madoka/2012/r1/08/lec/resume.html ●共同研究者● 菊池桃子、鈴木茉衣子、高橋岬