第9回 基礎プログラミング II レポート課題
氏名:宮川史礼
学籍番号:C1071948
語学クラス:英語1
コース(系):社会系
1.筆記問題
A.ラジオボタンの仕組み
スーパー
先ず、inputタグの中にtype="radio"と設定し、ラジオボタンを使えるようにす
る。〜.rbにCGI変数を渡すためにnameとvalueが必要となる。
上記の場合、name="seat"とはラジオボタンの名前がseatで、value="super"とは、
〜.rbに渡すCGI変数の値がsuperであるということになる。
B.チェックボックスの仕組み
豪華和食バイキング
つや姫詰め放題
先ず、inputタグの中にtype="text"と設定し、チェックボタンを使えるようにす
る。〜.rbにCGI変数を渡すためにnameとvalueが必要となる。
上記の場合、name="dinner"、name="rice"とは、チェックボックスの名前である。
〜.rbに渡すCGI変数の値は、それぞれ夕食、米となる。
チェックボックスの場合は、nameがそれぞれ違っている。それは、使うチェック
ボックスを区別するためである。
2.プログラム問題
URL
http://roy/~c107194/advertise2/rubycgi/fork.html
BにDの要素を加えたプログラムをつくった。
プログラム本体
・html部分
計算機
・rb部分
#!/usr/bin/env ruby
require 'cgi'
cgi = CGI.new("html4")
print("Content-type: text/html; charset=EUC-JP\n\n")
keisan = cgi["keisan"]
kazu1 = cgi["kazu1"].to_f
kazu2 = cgi["kazu2"].to_f
print("\n")
print("\n")
print("計算結果\n")
if /足し算/e =~ keisan
print("")
elsif /引き算/e =~ keisan
print("")
elsif /かけ算/e =~ keisan
print("")
elsif /割り算/e =~ keisan
print("")
end
print("\n")
print("\n")
print("計算結果
\n")
print("\n")
if /足し算/e =~ keisan
printf("%d+%d=%0.2f\n",kazu1,kazu2,kazu1+kazu2)
elsif /引き算/e =~ keisan
printf("%d-%d=%0.2f\n",kazu1,kazu2,kazu1-kazu2)
elsif /かけ算/e =~ keisan
printf("%d*%d=%0.2f\n",kazu1,kazu2,kazu1*kazu2)
elsif /割り算/e =~ keisan
printf("%d/%d=%0.2f\n",kazu1,kazu2,kazu1/kazu2)
end
print("
\n")
print("\n")
print("\n")
実行結果
足し算の場合
roy{c107194}% ./keisan.rb [~/public_html/advertise2/rubycgi]
(offline mode: enter name=value pairs on standard input)
kazu1=7
kazu2=2
keisan="足し算"
Content-type: text/html; charset=EUC-JP
計算結果
計算結果
7+2=9.00
引き算の場合
roy{c107194}% ./keisan.rb [~/public_html/advertise2/rubycgi]
(offline mode: enter name=value pairs on standard input)
kazu1=8
kazu2=1
keisan="引き算"
Content-type: text/html; charset=EUC-JP
計算結果
計算結果
8-1=7.00
かけ算の場合
roy{c107194}% ./keisan.rb [~/public_html/advertise2/rubycgi]
(offline mode: enter name=value pairs on standard input)
kazu1=9
kazu2=4
keisan="かけ算"
Content-type: text/html; charset=EUC-JP
計算結果
計算結果
9*4=36.00
割り算の場合
roy{c107194}% ./keisan.rb [~/public_html/advertise2/rubycgi]
(offline mode: enter name=value pairs on standard input)
kazu1=56
kazu2=4
keisan="割り算"
Content-type: text/html; charset=EUC-JP
計算結果
計算結果
56/4=14.00
感想
今回のレポート課題に関して、実際に取り組んだ上で思うところがあるとしたら、
前期も含めて今までこなしてきた課題の中ではいちばん難易度が高かったという
ことだろう。というか正直に言うと、自分がやってきたという実感でだが記録
が塗り替えられたといったところだろうか(協力してくれた智也君もだいぶ問題の
解釈にてこずってしまったようだったし)、必要条件を意識したプログラムに
関しても、考え出すのにかなり時間がかかった。本当に難しかった。
参考文献
基礎プログラミング 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
協力してくれたTA
工藤智也