第 9 回 ことえらび レポート課題
氏名:須藤充司
学籍番号:c1101342
語学クラス:英語2
コース(系):環境サイエンスコース
1、筆記問題
A、選択肢とボタンを1まとめに表示させ、選びたい選択肢の
ボタンを押すと、1つだけ選択できる仕組みである。
B、チェックボタンは1まとめに表示させ、
1つだけでなく、複数の選択肢を選択することができる。
2、プログラム問題
A、http://roy/~c110134/advertise2/rubycgi/fork.html
B、題名「計算」
作成した意図
簡単だが文字数の多い計算は人では大変なので、
プログラムを作成して素早く計算できるようにした。
C、
入力部分
計算プログラム
計算プログラム
送信部分
#!/usr/koeki/bin/ruby
require 'cgi' # CGIを使えるようにする
cgi = CGI.new("html4") # CGIという名前で CGIを作るバージョンは4
print("Content-type: text/html; charset=EUC-jp\n\n")
suji1 = cgi["suji1"]
suji2 = cgi["suji2"]
suji3 = cgi["suji3"]
print("\n") # html始め
print("\n") # head始め
print("計算プログラム\n") # ホームページのタイトル
print("\n")
print("\n") # head終わり
print("\n") # body始め
if suji3 == "tasu"
s = suji1.to_i + suji2.to_i
elsif suji3 == "hiku"
s = suji1.to_i - suji2.to_i
elsif suji3 == "kakeru"
s = suji1.to_i * suji2.to_i
else
s = suji1.to_f / suji2.to_f
end
print("計算結果
\n")
if suji3 == "tasu"
printf("%d + %d = %d
\n",suji1 ,suji2 ,s)
elsif suji3 == "hiku"
printf("%d - %d = %d
\n",suji1 ,suji2 ,s)
elsif suji3 == "kakeru"
printf("%d * %d = %d
\n",suji1 ,suji2 ,s)
else
printf("%d / %d = %f
\n",suji1 ,suji2 ,s.to_f)
end
print("\n")
print("\n")
D、各部の解説
input type="text"でテキストフィールドを作ることができる。
maxlength で半角文字で指定した分だけ入力を可能とする。
E、実行結果
roy{c110134}% ./keisan.rb [~/public_html/advertise2/rubycgi]
(offline mode: enter name=value pairs on standard input)
suji1=54
suji2=46
suji3="tasu"
Content-type: text/html; charset=EUC-jp
計算プログラム
計算結果
54 + 46 = 100
F、題名「仮面舞踏会」
解説、 主に丸を使用した仮面
工夫した点、丸だけでは面白くないのでとなりに文字もかいてみた。
作った方法、 TGIFで作成した。
感想
今回はTGFIで作品を作ったが、あらためて自分の絵心の無さを知った。
また、TGFIの保存の仕方に苦戦した。
参考文献
基礎プログラミングII ことえらび 西村 まどか
http://roy/~madoka/2011/r2/09/
共同作成者
鏡 登志晃 吉田 亘