第 8 回 電子チケットを作ろう レポート課題 氏名:高田美咲 学籍番号:C1110909 語学クラス:英語1 コース:政策マネジメントコース 1.筆記問題 A.情報のディジタルディバイドとは情報格差を指す。 情報格差には、知識や貧富、年齢の差などが関ってくる。例えば、パソコンを 使いこなせる人とそうでない人、情報機器を購入できる人と購入するお金が無い人、 若者と高齢者がそれぞれに当てはまる。この3つが正反対に該当する人がいた 場合、大きな格差となる。 この情報格差( =ディジタルディバイド )にWebサイトが対応するには、まず情 報関連について知識が少ない人でも理解できる、操作できるサイトを作成する ことが重要になる。さらに料金も安くしなければ貧しい国や貧しい人達は利用 しようと思わない。まずはこの2つに対応することからだと考えた。 B.ネットショッピングで注文すると店舗側にデータが記録される。そして送信さ れてきたメールで注文者は内容を確認できる。 C.今回はスポーツ用品の注文に限定した。 < データ > 注文者名、注文種類、注文番号、注文物、金額の順である。 ◯◯高校サッカー部 団体 01-233-7920 練習着 120,000 野口英世 個人 02-344-5783 スパイク 5,600 夏目漱石 個人 03-455-8210 シューズ 3,000 小野妹子 個人 04-827-9100 シューズ 10,000 ●●中学バレー部 団体 05-271-8911 練習着 25,000 □□□野球部 団体 06-211-0000 ユニホーム 89,600 北条政子 個人 07-665-1234 スパイク 1,999 福澤諭吉 個人 08-234-0987 スノーボード 50,500 徳川家康 個人 09-111-5665 スキーウェア 15,000 豊臣秀吉 個人 10-989-0090 ランニングシューズ 8,000 ☆☆サッカー同好会 団体 11-098-6789 サッカー用品 20,000 ★★バスケ部 団体 12-317-0912 ボール 60,000 2.プログラム問題 A.ネットショッピングでは注文された内容が店舗側にデータとして存在し、それを 注文者が確認できるようにメールに送信する。今回はそのメール送信をホーム ページに反映されるに変更して考え作成した。 < プログラム1 > 始めにRubyでktermにすべて表示されるように作成 #!/usr/koeki/bin/ruby #coding: euc-jp name = Array.new # Arrayで配列 syurui = Array.new number = Array.new mono = Array.new money = Array.new print("注文商品、氏名、団体名などわかる情報を入力して下さい。\n\n") STDERR.print("入力:") #入力部分 STDERRでエラー時メッセージ表示 chu = STDIN.gets.chomp # STDIN 標準入力から読む k = Regexp.new(chu,true) # Regexp 文字列を正規表現に変換 print("\n") i = 0 # 初期値 # open doで open("web_data_c111090.dat","r") do |sport| # web_data~~~をsportに取りこむ while web_data_c111090 = sport.gets # rは読み込みモード if k =~web_data_c111090 if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~web_data_c111090 #正規表現 name[i] = $1 # 配列のどの部分かを指定 syurui[i] = $2 number[i] = $3 mono[i] = $4 money[i] = $5 i += 1 end end end end j =0 # 初期値 while j < name.length # length 配列の長さ printf("注文内容%d : %s 様 \t %s注文 \t %s \n",j+1,name[j],syurui[j],mono[j]) printf("金額: %s円 \t 注文番号: %s\n",money[j],number[j]) print("\n") # プリント文で表示させる文を作成 j +=1 end STDERR.print("注文内容を選択して下さい。:") m = gets.to_i # getsで文字列を取りこむ print("\n") print("このたびは御注文ありがとうございます。\n") print("注文内容の確認をお願いします。\n\n") printf(" %s 様 %s注文 %s 金額: %s円 \n",name[m-1],syurui[m-1],mono[m-1],money[m-1]) printf(" 注文番号: %s\n",number[m-1]) < 実行結果1 > pan{c111090}% ./web_order_c111090.rb [~/Ruby] 注文商品、氏名、団体名などわかる情報を入力して下さい。 入力:サ 注文内容1 : ◯◯高校サッカー部 様 団体注文 練習着 金額: 120,000円 注文番号: 01-233-7920 注文内容2 : ☆☆サッカー同好会 様 団体注文 サッカー用品 金額: 20,000円 注文番号: 11-098-6789 注文内容を選択して下さい。:1 このたびは御注文ありがとうございます。 注文内容の確認をお願いします。 ◯◯高校サッカー部 様 団体注文 練習着 金額: 120,000円 注文番号: 01-233-7920 < プログラム2 > 次にプログラム1に何点か付け加える。 追加点1:print文を使い、kterm上に出力されていた文章を一部HTML形式にする。 追加点2:HTML形式用にprint文を詳しくする。 #!/usr/koeki/bin/ruby #coding: euc-jp name = Array.new # Arrayで配列 syurui = Array.new number = Array.new mono = Array.new money = Array.new print("注文商品、氏名、団体名などわかる情報を入力して下さい。\n\n") STDERR.print("入力:") #入力部分 STDERRでエラー時メッセージ表示 chu = STDIN.gets.chomp # STDIN 標準入力から読む k = Regexp.new(chu,true) # Regexp 文字列を正規表現に変換 print("\n") i = 0 # 初期値 # open doで open("web_data_c111090.dat","r") do |sport| # web_data~~~をsportに取りこむ while web_data_c111090 = sport.gets # rは読み込みモード if k =~web_data_c111090 if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~web_data_c111090 #正規表現 name[i] = $1 # 配列のどの部分かを指定 syurui[i] = $2 number[i] = $3 mono[i] = $4 money[i] = $5 i += 1 end end end end j =0 # 初期値 while j < name.length # length 配列の長さ printf("注文内容%d : %s 様 \t %s注文 \t %s \n",j+1,name[j],syurui[j],mono[j]) printf("金額: %s円 \t 注文番号: %s\n",money[j],number[j]) print("\n") # プリント文で表示させる文を作成 j +=1 end STDERR.print("注文内容を選択して下さい。:") m = gets.to_i # getsで文字列を取りこむ print("\n") #open do で open("web_c111090.html","w") do |html| #web_~~~をhtmlに取りこむ html.printf("\n") # wは書き込みモード html.printf("\n") # の中でホームページ上 html.printf("\t注文内容の確認\n") #では見えない内容の設定を行う html.printf("") html.printf("\n") # 色や文字の大きさなどはcssで設定 html.printf("\n") # の中で表示される設定や文章を作成 html.printf("") html.printf("

