第9回 基礎プログラミング II レポート課題 氏名:笹原千珠子 学籍番号:c109080A 語学クラス:英語3 コース(系):政策マネジメント ---- 1. A. ラジオボタンは、ドロップダウンメニューと似たような仕組みになっている。 ドロップダウンメニューは 〜 タグの にいくつも選択肢を入れられたが、 ラジオボタンは 選択肢 のようなものを選択肢ごとに書かなければならない。 送信ボタンを押すと value の値が Ruby に送られるのは同じである。 B. チェックボックスは、 選択肢 のようにならべて書くところがラジオボタンと似ているが、違うのは一度にい くつもの選択肢を選べる仕組みになっていることだ。 参考文献:ウェブページ 基礎プログラミング II 第9回 CGIことえらび 「ラジオボタンの作り方」 (講義ノート) 西村まどか http://roy/~madoka/2010/r2/09/09_04_theme_02_radio.html 基礎プログラミング II 第9回 CGIことえらび 「チェックボックスの作り方」 (講義ノート) 西村まどか http://roy/~madoka/2010/r2/09/09_05_theme_03_checkbox.html 2. A. a.ページを開く度に表示される数字が 1 づつ増える仕組み b.counter.rb #!/usr/bin/env ruby require 'cgi' # cgi を使う cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-JP\n\n") #日本語コード arv = cgi["arrive"] number = 0 #カウンターの数字を 0 にしておく open("number.txt","r") do |read| #ファイルオープンで読み込む while data = read.gets #読み込んだものをとってくる if /(\d+)/ =~ data #もしデータが数字の場合 number = $1.to_i # number は整数 end end end print("\n") # html で表示される部分 print("\n") print("カウンター\n") print("\n") print("\n") printf("%d 人目のお客様\n", number) #カウンターの数字が入る print("\n") print("\n") number += 1 #ページが表示される度に 1 が足される open("number.txt","w") do |write| #ファイルオープンでカウンターの数字が書き込まれる write.printf("%d\n",number) end d. pan{c109080}% ./counter.rb [~/public_html/advertise2/rubycgi] (offline mode: enter name=value pairs on standard input) Content-type: text/html; charset=EUC-JP カウンター 3 人目のお客様 pan{c109080}% ./counter.rb [~/public_html/advertise2/rubycgi] (offline mode: enter name=value pairs on standard input) Content-type: text/html; charset=EUC-JP カウンター 4 人目のお客様 e. 実行してみるときちんと 1 づつ足された。 ファイルを -rw-r--rw- のようにすることで自分もユーザも読めて書き込めるよ うにすることでページをユーザが開く度に 1 づつ数字をふやせる仕組みになっ ていると思った。 カウンターのリンクがあるページ http://roy/~c109080/advertise2/rubycgi/fork.html B. a.買いたいもののチェックボックスをクリックして購入ボタンを押すと合計がで てくるしくみ b. keisan.rb #!/usr/koeki/bin/ruby $KCODE = 'e' #日本語の文字コード require 'cgi' # cgi を使う宣言 cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-jp\n\n") #日本語のコードを使う daikon = cgi["daikon"] #cgiでの変数 tamago = cgi["tamago"] shirataki = cgi["shirataki"] hanpen = cgi["hanpen"] atuage = cgi["atuage"] tumire = cgi["tumire"] konnyaku = cgi["konnyaku"] tikuwa = cgi["tikuwa"] ganmo = cgi["ganmo"] konbu = cgi["konbu"] gyuusuji = cgi["gyuusuji"] total = 0 #値段の合計 while #以下繰り返し if /75/ =~ daikon #もし 75 が入ったら total += 75 # total に 75 が足される elsif /90/ =~ tamago total += 90 end end print("\n") #以下 html で表示される部分 print("\n") print("おでん\n") print("\n") print("\n") printf("合計%d\n",total) print("") print("\n") print("\n") print("\n") c. ticket.rb と ticket.html をもとにした。 それに加え、先輩のページを参考に合計がどんどん足されるしくみにしたかった。 チェックボックスを使って複数のものを選べるようにしようと思った。 参考文献:ウェブページ おでんの価格 セブンイレブンジャパン http://www.sej.co.jp/sej/html/products/ff/oden/ 基礎プログラミング II 第9回 CGIことえらび 「チェックボックスの作り方」 (講義ノート) 西村まどか http://roy/~madoka/2010/r2/09/09_05_theme_03_checkbox.html 参考にした先輩のページ http://roy/~madoka/2009/r2/09/rpt/c108171.txt 基礎プログラミング II 第8回 CGIことはじめ 「自動券売機」 (講義ノート) 西村まどか e. 試しに途中で実行してみた結果、ずっと読み込み中でページが表示されなかった。 どこがおかしいか考えてみると、 while 文を使ったのでずっと計算している ドロップダウンメニューの option とチェックボタンの name や value の区別 がついていない などが考えられるとおもった。 チェックボックスは複数の項目を選べるが、複数の項目を選んだときの処理が わからなかった。 計算のリンクがあるページ http://roy/~c109080/advertise2/rubycgi/fork.html 3. 今回は特に時間がかかってしまった。チェックボックスの使い方は意外と限られ ているのかとおもった。 チェックボックスではなくドロップダウンメニューやラジオボタンでできる計算 問題を考えて、Tgif でキャラクターを描いてから再提出したい。 共同学習者:金田麻美
合計%d\n",total) print("") print("
\n") print("\n") print("\n") c. ticket.rb と ticket.html をもとにした。 それに加え、先輩のページを参考に合計がどんどん足されるしくみにしたかった。 チェックボックスを使って複数のものを選べるようにしようと思った。 参考文献:ウェブページ おでんの価格 セブンイレブンジャパン http://www.sej.co.jp/sej/html/products/ff/oden/ 基礎プログラミング II 第9回 CGIことえらび 「チェックボックスの作り方」 (講義ノート) 西村まどか http://roy/~madoka/2010/r2/09/09_05_theme_03_checkbox.html 参考にした先輩のページ http://roy/~madoka/2009/r2/09/rpt/c108171.txt 基礎プログラミング II 第8回 CGIことはじめ 「自動券売機」 (講義ノート) 西村まどか e. 試しに途中で実行してみた結果、ずっと読み込み中でページが表示されなかった。 どこがおかしいか考えてみると、 while 文を使ったのでずっと計算している ドロップダウンメニューの option とチェックボタンの name や value の区別 がついていない などが考えられるとおもった。 チェックボックスは複数の項目を選べるが、複数の項目を選んだときの処理が わからなかった。 計算のリンクがあるページ http://roy/~c109080/advertise2/rubycgi/fork.html 3. 今回は特に時間がかかってしまった。チェックボックスの使い方は意外と限られ ているのかとおもった。 チェックボックスではなくドロップダウンメニューやラジオボタンでできる計算 問題を考えて、Tgif でキャラクターを描いてから再提出したい。 共同学習者:金田麻美