第 9 回 CGI ことえらび レポート課題 氏名:山野 駿 学籍番号:c1111429 語学クラス:英語2 コース:社会福祉 1. A. ラジオボタンとは、いくつかの選択肢の中から1つだけ選べるものである。 プログラムでは、 男 女 という文章を挿入することで、ラジオボタンを表示する。 最初のinput typeで、ラジオボタンということを知らせる。 name で.rbで引用するための変数を指定し、 value でラジオボタンの選択肢を表示しており、実際に表示されるのは value の部分のみである。 B. チェックボックスがラジオボタンと異なる点として、一つのもののみ選ぶことが できるラジオボタンに対してチェックボックスは複数選択できるということが挙 げられる。 プログラムでは 父 母 息子 と入力することで、チェックボックスを表示する。。 最初のinput type="checkbox"で、チェックボックスであるということを知らせ る。。 name="titi"とは、使うチェックボックスを区別する。複数のチェックボックス と区別する。 value="父"はCGI変数の値で,選択すると、プログラムに送られる。 C. char_r2_c111142.png 今回は白熊を描いた。なぜ白熊からというと、作者が白熊に似ているためである。 外枠のラインだけ出したかったため、いらないところを消すことに苦労した。ま た、熊が寝ているように描くことが難しく、時間を割いた。 ウェブページへのリンク http://roy.e.koeki-u.ac.jp/~c111142/adv2/char_r2_c111142.png 2. A. counter.rbを参考にプログラムを作成し、なぜカウンターになるかを解説する。 プログラムのURL http://roy.e.koeki-u.ac.jp/~c111142/rubycgi/fork_count.rb a)設定 来客数を表示するプログラム。 更新されるたびに1ずつ増える。 b)作成したプログラム #!/usr/bin/env ruby #coding: euc-jp require'cgi' cgi = CGI.new(:accept_charset => "EUC-JP") print("Content-type: text/html; charset=EUC-JP\n\n") number = 0 open("count.txt","r") do |yomu| while data = yomu.gets if /(\d+)/ =~ data number = $1.to_i end end end print("\n") print("
%d + %d = %d
\n", suji1, suji2 ,total) elsif enzan == "hiku" printf("%d − %d = %d
\n", suji1, suji2 ,total) elsif enzan == "kakeru" printf("%d × %d = %d
\n", suji1, suji2 ,total) elsif enzan == "waru" printf("%d ÷ %d = %f
\n", suji1, suji2 ,total) end print("") print("") c)実行結果 ○足し算 ウェブページのソース560 + 211 = 771
ktermでの結果 roy{c111142}% ./keisan.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) kazu1=560 kazu2=211 siki="tasu"Content-type: text/html; charset=EUC-JP560 + 211 = 771
% ○引き算 ウェブページのソース680 − 654 = 26
ktermでの結果 roy{c111142}% ./keisan.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) kazu1=680 kazu2=654 siki="hiku"Content-type: text/html; charset=EUC-JP680 − 654 = 26
% ○掛け算 ウェブページのソース34 × 70 = 2380
ktermでの結果 roy{c111142}% ./keisan.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) kazu1=34 kazu2=70 siki="kakeru" Content-type: text/html; charset=EUC-JP34 × 70 = 2380
% ○割り算 ウェブページのソース64 ÷ 4 = 16.000000
ktermでの結果 roy{c111142}% ./keisan.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) kazu1=64 kazu2=4 siki="waru" Content-type: text/html; charset=EUC-JP64 ÷ 4 = 16.000000
% d)考察 プログラムの計算が正しいかbc -lを使い確認する。 ○足し算 roy{c111142}% bc -l [~/public_html/rubycgi] 560 + 211 771 quit 実行結果と答えが一致している。 ○引き算 roy{c111142}% bc -l [~/public_html/rubycgi] 680 - 654 26 quit 実行結果と答えが一致している。 ○掛け算 roy{c111142}% bc -l [~/public_html/rubycgi] 34 * 70 2380 quit 実行結果と答えが一致している。 ○割り算 roy{c111142}% bc -l [~/public_html/rubycgi] 64 / 4 16.00000000000000000000 quit 実行結果と答えが一致している。 以上の結果からこのプログラムは正しいと言える。 3. http://roy.e.koeki-u.ac.jp/~c111142/adv2/index.html の中の「基礎プログラミングを学んで」というところにpdfファイルを貼り付けた。 基礎プログラミングを学んで感じたことや、学びをどう活かすかということにつ いて述べた。 4. 今回は特に苦戦したレポート立った。しかし、ウェブページやプログラムを操作 することが楽しいと思えるようになってきた。 5. http://roy/~madoka/2012/r2/09/r2_09_04_appendix_01_radio.html 西村まどか 基礎プログラミング II 第 9 回 (CGI ことえらび) 「ラジオボタン の作り方」 http://roy/~madoka/2012/r2/09/r2_09_05_appendix_02_checkbox.html 西村まどか 基礎プログラミング II 第 9 回 (CGI ことえらび) 「チェックボッ クスの作り方」 http://roy/~madoka/2012/r2/09/r2_09_06_appendix_03_textfield.html 西村まどか 基礎プログラミング II 第 9 回 (CGI ことえらび) 「短い記入欄の 作り方」 http://roy/~madoka/2012/r2/09/r2_09_08_theme_03_fileopen.html 西村まどか 基礎プログラミング II 第 9 回 (CGI ことえらび) 「File Open を 使ってみよう」 http://roy/~madoka/2012/r2/09/r2_09_03_review_02_error.html 西村まどか 基礎プログラミング II 第 9 回 (CGI ことえらび) 「エラーの分析」