注文内容の確認

\n") html.printf("

このたびはご利用頂きありがとうございます。

\n") html.printf("

注文内容の確認をお願いします。


\n\n") html.printf("

%s 様

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

\t %s注文 %s 金額:%s円

\n",syurui[m-1],mono[m-1],money[m-1]) html.printf("

注文番号: %s

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

在庫が確認でき次第、発送させて頂きます。

\n") html.printf("

またのご利用をお待ちしております。

\n") html.printf("") html.printf("\n") html.printf("\n") end < 実行結果2 > この実行結果は、ktermで注文データを探してホームページに送信する注文内容 を決定するまでの実行結果である。 pan{c111090}% ./web_order_c111090.rb [~/public_html/openweb] 注文商品、氏名、団体名などわかる情報を入力して下さい。 入力:サ 注文内容1 : ◯◯高校サッカー部 様 団体注文 練習着 金額: 120,000円 注文番号: 01-233-7920 注文内容2 : ☆☆サッカー同好会 様 団体注文 サッカー用品 金額: 20,000円 注文番号: 11-098-6789 注文内容を選択して下さい。:1 < HTML 実行結果 > 実行結果2で送信された注文内容を確認できる。 この内容がホームページに表示されるため、HTML形式になっている。 注文内容の確認

注文内容の確認

このたびはご利用頂きありがとうございます。

注文内容の確認をお願いします。


◯◯高校サッカー部 様

団体注文 練習着 金額:120,000円

注文番号: 01-233-7920

在庫が確認でき次第、発送させて頂きます。

またのご利用をお待ちしております。

