第9回 基礎プログラミング II レポート課題
氏名:酒井 春香
学籍番号:c109074A
語学クラス:英語3
コース:政策マネ
1、
A、ラジオボタンの仕組みについて
ラジオボタンとは、複数の選択肢から1つを選択する場合に使用する。
複数の選択肢それぞれにinput要素を用意する。
同じグループのラジオボタンに属性するものには共通のname属性を指定する。
・授業内で作成したhtml
すーぱー
ふつう
type="radio" でラジオボタンを使用
name= "seat" で使うラジオボタンを区別する
value= "super" でユーザが選ぶとこの値がプログラムに送られる
・授業内で作成したプログラム
seat = cgi["seat"]
htmlで選択された項目がseatに代入される
B、チェックボックスの仕組みについて
チェックボックスとは、複数の選択肢から複数を選択する場合に使用する。
複数の選択肢それぞれにinput要素を用意する。
同じグループのチェックボックスに属性のものには共通のname属性を指定する。
同じ項目を選択するたびに、onとoffに入れ替わる。
2、
A、
a)リンク
http://roy/~c109074/advertise2/rubycgi/fork.html
b)CGIの題名
「訪問者数」
意図
どのくらいホームページに訪問したか知りたいと思ったから。
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")
# 受け取ったデータを使う宣言をする
count = 0 # 最初は0人から始める
open("count.txt" , "r") do |g|
# count.txt を読みこみモードで開き g という名前に置き換える
while suji = g.gets # データがなくなるまで繰り返す
if /(\d+)/ =~ suji # もしデータが数字だったら
count = $1.to_i # countにデータを代入
end
end
end
print("\n") # html始め
print("
\n") # head始め
print("訪問者数\n") # ホームページのタイトル
print("\n")
# ホームページの色やタイプなどをリンクしている
print("\n") # head終わり
print("\n") # body始め
print("訪問者数
\n") # ホームページの見出し
print("\n")
print("
\n")
printf("いままで訪れた人数: %d人\n",count) # 表示
print("
\n")
print("
\n")
print("
\n") # ホームページの見出しの終わり
print("\n") # body終わり
print("\n") # html終わり
count += 1 # 1ずつ足していく
open("count.txt" , "w") do |f|
# count.txt を読みこみモードで開き f という名前に置き換える
f.printf("%d\n",count) # 結果を表示
end
d)各部の説明
require 'cgi' で CGIを使えるようにする。
print("Content-type: text/html; charset=EUC-jp\n\n") で受け取ったデータ
を使う宣言をする。
open("count.txt" , "r") do |g| で count.txt を読みこみモードで開き g と
いう名前に置き換える。
e)実行結果
roy{c109074}% ./count.rb [~/public_html/advertise2/rubycgi]
(offline mode: enter name=value pairs on standard input)
Content-type: text/html; charset=EUC-jp
訪問者数
訪問者数
いままで訪れた人数: 9人
B、
a)リンク
http://roy/~c109074/advertise2/rubycgi/fork.html
b)CGIの題名
「計算プログラム」
意図
ホームページで計算できるプログラムを作ってみたかった。
c)
入力部分
---keisan.html---
計算プログラム
計算プログラム
送信結果を表示する部分
---keisan.rb---
#!/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{c109074}% ./keisan.rb [~/public_html/advertise2/rubycgi]
(offline mode: enter name=value pairs on standard input)
suji1=7
suji2=8
suji3="tasu"
Content-type: text/html; charset=EUC-jp
計算プログラム
計算結果
7 + 8 = 15
D、
a)リンク
http://roy/~c109074/advertise2/rubycgi/fork.html
b)CGIの題名
「色変えプログラム」
意図
ホームページ上で色を変えるプログラムを作ってみたかったから。
c)入力部分
---color.html---
色変えプログラム
色変えプログラム
色が変わるよ(^w^)
---color.rb---
#!/usr/koeki/bin/ruby
require 'cgi' # cgi が使えるようにする
cgi = CGI.new("html4") # cgi という名前で CGI をつくる バージョンは 4
print("Content-type: text/html; charset=EUC-jp\n\n")
# 受け取ったデータを使う宣言をする
color = cgi["color"] # 受け取ったデータをiroに代入
print("\n") # html の始め
print("\n") # タイトル、文章へヘッダ情報を記述する
print("色変えプログラム\n") # ホームページのタイトル
if color == "aka" # もしiroがakaだったら
print("\n")
# iro1のcssを使う
elsif color == "ao" # もしiroがaoだったら
print("\n")
# iro2のcssを使う
elsif color == "orenji" # もしiroがorenjiだったら
print("\n")
# iro3のcssを使う
else # それ以外だったら
print("\n")
# iro4のcssを使う
end # ifのend
print("\n") # headの終わり
print("\n") # bodyの始め
print("色変えプログラム
\n") # ホームページの見出し
print("
\n") # 改行
print("色が変わるよ(^w^)
\n") # ホームページの見出し
print("\n") # body の終わり
print("\n") # html の終わり
d)各部の解説
赤
青
オレンジ
紫
↑
type="radio" でラジオボタンを使用
name= "color" で使うラジオボタンを区別する
value= "aka" でユーザが選ぶとこの値がプログラムに送られる
e)実行画面
roy{c109074}% ./color.rb [~/public_html/advertise2/rubycgi]
(offline mode: enter name=value pairs on standard input)
Content-type: text/html; charset=EUC-jp
色変えプログラム
色変えプログラム
色が変わるよ(^w^)
---Tgif----
題名
「プログラミングに立ち向かう恐竜」
解説
プログラミングに立ち向かう勇敢な恐竜です。
傷ついても立ち向かう姿を描きました。
工夫した点
ばんそうこうをつけた点。
---感想---
今回は、とても難しく、時間もかかりました。友だちと協力して課題をやって、
分からなところが解けたりしました。
Tgifも一生懸命作りました。前期でやったことが忘れてしまっているので復習し
ていきたいと思った。
---参考文献---
西村先生のホームページから
基礎プログラミング II 第9回 CGIことえらび
「ラジオボタンの作り方」
http://roy.e.koeki-u.ac.jp/~madoka/2010/r2/09/09_04_theme_02_radio.html
「テキストフィールドの作り方」
http://roy.e.koeki-u.ac.jp/~madoka/2010/r2/09/09_06_theme_04_textfield.html
共同学習者
佐竹聡美 / 大島藍 / 横山広樹