第 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("注文内容の確認をお願いします。
\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("このたびはご利用頂きありがとうございます。
注文内容の確認をお願いします。
団体注文 練習着 金額:120,000円
注文番号: 01-233-7920
在庫が確認でき次第、発送させて頂きます。
このたびはご利用頂きありがとうございます。
注文内容の確認をお願いします。
個人注文 ランニングシューズ 金額:8,000円
注文番号: 10-989-0090
在庫が確認でき次第、発送させて頂きます。