< cssについて > HTMLに変化をつけるためcssファイルを作成した。 < 出力結果ホームページ > HTML実行結果に表示された注文内容確認がホームページに送信されている。 ホームページでは次のように表示された。 ↓ ↓ ↓ ↓ 注文内容の確認 このたびはご利用頂きありがとうございます。 注文内容の確認をお願いします。 ◯◯高校サッカー部 様 団体注文 練習着 金額:120,000円 注文番号: 01-233-7920 在庫が確認でき次第、発送させて頂きます。 またのご利用をお待ちしております。 このアドレスでホームページをみることができる。 http://roy/~c111090/openweb/web_c111090.html < 考察 > このプログラムはkterm、HTML形式表示ファイル、ホームページが連動している。 そのため正しく機能しているか他の内容を検索して確かめる。 * ktermで検索 * pan{c111090}% ./web_order_c111090.rb [~/public_html/openweb] 注文商品、氏名、団体名などわかる情報を入力して下さい。 入力:シューズ 注文内容1 : 夏目漱石 様 個人注文 シューズ 金額: 3,000円 注文番号: 03-455-8210 注文内容2 : 小野妹子 様 個人注文 シューズ 金額: 10,000円 注文番号: 04-827-9100 注文内容3 : 豊臣秀吉 様 個人注文 ランニングシューズ 金額: 8,000円 注文番号: 10-989-0090 注文内容を選択して下さい。:3 * HTML形式表示 * pan{c111090}% cat web_c111090.html [~/public_html/openweb] 注文内容の確認

注文内容の確認

このたびはご利用頂きありがとうございます。

注文内容の確認をお願いします。


豊臣秀吉 様

個人注文 ランニングシューズ 金額:8,000円

注文番号: 10-989-0090

在庫が確認でき次第、発送させて頂きます。

またのご利用をお待ちしております。

* ホームページ表示 * 注文内容の確認 このたびはご利用頂きありがとうございます。 注文内容の確認をお願いします。 豊臣秀吉 様 個人注文 ランニングシューズ 金額:8,000円 注文番号: 10-989-0090 在庫が確認でき次第、発送させて頂きます。 またのご利用をお待ちしております。 確認検索の結果は、間違いやエラーは見当たらない。そしてcssでの設定も正し く表示されている。 そのため、このプログラムは正しく機能している。 < 参考資料 > 西村まどか 基礎プログラミング I 第 7 回 (正規表現と Ruby 言語でのプログラミング) 「駅名だけを切り出そう」 http://roy/~madoka/2012/r1/07/r1_07_09_theme_07_parenthesis.html 基礎プログラミング I 第 8 回 (電子チケットを作ろう) 「HTML 文書を自動で作る前に」 http://roy/~madoka/2012/r1/08/r1_08_07_theme_01_preperation.html (電子チケットを作ろう) 「HTML 文書の打ち出し」 http://roy/~madoka/2012/r1/08/r1_08_10_theme_04_writehtml.html TAG HTMLタグ・CSS・テンプレート - Web制作のインデックスサイト http://www.tagindex.com/index.html Free Web Graphics blue-green フリー素材サイト http://bluegreen.jp/sozai/line/stationery/index.html 3. 感想 理論経済学や環境経済学などで学ぶ内容はまだ基礎的なところなので、図を書く ことが多い。そこで、数値がわかっていればエクセルで数値を入力すれば図が挿 入されるので毎回書くより手間がはぶけると思った。 そして、実際あるのかもしれないが簿記や財務処理も数値を入力すれば 計算してくれるソフトウェアがあったら楽になるだろうとも思った。 ホームページのアドレスで、先生の指定アドレスはhttp://~ユーザID/openweb/ ユーザ ID.htmlなのだが、HTML文書の出力ファイル名をweb_ユーザ ID.htmlに設 定してしまった。そのためホームページも連動するのでホームページへアクセス するアドレスがhttp://~c111090/openweb/web_c111090.htmlになってしまった。 今回の課題はRubyとHTMLの両方を使用した。そのためRubyでは今まで学んだこと を活かして、HTMLは復習しながら取り組めた。HTMLのcssについては1年次に学ん だ程度になってしまった。さらに完成度が高いホームページにするにはもっと時 間が必要だと感じた。また、今回ホームページに画像をいれたが、背景が黄色な のに対して画像の周りは白になってしまった。ペイントで白の部分を加工したか ったのだが、UNIXでペイントを起動できるかわからなかったので出来なかった。 そして他にも方法があれば知りたいと感じた。HTMLについてはこれからも学ぼう と思えばレベルも向上すると思うので時間があるときに調べて少しでも多くの方 法を身につけたいと思う。