第9回 基礎プログラミング II レポート課題 氏名:斎藤拓也 学籍番号:c1090704 語学クラス:英語1 コース(系):地域共創コース 1. A. ラジオボタンは、何個かの選択肢の中から一つの選択をするようになっているし くみのことを言う。 例えば、アパート通いか、自宅から大学に通っているかというような質問をする と、答えは一つしか選択することはできない。そのような質問をする時につかう と良いものである。 B.チェックボックスのしくみは、複数ある選択肢の中から一つだけ選択するので はなく。複数を選択できるようなしくみのことをいう。 例えば、「あなたの好きな果物を選択して下さい。」というような質問で複数選 択できるようにすると良いと思う。 みかん、りんご、なし、もも、いちご、かきの中から複数選択できるようにする と面白いものになると思う。 2. A. プログラム本体 #!/usr/bin/env ruby require 'cgi' cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-JP\n\n") arv = cgi["arrive"] number = 0 open("kazu.txt","r") do |read| while data = read.gets if /(\d+)/ =~ data number = $1.to_i end end end print("\n") print("\n") print("おいでませ\n") print("\n") print("\n") printf("

No. %d のお客様

\n", number) print("

庄内へようこそ

\n") print("\n") print("\n") number += 1 open("kazu.txt","w") do |write| write.printf("%d\n",number) end プログラム解説 3行目 cgi で行うことを宣言する 5行目 cgi を html4 で出力する 6行目 日本語でコードで定義するようにする 8行目 変数を arv とする 10行目 番号を 0 からスタートするようにする 12行目 kazu.txt を読む 13行目 データを読みこんで取ってくる 14行目 0から9までの数字とマッチする(複数)をデータとして取る 15行目 number を $1 数字として取る 16行目 14行目 を終わる 17行目 13行目 を終わる 18行目 12行目 を終わる 20行目〜28行目 ページの構成 30行目 番号を+1していく 32行目 kazu.txt に書いていく 33行目 それを出力していく 34行目 32行目 を終わる 実行結果 roy{c109070}% ./kaunta.rb [~/public_html/advertise2/rubycgi] (offline mode: enter name=value pairs on standard input) Content-type: text/html; charset=EUC-JP おいでませ

No. 4 のお客様

庄内へようこそ

考察 この仕組みを使えばその人が何人目に来たのか知ることが出来る。CGIを使った 診断や占いなどで何番目に診断したのかすぐわかる。 参考文献 描画ソフト 西村先生 http://roy/~madoka/2010/r1/12/12_02_theme_02_painttool.html CGI 専用作業 directory 西村先生 http://roy/~madoka/2010/r2/08/08_02_theme_02_mkdir.html CGI を使用することを宣言しよう 西村先生 http://roy/~madoka/2010/r2/08/08_04_theme_03_declare.html Ruby で CGI を作る宣言 西村先生 http://roy/~madoka/2010/r2/08/08_09_theme_08_declare.html ファイルを使ってみよう 西村先生 http://roy/~madoka/2010/r2/09/09_08_theme_06_hashfile.html 正規表現 神田先生 http://roy/~naoya/ruby/7.html 質問の部屋のトップページ http://roy/~c109070/advertise2/rubycgi/fork.html 画像 題名 「笑う丸」 解説 ドラえもんのような優しい球体を作ろうと思った。とても可愛いものになった 作った方法 丸を基本に作りました 工夫した点 口を紅くした所 感想 今回のCGIの講義は前回よりも実践に近いものになった今回習ったことを使えば 楽しいCGIが作れると思う