第10回 基礎プログラミング II レポート課題 氏名:後藤輝久 学籍番号:c1090650 語学クラス:中国語1 コース(系):地域共創コース 1、筆記問題 A pstoreとは、データを貯めたり、作成させたり、読みこませたりする部分である。簡単に言うと、データにかかわるところだ。授業の第10回の時に作成した、comment.rbでは、データを貯めれるようにし、起動プログラムに書きこませるということをした。 2、プログラム問題 ホームページ http://roy/~c109065/advertise2/rubycgi/r2_cgi_best.html 個人発表広告ページのアンケートのプログラムを作った。 #!/usr/koeki/bin/ruby require 'cgi' #CGIを使う require 'pstore' cgi = CGI.new("html4") db = PStore.new("bbs.db") #データをためる name = cgi["namae"] hyouka = cgi["poster"] comment = cgi["comment"] print("Content-type: text/html; charset=EUC-JP\n\n") print("\n") print("\n") print("\n") print("個人発表広告ページのアンケート\n") print("\n") print("

結果

\n") num_umai = 0 num_hutuu = 0 num_heta = 0 open("sentaku.txt" , "r") do |read| while line = read.gets if /(\d+)\s+(\d+)\s+(\d+)/ =~ line num_umai = $1.to_i num_hutuu = $2.to_i num_heta = $3.to_i end end end if hyouka == "上手い" num_umai += 1 elsif hyouka == "普通" num_umai += 1 else num_heta += 1 end printf("

上手い %d 人

\n",num_umai) printf("

普通 %d 人

\n",num_hutuu) printf("

ヘタ %d 人

\n",num_heta) print("

何かご要望があれば記入して下さい。

\n") db.transaction do if db == nil db[name] = Hash.new end db[name] = comment nikkuname = db.roots for shimei in nikkuname printf("

%s %s

\n",db[shimei] ,shimei) end end print("\n") print("\n") open("sentaku.txt","w") do |write| write.printf("%d\t%d\t%d\n",num_umai ,num_hutuu ,num_heta) end 実行結果 ちゃんとアンケートの画面と統計がデータとして出てきたので正確に起動している。 考察 今回はアンケートみたいなプログラムということでラジオボタンとコメントを書く部分を作り、データを貯め統計をとるプログラムを作った。私自身の知識では難しかったので友達の助けをかりた。をアンケートと一緒に前に作ったオリジナルモンスターのプログラムを貼った。 感想 興味をもったプログラム http://roy/~c109063/advertise2/rubycgi/fork.html 様々な計算ができ、とてもすごいと思った。 今回の課題は、データを貯め統計をとるプログラムが難しく友達の力をかりたところが大きかった。友達の力を借りるだけではダメだと思うので、自分で解けるように頑張りたい。また、アンケートや自分の考えを取り入れ工夫していきたい。最近ではtgifとgimpを取り入れた作成方法も友達のを見て学んだ。それを1枚添付します。 共同学習者 横山広樹 小関文紀