第8回 基礎プログラミング II レポート課題 氏名:酒井 春香 学籍番号:c109074A 語学クラス:英語3 コース:政策マネ 1、筆記問題 A. CGI変数とHashの似ている点は、 選択したものに対応するものを引き出すところだと思う。 CGI変数では項目の選択肢からひとつ選択すると、ある項目に結びついて、表 示する結果が違う。Hashでいうとkeyが項目、valueが選択肢となるので、ど ちらもこれといったらあれという関係があると思う。 B. ".htaccess"を作成することで、保存したディレクトリの下の.rbファイルのみ をCGIとして起動させる役割をもつ。".html"はCGIでの選択をホームページで 表示させる。".rb"はCGIでの結果をHTML文書として書きこむプログラムである。 C. HTML文書のタブを用いて説明する。
ユーザーに入力を促すところをタブでくくることでCGI変数を tickt.rbファイルに送信し、受け取った変数を処理してもらうのだと思った。 D. プログラムのタブを用いて説明する。 #!/usr/koeki/bin/ruby $KCODE = 'e' require 'cgi' cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-jp\n\n") まず、「require 'cgi'」でCGIを使うことを宣言する。 「cgi = CGI.new("html4")」でCGIをHTMLの文書に使う。 print("Content-type: text/html; charset=EUC-jp\n\n")は日本語コードの定義。 2、プログラム問題 A. a.考えた設定 出発駅と到着駅を指定すると、Webチケットが表れるようにするプログラム。 b.プログラム本体 -------- #!/usr/koeki/bin/ruby $KCODE = 'e' require 'cgi' # CGI を使う cgi = CGI.new("html4") # CGI を HTML 文書に使う print("Content-type: text/html; charset=EUC-jp\n\n") # 日本語コードの定義 arv1 = cgi["arrive1"] arv2 = cgi["arrive2"] print("\n") print("\n") print("\tオンライン券売機\n") print("") print("\n") print("\n") print("

庄内急行

\n") print("

\n") printf("出発: %s駅 -- 到着: %s駅\n", arv1, arv2) print("

\n") print("\n") print("\n") -------- オンライン券売機 到着駅:
  • 出発駅:
  • 到着駅:

c.もとにしたプログラムからの変更点 授業内に作成したticket.rbとticket.htmlに付け加え、ページの背景や文字に色 を付け加えた。 d.実行画面 roy{c109074}% ./ticket.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) arrive1=酒田 arrive2=北余目 Content-type: text/html; charset=EUC-jp オンライン券売機

庄内急行

出発: 酒田駅 -- 到着: 北余目駅

e.考察 arrive1 には酒田、arrive2 には北余目がはいっている。 実行すると 出発: 酒田駅 -- 到着: 北余目駅 と表示された。 よってこのプログラムは正しく動いているといえる。 B http://roy/~c109074/ C http://roy/~c109074/advertise2/r2_c109074.pdf 3、感想 今回は前期で習ったことをほぼ忘れていて、友達に教えてもらいながらやりまし た。また、今回習ったCGIはなんかとても楽しいと思いました。 今度のレポートも頑張りたいです。 4、参考文献 基礎プログラミングII 第8回「CGI のことはじめ」動作プログラム作成 http://roy.e.koeki-u.ac.jp/~madoka/2010/r2/08/08_08_theme_07_ruby.html 西村まどか先生 基礎プログラミングII 第8回「Ruby で CGI を作る宣言」 Ruby で CGI を作る宣言 http://roy.e.koeki-u.ac.jp/~madoka/2010/r2/08/08_09_theme_08_declare.html 西村まどか先生 5、共同学習者 佐竹聡美 横山広樹