第 9 回 ことえらび レポート課題
氏名:小林愛実
学籍番号:c1100816
語学クラス:英語6
コース(系):政策マネジメント
1、筆記問題
A、ラジオボタンのしくみ
ラジオボタンとは、1 つだけ選ぶ方法である。
ラジオボタンの基本的な形は
△△△
である。
type="radio" でラジオボタンであることを宣言する。
name="???" でラジオボタンの名前をつけ、使うラジオボタンを区別する。
value="◯◯◯" でGI 変数の値を入れ、ユーザが選ぶとこの値がプログラムに送られる。
>△△△ はHTMLに表示される部分である。
B、チェックボックスのしくみ
チェックボックスの基本的な形は
△△△
である。
type="checkbox" でチェックボックスであることを宣言する。
name="???" でェックボックスの名前をつけ、使うチェックボックスを区別する。
value="◯◯◯" でCGI 変数の値を入れ、ユーザが選ぶとこの値がプログラムに
送られる。
>△△△ はHTMLに表示される部分である。
基本的な形は、ラジオボタンと変わらないが大きな違いは、複数の選択肢を選択
することができることである。
2、プログラム問題
ホームページ
http://roy.e.koeki-u.ac.jp/~c110081/advertise2/rubycgi/fork.html
A-A
カウンタープログラム
http://roy.e.koeki-u.ac.jp/~c110081/advertise2/rubycgi/fork.rb
A-B
カウンタープログラム [ fork.rb ]
カウンタープログラムというところをクリックすると、ユーザーが何番目にこの
ページに入ってきたか分かるプログラムを作成した。
A-C,D 作成したプログラムと解説
[ fork.rb ]
#!/usr/bin/env ruby
require 'cgi' # CGI を使う
cgi = CGI.new("html4") # CGI を HTML 文書に使う
print("Content-type: text/html; charset=EUC-JP\n\n") # 日本語コード指定
number = 0 # 0から始まる
open("number.txt","r") do |read|
# openメソッドを使って、number.txtというファイルを開いている。
# モードはrなので読み込み専用となる。
# do |read|の readはファイルに書き込みを行う際の変数として利用している。
while data = read.gets # 繰り返しをさせる
if /(\d+)/ =~ data # もしデータが数字だったら
number = $1.to_i # numberに代入させる
end # if の終わり
end # while の終わり
end # open の終わり
# ここからhtml
print("\n")
print("
\n")
print("いらっしゃいませ\n")
print("")
print("\n")
print("\n")
print("ようこそ
\n")
printf("%d番目のお客さまです。
\n",number) # numberが表示される
print("\n")
print("\n")
number += 1 # 1ずつ足していく。
open("number.txt","w") do |write|
write.printf("%d\n",number)
# number.txt に値を書き、数値を表示させる
end # open の終わり
A-E 実行結果
*一回目*
いらっしゃいませ
ようこそ
17番目のお客さまです。
*二回目*
いらっしゃいませ
ようこそ
18番目のお客さまです。
<考察>
A-E 実行結果の通り、一回目が
17番目のお客さまです。
と表示され、二回目に
18番目のお客さまです。
と表示された。
このことから、17、18と続けて表示されたため、このプログラムは正しい。
B-A 計算プログラム
http://roy.e.koeki-u.ac.jp/~c110081/advertise2/rubycgi/calc.html
B-B
計算プログラム
数値と書かれたところに数字を入力し、+、-、×、÷の中からどれか一つを選ぶ
と、計算をするプログラムを作成した。
B-C,D 作成したプログラムと解説
[ calc.html ]
計算
# fork.css を使用する
計算プログラム
[ calc.rb ]
#!/usr/bin/env ruby
require 'cgi' # CGI を使う
cgi = CGI.new("html4") # CGI を HTML 文書に使う
print("Content-type: text/html; charset=EUC-JP\n\n") # 日本語コードの定義
calc1 = cgi["calc1"]
calc2 = cgi["calc2"]
calc3 = cgi["calc3"]
print("\n")
print("\n")
print("計算プログラム\n")
print("")
print("\n")
print("\n")
if calc3 == "tasu" # 足算のときは
answer = calc1.to_i + calc2.to_i # calc1とcalc2を足す
elsif calc3 == "hiku" # 引算のときは
answer = calc1.to_i - calc2.to_i # calc1からcalc2を引く
elsif calc3 == "kakeru" # 掛け算のときは
answer = calc1.to_i * calc2.to_i # calc1とcalc2を掛ける
else calc3 == "waru" # 割り算のときは
answer = calc1.to_f / calc2.to_f # calc1からcalc2を割る
end # if の終わり
print("◎計算結果◎
\n")
if calc3 == "tasu" # もし + を選択したら
printf("%d + %d = %d
\n",calc1,calc2,answer)
elsif calc3 == "hiku" # もし - を選択したら
printf("%d - %d = %d
\n",calc1,calc2,answer)
elsif calc3 == "kakeru" # もし × を選択したら
printf("%d × %d = %d
\n",calc1,calc2,answer)
else calc3 == "waru" # もし ÷ を選択したら
printf("%d ÷ %d = %f
\n",calc1,calc2,answer.to_f)
end # if の終わり
print("\n")
print("\n")
B-E 実行結果
計算プログラム
◎計算結果◎
15 + 3 = 18
<考察>
実行結果が合っているのかbc -lで確かめた。
pan{c110081}% bc -l [~/public_html/advertise2/rubycgi]
15+3
18
実行結果と一致する。
-、×、÷も実行してみたがどれも一致したため、このプログラムは正しい。
D-A
きせかえプログラム
http://roy.e.koeki-u.ac.jp/~c110081/advertise2/rubycgi/kisekae.html
D-B
きせかえプログラム
赤、青、黄、ピンクの4つの中から一つを選ぶと、その選択された色に文字が変
化するプログラムを作成した。
D-C,D 作成したプログラムと解説
[ kisekae.html ]
着せ変えプログラム
# fork.cssを使用する
着せ変えプログラム
[ kisekae.rb ]
#!/usr/bin/env ruby
require 'cgi' # CGI を使う
cgi = CGI.new("html4") # CGI を HTML 文書に使う
print("Content-type: text/html; charset=EUC-JP\n\n") # 日本語コードの定義
iro = cgi["iro"] # 受け取ったデータをiroに代入
# ここからhtml
print("\n")
print("\n")
print("着せ変えプログラム\n")
if iro == "aka" # もし赤を選択したら
print("\n")
# iro1.css が使用される
elsif iro == "ao" # もし青を選択したら
print("\n")
# iro2.css が使用される
elsif iro == "kiiro" # もし黄色を選択したら
print("\n")
# iro3.css が使用される
else iro == "pinku" # もしピンクを選択したら
print("\n")
# iro4.css が使用される
end # if の終わり
print("\n")
print("\n")
print("着せ変えプログラム
\n")
print("色が変わります
\n")
print("\n")
print("\n")
D-E 実行結果
着せ変えプログラム
着せ変えプログラム
色が変わります
<考察>
全ての色を選択して実行したが、どれも.cssで設定した色に変化したため、
このプログラムは正しい。
F キャラクター画像
題名 :いちご
解説 :いちごの画像を作成した。
作った方法 :Tgif
工夫した点 :出来るだけポップに見えるようにした。
URL
http://roy.e.koeki-u.ac.jp/~c110081/advertise2/char_r2_c110081.png
http://roy.e.koeki-u.ac.jp/~c110081/advertise2/char_r2_c110081.obj
3、感想
今回の課題は、とても難しかったです。
とくに、カウンタープログラムは何度挑戦しても結果が表示されず、あきらめそ
うになりましたが、友人に教えてもらいできました。
Tgifは使いこなせるまで時間がかかりましたが、納得がいく作品になったと思い
ます。
4、参考文献
西村まどか
基礎プログラミングII
「ことはじめ」
http://roy.e.koeki-u.ac.jp/~madoka/2011/r2/08/
「ことえらび」
http://roy.e.koeki-u.ac.jp/~madoka/2011/r2/09/
神田直弥
「値の型変換」
http://roy/~naoya/ruby/3.html
HTMLタグ
http://www.tagindex.com/html_tag/form/input_text.html
HTML色見本
http://www.hi-ho.ne.jp/douton/htmlcolor.html
共同作成者
照井さつき
東北公益文化大学
公益学部 公益学科 2年 小林愛実
c110081f.koeki-u.ac.jp