第9回 基礎プログラミング II レポート課題 氏名:成澤龍空 学籍番号:c1071658 語学クラス:英語 コース(系):経営系 1. A.ラジオボタンとは、複数の選択肢から1 つだけ選ぶ方法である。 seat.html を用いて説明すると、

座席の種類別

自由席 指定席 スーパーシート

となり座席の選択が出来るようになる。 type="radio" でラジオボタン。 name="ラジオボタンの名前" で使うラジオボタンを区別する。 value="CGI 変数の値" でユーザが選ぶとこの値がプログラムに送られるが、 CGI 変数は配列の成分に代入されているので p cls = cgi["seat"] を実行する。 radio buttonの場合 ["指定席"] を得るが、これは配列の第 0 成分として代入 されているという意味である。よって、seat[0] の条件を調べるように変更する 必要がある。 B.チェックボックスとは、複数の選択肢からいくつか選べる方法である。 service.html で説明すると、

サービス

豪華和食バイキング 土産物クーポン つや姫詰め放題 喫煙

となり複数の選択肢が発生するチェックボックスができる。 type="checkbox" がチェックボックスである。 name="チェックボックスの名前" で使うチェックボックスを区別する。 value="CGI 変数の値" で ユーザが選ぶとこの値がプログラムに送られる。 2. B. 設定 エコポイント申請窓口として液晶テレビの大きさと廃家電の有無により ポイントが変わるプログラムにした。 掲載アドレス:http://roy/~c107165/advertise2/rubycgi/fork.html 作成したホームページ(fork.html) エコポイント申請窓口top

エコポイント申請窓口

廃家電の有無

無し 有り(+3000点)

作成したプログラム(fork.rb) #!/usr/koeki/bin/ruby require 'cgi' cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-jp\n\n") size = cgi["size"] point = cgi["point"] print("\n") print("\n") print("\tエコポイント申請窓口\n") print("") print("\n") print("\n") print("

申請結果

") print("

\n") printf("商品名 : 液晶テレビ %s ",size) print("
") printf("廃家電 : %s \n " ,point) print("
") if size == "20型" size = 4000 elsif size == "22型" size = 4000 elsif size == "26型" size = 6000 elsif size == "32型" size = 6000 elsif size == "37型" size = 8000 elsif size == "40型" size = 11000 elsif size == "46型" size = 11000 else size == "52型" size = 17000 end print("
") print("あなたのポイントは") if point == "無し" printf("

%d 点

\n", size) else point == "有り" printf("

%d 点

", size+3000) end print("となりました。") print("

\n") print("\n") print("\n") ktermでの実行結果 pan{c107165}% ./fork.rb [~/public_html/advertise2/rubycgi] (offline mode: enter name=value pairs on standard input) size="20型" Content-type: text/html; charset=EUC-jp エコポイント申請窓口

申請結果

商品名 : 液晶テレビ 40型
廃家電 :

あなたのポイントは

14000 点

となりました。

firefoxでの実行結果 エコポイント申請窓口 * 商品名: 液晶テレビ * 大きさ: 廃家電の有無 無し 有り(+3000点) 申請結果 商品名 : 液晶テレビ 40型 廃家電 : 有り あなたのポイントは 14000 点 となりました。 考察 bc -lで確かめ算をしてみると、pan{c107165}% bc -l [~] 11000 + 3000 14000 となり正しく機能していると言える。 基本的には授業で行ったプログラムの応用であるが、 if 文により計算を行った。 F. 画像については今回はエコポイントのプログラムを作成したので、そのマークを 作成した。円とフリーハンドで作成した。耳が大変だった。 参考アドレス 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 基礎プログラミング II 第9回 CGIことえらび 「チェックボックスの作り方」 http://roy/~madoka/2010/r1/12/12_04_theme_04_tgiftoolbar.html 礎プログラミング I 第12回 自由課題コンペティション / 画像作成 「ツールバー 各部分の解説」 TA:大沼拓海 さん