第9回 基礎プログラミング II レポート課題
氏名:阿部大樹
学籍番号:c1060100
語学クラス:英語
コース(系):社会
1.筆記問題
A.ラジオボタンは、いくつかの選択肢から1つだけを選択する。
type="radio" は、ラジオボタン
name="ラジオボタンの名前" は、使うラジオボタンを区別するための名前
value="CGI 変数の値" は、ユーザが選ぶとこの値がプログラムに送られる
input tag に checked と入れると、自動的に既定値に設定できる
B.チェックボックスは、いくつかの選択肢の中から、該当するもの全てを選択す
る。
type="checkbox" は、チェックボックス
name="チェックボックスの名前" は、使うチェックボックスを区別するため
value="CGI 変数の値" は、ユーザが選ぶとこの値がプログラムに送られる
2.プログラム問題
A
http://roy/~c106010/advertise2/rubycgi/fork.html
B
題名:オンライン計算機
説明:様々な計算を可能にして簡単な電卓を作りました。
計算方式によって結果画面の表示色を変化させるようにしました。
C
オンライン計算機
#!/usr/koeki/bin/ruby
$KCODE = "e"
require 'cgi'
cgi = CGI.new("html4")
print("Content-type: text/html; charset=EUC-JP\n\n")
kei = cgi["keisan"]
kazu1 = cgi["suu1"].to_i #数として認識
kazu2 = cgi["suu2"].to_i #数として認識
print("\n")
print("\n")
if /足算/e =~ kei #足算の場合
print("")
#青色に変更
elsif /引算/e =~ kei #引算の場合
print("")
#緑色に変更
elsif /かけ算/e =~ kei #かけ算の場合
print("")
#赤色に変更
elsif /割り算/e =~ kei #割り算の場合
print("")
#紫色に変更
end
print("オンライン計算機\n")
print("\n")
print("\n")
if /足算/e =~ kei #足算の時の結果
printf("%d + %d = %d です!!",kazu1,kazu2,kazu1+kazu2)
elsif /引算/e =~ kei #引算の時の結果
printf("%d - %d = %d です!!",kazu1,kazu2,kazu1-kazu2)
elsif /かけ算/e =~ kei #かけ算の時の結果
printf("%d × %d = %d です!!",kazu1,kazu2,kazu1*kazu2)
elsif /割り算/e =~ kei #割り算の時の結果
printf("%d ÷ %d = %d です!!",kazu1,kazu2,kazu1/kazu2)
end
print("\n")
print("\n")
D
実行結果
pan{c106010}% ./fork.rb [~/public_html/advertise2/rubycgi]
(offline mode: enter name=value pairs on standard input)
keisan="足算"
suu1="5"
suu2="6"
Content-type: text/html; charset=EUC-JP
オンライン計算機
5 + 6 = 11 です!!
pan{c106010}% ./fork.rb [~/public_html/advertise2/rubycgi]
(offline mode: enter name=value pairs on standard input)
keisan="かけ算"
suu1="5"
suu2="6"
Content-type: text/html; charset=EUC-JP
オンライン計算機
5 × 6 = 30 です!!
F
画像について
題名:ビリダマ
解説など:みんなが知っているだろうキャラクターで作ってみた。
「基礎」という事を強調したかったのでこれでもかという位書きなぐった。
今学んでいるのは基礎だという事を知ってもらいたいと思った。
感想:
今回は以前作ったプログラムを改良して作りました。
基本が分かれば色々なCGIを作れる事が分かった。
遅くなりましたが採点お願いします!!
参考文献:
「テキストフィールドの作り方」
http://roy/~madoka/2010/r2/09/09_06_theme_04_textfield.html
作者西村先生
共同研究者:工藤智也