第8回 基礎プログラミング I レポート課題 氏名:吉田瑞恵 学籍番号:C1082030 語学クラス:英語(?) コース(系):社会 1. A.ポイントカードに使われていると考えた。 また、本学での場合、学生証でドミトリーや図書館に入るときにも用いられるし コンピュータやSIPにログインするときにも役立っている。 B.web_data_c108203.dat いくつかの店が共同で出している架空のポイントカードの顧客情報。 会員番号、名前、累計ポイント、最終利用日、最終利用店をデータ化。 #番号 名前 ポイント 最終利用日 最終利用店 01-0001 松山 鶴生 100 H.21 12/1 コンビニ 02-0010 梅野 春鳥 25 H.22 6/9 レンタル 03-0011 桜井 幕美 143 H.22 6/7 ガソリン 04-0100 藤村 子規 496 H.21 2/3 カラオケ 05-0101 八橋 アヤメ 20 H.22 6/2 スーパー 06-0110 蝶野 ぼたん 7 H.21 3/28 コンビニ 07-0111 萩原 猪子 63 H.22 6/3 コンビ 08-1000 薄木 月菜 541 H.22 6/9 カラオケ 09-1001 酒井 菊蔵 10 H.22 4/16 レンタル 10-1010 鹿間 紅葉 158 H.22 2/22 コンビニ 11-1011 下柳 道風 198 H.21 10/2 カラオケ 12-1100 片桐 増二 14 H.22 5/31 ガソリン 2.元のデータ web_order_c108203.rb 架空のポイントカード Pカードのお客様ページの設定で作成。 #!/usr/koeki/bin/ruby name = "松山鶴生" number= "01-0001" point = 100 year = 2009 month = 12 day = 1 l_shop = "コンビニ" v_year = year + 1 printf("%s様 (会員番号 %s)\n", name,number) printf("Pカード会員専用ページにようこそ。\n") printf("現在のPポイントは%dポイントです。\n" ,point) printf("最終利用日 %d年 %d月 %d日\n" ,year ,month,day) printf("最後に御利用になった加盟店:%s\n",l_shop) printf("Pポイント有効期限 %d年 %d月 %d日 \n", v_year ,month,day) printf("※Pポイントの有効期限は最終利用日から一年後です※\n") 実行結果 pan{c108203}% ./web_order_c108203.rb [~/public_html] 松山鶴生様 (会員番号 01-0001) Pカード会員専用ページにようこそ。 現在のPポイントは100ポイントです。 最終利用日 2009年 12月 1日 最後に御利用になった加盟店:コンビニ Pポイント有効期限 2010年 12月 1日 ※Pポイントの有効期限は最終利用日から一年後です※ A問題。web_html_c108203.rb a.設定 上記のプログラム web_order_c109xxx.rb を改造し、 HTML 形式で出力する。 b.作成データ web_html_c108203.rb #!/usr/koeki/bin/ruby name = "松山鶴生" #会員の名前。 number= "01-0001" #会員番号。本来は数字として取り入れたかったが、 #ハイフンが マイナスと認識されて計算されるので # ""でくくり文字列として取り入れることにした。 point = 100 #累計ポイント。 year = 2009 #最終利用日の年。 month = 12 #最終利用日の月 day = 1 #最終利用日の日付 l_shop = "コンビニ" #最後に利用した店 v_year = year + 1 #ポイントの有効期限。valid yearの略。一年間有効とする。 print("\n") #htmlタグ開始。ここから/htmlまでがhtml文。 print("
\n") #タイトルをいれるheadタグ開始。 print("\t※Pポイントの有効期限は最終利用日から一年後です※
\n") #段落 pタグで囲む。 print("\n") #本文のbodyタグ終了。 print("\n") #htmlタグ終了。 c.変更点 http://roy/~madoka/2010/r1/08/08_08_theme_03_htmlcheck.html に掲載のプログラムを元に作成。 変更点 ・値や表示される文を適当なものに変えた点 ・わざと空白の行を作り一行あけて見やすくした点 d.実行結果 pan{c108203}% ./web_html_c108203.rb [~/public_html]
※Pポイントの有効期限は最終利用日から一年後です※
e.考察 kterm上できちんと実行された。 ここで表示されるときはhtmlやbodyのタグの順が変わっていても、エラーなく表 示されることも配置をミスしたことによりわかった。 B問題 作成プログラムweb_open_w_c108203.rb #!/usr/koeki/bin/ruby name = "松山鶴生" number= "01-0001" point = 100 year = 2009 month = 12 day = 1 l_shop = "コンビニ" v_year = year + 1 open("c108203.html","w") do |a| #あるプログラムを開き、ここからの内容を書き込む。変数はaとした。 a.print("\n") a.print("
\n") a.print("現在のPポイントは%dポイントです。 | \n" ,point) a.printf("\t\t最終利用日 %d年 %d月 %d日 | \n" ,year ,month,day) a.printf("\t\t最後に御利用になった加盟店:%s | \n",l_shop) a.printf("\t\tPポイント有効期限 %d年 %d月 %d日 | \n", v_year ,month,day) a.print("\t
※Pポイントの有効期限は最終利用日から一年後です※
\n") a.print("【Pカード加盟店】
\n") a.print("コンビニ,カラオケ,ガソリンスタンド,スーパー
\n") a.print("\n") a.print("\n") end #open〜do終了。 考察 できたウェブページ、 http://roy/~c108203/c108203.html からコピー。 Pカード会員専用ページにようこそ。 松山鶴生様 (会員番号 01-0001) 現在のPポイントは100ポイントです。 最終利用日 2009年 12月 1日 最後に御利用になった加盟店:コンビニ Pポイント有効期限 2010年 12月 1日 ※Pポイントの有効期限は最終利用日から一年後です※ 【Pカード加盟店】 コンビニ,カラオケ,ガソリンスタンド,スーパー きちんと書き込まれ、表示された。 感想 今週はあまりこの課題レポートに割ける時間がなかった。 もっと時間をかけて考えればうまくいったかもしれない。 ページレイアウトを工夫してもっと見やすくしたかったが妥協した。 最初開いて書き込むのがうまくいかなかったが、うまくいき表示されたときは感 動した。 参考文献 基礎プログラミング I 第8回 電子チケットを作ろう 講義ノート http://roy/~madoka/2010/r1/08/08_06_theme_01_structure.html http://roy/~madoka/2010/r1/08/08_07_theme_02_preperation.html http://roy/~madoka/2010/r1/08/08_08_theme_03_htmlcheck.html http://roy/~madoka/2010/r1/08/08_09_theme_04_tabletag.html http://roy/~madoka/2010/r1/08/08_10_theme_05_writehtml.html 製作者 西村まどか先生