第9回 基礎プログラミング II レポート課題 氏名:小松 由里 学籍番号:c1090673 語学クラス:中国語1 コース(系):環境サイエンス 1、筆記問題 ****************************************************************** A、ラジオボタンの仕組み ラジオボタンは、複数の項目の中から1つのみ選択する仕組みである。 プログラム(席の場所 A・B から席を選択する場合)で表示させると以下のようになる。 A席 B席 ・ ・ ・type="radio" は、ラジオボタン設置の宣言。 ・name="ラジオボタンの名前" は、使用するラジオボタンを区別するためにあ り、複数のラジオボタンを作る場合は全て同じ名前になる。 ・画面上で判断をするために、それぞれのラジオボタンに名前を割り振る。 ・value="CGI 変数の値" は、ユーザーが選択した値をプログラムに送る。 B、チェックボックスの仕組み -------------------------------------------------- チェックボックスは、複数の項目の中から複数選択が可能な仕組みである。 プログラムで表示させると以下のようになる。 焼シャケ定食 中華定食 ・ ・ ・type="checkbox" は、チェックボックス設置の宣言。 ・name="ラジオボタンの名前" は、使用するチェックボックスを区別するためにあ り、複数のラジオボタンを作る場合は全て異なる名前になる。 ・画面上で判断をするために、それぞれのラジオボタンに名前を割り振る。 ・value="CGI 変数の値" は、ユーザーが選択した値をプログラムに送る。 2、プログラム問題 ************************************************************ ホームページ http://roy.e.koeki-u.ac.jp/~c109067/rubycgi/fork.html [ fork.html ] # html # head ******** 基礎プログラミング ******** # title・title終わり # fork.cssを使用する # head 終わり # body

:::::: 基礎プログラミング :::::

カウンター プログラム
# 空行
計算プログラム
Color 変更プログラム



ホームページに戻る # body 終わり # html 終わり [ fork.css ] body{ background: #ccffcc ; } h1{ color: #3300cc ; font-size: 2em; text-align: center; background: #ffffff ; } h2{ color: #3366cc ; font-size: 1.5em; text-align: center; background: #9966ff ; } A、カウンタの解説 ************************************************************* a、考えた設定 カウンタのページがクリックされる度にカウントして、クリックしたユーザーが 何番目にこのページに訪れたのかを表示するプログラム b、作成したプログラム [ count.rb ] #!/usr/koeki/bin/ruby require 'cgi' # CGI を使用する宣言 cgi = CGI.new("html4") # HTML で CGI を使用する print("Content-type: text/html; charset=EUC-JP\n\n") # 日本語表記にする number = 0 # 数値をカウントするので 0 だと教える open("mydb/count.dat","r") do |read| # mydb/count.dat を読み取り、read という名前に置き換える while data = read.gets if /(\d+)/ =~ data number = $1.to_i # 数値で表示させる end # if 終わり end # while 終わり end # open 終わり # print文で HTML 文章を表示させる print("\n") # html print("\n") # head print("\n") print("いらっしゃい\n") print("\n") # head 終わり print("\n") # body printf("

ようこそ!あなたはNo. %d の方です

\n",number) print("

どうぞゆっくりしていってください

\n") print("\n") # body 終わり print("\n") # html 終わり number += 1 # 数値を足すため、1足す open("mydb/count.dat","w") do |write| write.printf("%d\n",number) # mydb/count.dat に値を書き、数値を表示させる end # open 終わり [ count.css ] body{ background: #ffff99 ; } h1{ color: #ffffff ; font-size: 2em; text-align: center; background: #339900 ; } h2{ color: #000000; font-size: 1.5em; background: #ccffcc ; } c、もとにしたプログラム 第9回 レポート課題の カウンタ例 を参考にした。 読みこませるファイル名を変更した。 d、実行結果 pan{c109067}% ./count.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) Content-type: text/html; charset=EUC-JP いらっしゃい

ようこそ!あなたはNo. 31 の方です

どうぞゆっくりしていってください

e、考察 pan{c109067}% ./count.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) Content-type: text/html; charset=EUC-JP いらっしゃい

ようこそ!あなたはNo. 32 の方です

どうぞゆっくりしていってください

pan{c109067}% ./count.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) Content-type: text/html; charset=EUC-JP いらっしゃい

ようこそ!あなたはNo. 33 の方です

どうぞゆっくりしていってください

実行結果に引き続き、2回実行した。 実行結果で表示させた際は数値が 31 となり、次に 32 、33 と次の数値が表示 されたので、このプログラムは正しいといえる。 f、参考文献 最後に記載 B、ホームページで計算できるCGIスクリプトプログラム ************************** a、考えた設定 ユーザーが数値を打ち込み、何算をしたいのかを選択すると、計算結果が表示さ れるプログラム b、作成したプログラム [ keisan.html ] # html # head 計算 # title・title終わり # keisan.cssを使用する # head 終わり # body

計算プログラム

# ユーザーに入力させ、結果を keisan.rb に吐く