第8回 基礎プログラミング II レポート課題 氏名:小松 由里 学籍番号:c1090673 語学クラス:中国語1 コース(系):環境サイエンス 1、筆記問題 ================================================================= A、CGI と Hash の似ている点 CGT の場合、ユーザーがデータを入力すると、そのデータを確定させ、他のプロ グラムに受け渡して表示させる。 Hash の場合、key は value とが対になり、登録されているデータが表示され る。 上記のことから、CGI と Hash の似ている点は、ある値を選択すると、特定の値を 返すことであると思う。 ------------------------------------------------------------------------------ B、.htaccess, *.html, *.rb は互いにどのような関係か .htaccess は CGI を使用するためのディレクトリとなる。そしてそのディレク トリ内に、*.html を作成し、どのように画面に表示させるかを決める。そして *.rb を作成すると、ユーザーから入力されたデータを受け取って、その値を返 す関係であるといえる。 ディレクトリ内で作成された *.rb は、CGIスクリプトと認識されるようになる。 ------------------------------------------------------------------------------ C、*.html で CGI 変数を渡す仕組み ユーザーにデータを入力させるためには、form というタグを作成する。 タグは以下のようになる。
このタグによって、*.html で CGI 変数を渡すことができるようになる。 ------------------------------------------------------------------------------ D、*.rb で CGI 変数を受け取って HTML 文書にする仕組み *.rb で CGI 変数を受け取って HTML 文書にする仕組みは下記のようになって いる。 CGI での結果を HTML で表示させるには、Ruby を使用するので、まず、Ruby を 動かす宣言をする。 #!/usr/bin/koeki/env ruby 次に、受け取ったデータを使用する宣言をする。 require 'cgi' CGI 変数 = CGI.new("html4") print("Content-type: text/html; charest=EUC_JP\n\n") そして最後に、作成したCGIスクリプトの名前を定義するために Hash を使用し、 実行して結果を表示させる HTML 文章 print文を作ることにより、HTML文章が表 示される。 2、プログラム問題 ============================================================ A、オンライン発券システム a、考えた設定 出発駅と終点駅をユーザーが選択し、決定を押すと、その選択した駅名が記載さ れたチケットが表示されるプログラム。 b、作成したプログラム [ hakken.html ] 庄内鉄道発券システム

庄内鉄道発券システム






ホームページに戻る
プログラミング後期の感想へ
------------------------------------------------------------------------------ [ hakken.css ] body{ background: #ffff99 ; } h1{ color: #ffffff ; font-size: 2em; text-align: center; background: #339900 ; } h2{ color: #ffffff; font-size: 1.5em; text-align: center; background: #999900 ; } ------------------------------------------------------------------------------ [ hakken.rb ] #!/usr/koeki/bin/ruby require'cgi' # CGI を使用するための宣言 cgi = CGI.new("html4") # HTML で CGI を使用する print("Content-type: text/html; charest=EUC-jp\n\n") # 日本語表記にする arv = cgi["arrive"] # 受け取ったデータを使用する宣言 fin = cgi["finish"] print("\n") print("\n") # html print("\n") # head print("庄内鉄道発券システム\n") # title・title 終わり print("\n") # head 終わり print("\n") # body print("

\n") print("

==================== 庄内鉄道チケット =====================

\n") printf("

出発駅 %s -- 到着駅 %s まで\n

", arv, fin) print("

チケット有効期限は発券してから1週間となっています。\n

") print("

\n") print("\n") # body 終わり print("\n") # html 終わり # print文で HTML 文章を表示させる c、もとにしたプログラム プログラム ticket.rb を参考にした。 受け取ったデータを使用するための宣言を付け足し、css 文・を新たに付け加え た。 d、実行結果 <酒田から余目まで> pan{c109067}% ./hakken.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) arrive="酒田" finish="余目" Content-type: text/html; charest=EUC-jp 庄内鉄道発券システム

==================== 庄内鉄道チケット =====================

出発駅 酒田 -- 到着駅 余目 まで

チケット有効期限は発券してから1週間となっています。

------------------------------------------------------------------------------ <砂越から鶴岡まで> pan{c109067}% ./hakken.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) arrive="砂越" finish="鶴岡" Content-type: text/html; charest=EUC-jp 庄内鉄道発券システム

==================== 庄内鉄道チケット =====================

出発駅 砂越 -- 到着駅 鶴岡 まで

チケット有効期限は発券してから1週間となっています。

------------------------------------------------------------------------------ pan{c109067}% ./hakken.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) arrive="酒田" finish="山形" Content-type: text/html; charest=EUC-jp 庄内鉄道発券システム

==================== 庄内鉄道チケット =====================

出発駅 酒田 -- 到着駅 山形 まで

チケット有効期限は発券してから1週間となっています。

e、考察 設定通りにプログラムが起動し、きちんと出発駅・終点駅・print文が表示 されたので、このプログラムは正しく実行されているといえる。 また、データ内にない地名を打ち込んでもきちんと結果が表示された。 f、参考文献 最後に記載 B、基礎プログラミング II のバナー (logo_r2_c109067.png) ====================== 掲載したアドレス http://roy/~c109067/logo_r2_c109067.png C、Writer の復習 ============================================================= プログラミング後期の感想 リンク先 http://roy/~c109067/advertise2/r2_c109067.pdf ホームページ リンク先 http://roy/~c109067/ 最高傑作 リンク先 http://roy/~c109067/advertise2/index.html 3、感想 ====================================================================== 今回は CGIスクリプトを学んだが、身近によく見かけるものなので、プログラム を作成していて、このような仕組みになっていたのか。と考えながら作成した。こ れまで意識して考えたことがなかった仕組みだったので、新鮮に感じた。 実際に自分で作成し、正しく動いたのが嬉しかった。 また、Tgif の操作や、ロゴの貼り付けでは、忘れている操作が多かったので、良 い復習になった。 4、参考文献 ================================================================== 西村 まどか 基礎プログラミング II 第8回 CGIことはじめ 第 8 回目次 http://roy/~madoka/2010/r2/08/ 「Ruby で CGI スクリプト」 http://roy/~madoka/2010/r2/08/08_01_theme_01_rubycgi.html 「CGI を使用することを宣言しよう」 http://roy/~madoka/2010/r2/08/08_04_theme_03_declare.html 「利用者にデータを入力させる部品」 http://roy/~madoka/2010/r2/08/08_05_theme_04_form.html 「基本の CGI ホームページの作りかた」 http://roy/~madoka/2010/r2/08/08_06_theme_05_firstcgi.html 「動作プログラム作成」 http://roy/~madoka/2010/r2/08/08_08_theme_07_ruby.html 「Ruby で CGI を作る宣言」 http://roy/~madoka/2010/r2/08/08_09_theme_08_declare.html 共同学習者 久保田 瑛一郎