第 10 回 ことおぼえ レポート課題 氏名: 松田 大輝 学籍番号: c1101804 語学クラス: 中国語 コース(系): 地域共創コース 1、筆記問題 pstore を使った CGI は 第三者がデータを入力し、そのデータを保存したいというときに 書き込む宣言をする。そのため、データベースの内容のみを 第三者にも書き込み可能にしている。 今回の講義で作成した sales.rb を使って具体的な解説する。 require 'pstore' ここで PStore 受け取ったデータ pstore を使う定義をしている db = PStore.new("sales.db") ここでデータベース (sales.db)を作成した。 db.transaction do これからは入力されたデータを出力する部分である。 2、プラグラ厶問題、最高傑作 1、リンク先 作成した CGI 作品の最高傑作 http://roy/~c110180/advertise2/rubycgi/r2_cgi_best.html 最高傑作をリンクさせた後期広告ページ http://roy/~c110180/advertise2/index.html 2、考えた設定  今回、CGI 作品の最高傑作を作るものだったが、思いつかなかったため、  レポート課題に書いてある、E の教員の名前を選ぶと、教員がどの教室に  いるか調べられる CGI スクリプトを作成した。  このプログラムは、教員名を選択してもらい、その教員がどの教室にいるか  表示するプログラムであり、ラジオボタンとチェックボタンの  2つの組み合わせで作成した。 3、作成したプログラム(説明) ーーーーーーーーーーーー入力部分 keisan.htmlーーーーーーーーーーーー 教員検索

教員がどの教室にいるかを調べます

このプログラムは、教員名を選択してもらいその教員がどの研究室にいるか表示するプログラムである。自分の気になる教員やゼミについて知りたい時、このプログラムを使用して、調べてみてください。


  • 教員名


  • 何がしたい ?
  • 世間話 ゼミについて
    将来について 講義内容について # html 内だがチェックボタンについては説明してみる # チェックボタンとは、複数の選択肢の中から いくつか選べる方法である。 # input typeで ラジオボタンを作ることを定義している。 # name でラジオボタンを区別、判断するために使用。 # value で 選択されたものを <> 後の値としてプログラムに送られる。 # また、checked と入れることによって、最初から # 既定値(ここでは「世間話」)に設定できるようになる。



    このプログラムは 学籍番号c1101804 松田 大輝が著作権を保有しています。このプログラムの 入手・実行・改変・再配布は、いずれも無料で自由に行なうことができます。ただしこのプログラム を取り扱うことで生じたいかなる結果に対しても著作権者は責任を負いません。

    このプログラムに対する、感想・助言・要望・愚痴・説教など大歓迎致します。
    c110180@f.koeki-u.ac.jp
    までメッセージをお送り下さい。

    トップページ c1101804 松田 大輝

    個人作品ページ advertise2/index.html

    ーーーーーーーー送信結果を表示する部分 keisan.rbーーーーーーーーーーーー #!/usr/koeki/bin/ruby # 最初に書かなければいけないもの require 'cgi' # ここで CGI 変数を使用することを定義した cgi = CGI.new("html4") # CGI を HTML 文書で使用することを定義した print("Content-type: text/html; charset=EUC-JP\n\n") # 上の2文で受け取ったデータを使用しCGIを実行することを定義した s = cgi["sensei"] # 変数 s に sensei を代入して # CGIにおいて使用できるようにした kibou = [cgi["seken"], cgi["zemi"], cgi["syourai"], cgi["kougi"]] # 変数 kibou に 何がしたいか選択してもらった # 4つの内容を代入して # CGIにおいて使用できるようにした print("\n") # ここから html 文が始まる print("\n") # 本文前の タイトルやスタイルを定義するための # 場所である head が始まる print("\n") # ここで リンクを fork.css につなぎ # Webページの文字の大きさや色等の見栄えを変更させている print("教員検索\n") # ここでタイトルを定義した printf("

    %s先生

    ",s) # printf を使用して選択した教員名を表示した print("\n") # ここで 12 行前の head を閉じた print("\n") # ここから 本文を書くための body が始まる print("
    \n") # 改行するためにこの文章を作成 # ここからは、選択した教員名により、研究室の場所が変更されるように # if 文を用いて、条件判断させている # データ数が多いため、最初以外は説明を省略している。 if/阿部 由美子/=~s # もし s が 阿部 由美子 だった場合 # 下の print 文を表示させている print("

    研究室は A 1 となります。

    \n") elsif/呉 尚弘/=~s # 条件が 2つ以上のため elsif を使用している print("

    研究室は A 2 となります。

    \n") elsif/大歳 恒彦/=~s print("

    研究室は A 3 となります。

    \n") elsif/澤邉 みさ子/=~s print("

    研究室は A 4 となります。

    \n") elsif/和田 明子/=~s print("

    研究室は B 2 となります。

    \n") elsif/広瀬 雄二/=~s print("

    研究室は B 3 となります。

    \n") elsif/西村 まどか/=~s print("

    研究室は B 4 となります。

    \n") elsif/平松 緑/=~s print("

    研究室は B 5 となります。

    \n") elsif/工藤 教和/=~s print("

    研究室は C 1 となります。

    \n") elsif/内藤 悟/=~s print("

    研究室は C 2 となります。

    \n") elsif/松山 薫/=~s print("

    研究室は C 3 となります。

    \n") elsif/水田 健輔/=~s print("

    研究室は C 4 となります。

    \n") elsif/白 迎玖/=~s print("

    研究室は C 5 となります。

    \n") elsif/一ノ瀬 大輔/=~s print("

    研究室は D 1 となります。

    \n") elsif/三原 容子/=~s print("

    研究室は D 2 となります。

    \n") elsif/半田 結/=~s print("

    研究室は D 3 となります。

    \n") elsif/山越 啓一朗/=~s print("

    研究室は D 4 となります。

    \n") elsif/杉山 肇/=~s print("

    研究室は D 5 となります。

    \n") elsif/古山 隆/=~s print("

    研究室は E 1 となります。

    \n") elsif/武田 真理子/=~s print("

    研究室は E 2 となります。

    \n") elsif/鎌田 剛/=~s print("

    研究室は E 4 となります。

    \n") elsif/遠山 茂樹/=~s print("

    研究室は E 5 となります。

    \n") elsif/市田 光/=~s print("

    研究室は E 6 となります。

    \n") elsif/照井 孫久/=~s print("

    研究室は F 1 となります。

    \n") elsif/呉 衛峰/=~s print("

    研究室は F 2 となります。

    \n") elsif/伊藤 真知子/=~s print("

    研究室は F 3 となります。

    \n") elsif/神田 直弥/=~s print("

    研究室は F 4 となります。

    \n") elsif/尾身 裕介/=~s print("

    研究室は G 1 となります。

    \n") elsif/温井 亨/=~s print("

    研究室は G 3 となります。

    \n") elsif/小地沢 将之/=~s print("

    研究室は G 4 となります。

    \n") elsif/國眼 真理子/=~s print("

    研究室は G 5 となります。

    \n") elsif/渡辺 暁雄/=~s print("

    研究室は H 1 となります。

    \n") elsif/益子 行弘/=~s print("

    研究室は H 2 となります。

    \n") elsif/小関 又恵/=~s print("

    研究室は H 3 となります。

    \n") elsif/竹原 幸太/=~s print("

    研究室は H 4 となります。

    \n") elsif/阿部公一/=~s print("

    研究室は H 5 となります。

    \n") elsif/三島 憲之/=~s print("

    研究室は I 3 となります。

    \n") elsif/松田 憲/=~s print("

    研究室は I 4 となります。

    \n") elsif/山本 雄樹/=~s print("

    研究室は I 5 となります。

    \n") end # これまでの if の end printf("

    何がしたい ?

    %s 相談する。

    ",kibou) # printf を使用し、何がしたいのか選択した分だけ # 表示させている print("\n") # ここで body を閉じた print("\n") # ここで html を閉じた 4、もとにしたプログラムからの変更点  以前、課題で作成したオンラインチケットの  プログラム(ticket.rb)を基にした。変更点は、数値などは  使用しないため省略し、膨大なデータ(教員がどの教室にいるか)を  調べ、プログラム内に書いていった。 また、2つ以上の組み合わせにするためラジオボタンとチェックボタンを 使用した。 そして、どのようなプログラムなのか説明を Web サイトの最初に書き わかりやすくした。 5、実行結果 教員名は 阿部 由美子 を選択して、世間話を選択。 阿部 由美子先生 研究室は A 1 となります。 何がしたい ? 最近の調子など , 相談する。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 教員名は 西村 まどか を選択して、世間話と将来についてを選択。 西村 まどか先生 研究室は B 4 となります。 何がしたい ? 最近の調子など ,就職、夢について , 相談する。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 教員名は 白 迎玖 を選択して、世間話、ゼミについて、 将来について、講義内容についてを選択。 白 迎玖先生 研究室は C 5 となります。 何がしたい ? 最近の調子など ,ゼミの具体的内容について ,就職、夢について , 成績のつけかた、テストについて , 相談する。 6、結果の考察 今回、作成した教員名を1つずつ選択してプログラムを実行させていったが 正しく、教員名と研究室が表示され、正しいことが確認できた。 また、ホームページ上だけでなく ktrm でも正しく実行されているか確認してみた。 pan{c110180}% ./r2_cgi_best.rb [~/public_html/advertise2/rubycgi] (offline mode: enter name=value pairs on standard input) sensei=" 西村 まどか" Content-type: text/html; charset=EUC-JP 教員検索

    西村 まどか先生


    研究室は B 4 となります。

    何がしたい ?

    相談する。

    ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー pan{c110180}% ./r2_cgi_best.rb [~/public_html/advertise2/rubycgi] (offline mode: enter name=value pairs on standard input) sensei="広瀬 雄二" Content-type: text/html; charset=EUC-JP 教員検索

    広瀬 雄二先生


    研究室は B 3 となります。

    何がしたい ?

    相談する。

    kterm 上でも プログラムが正しく実行されたことが確認できた。 3、感想 CGI で興味あるスクリプトは 去年の作品である http://roy.e.koeki-u.ac.jp/~c109149/advertise2/rubycgi/r2_cgi_best.html が一番優れていると感じた。選択肢によって様々なホームページに移動でき 実用性があると思った。実社会で使われるそうなオンラインソフトウェア作り の手本となる内容だと感じた。どのようにホームページへ移動しているか プログラムの説明をみても理解するのが難しかった。 しかし、説明を熟読してみると基本的な内容もあるため、 作成できるようになりたい。  今回のプログラム問題は、CGI 作品の最高傑作を作るものだったが、  CGI は内容が難しく作成できるか不安だったが、1つは作成することが  できた。作成した、プログラムは変数やデータを変化させれば  実社会でも使われる内容なため、とてもためになり、自分の力となった。   前回と同じように今回の課題を 個人プログラム広告ページの http://roy/~c110180/advertise2/index.html 第 10 回 の講義レポートという枠に載せておいた。 4、参考文献 西村先生の2011 年度 基礎プログラミング II 講義ノート http://roy/~madoka/2011/r1/12/ 10、ことおぼえ http://roy/~madoka/2011/r2/10/ 1. CGI で使うことのできるデータベース http://roy/~madoka/2011/r2/10/r2_10_01_theme_01_pstore.html 2. プログラム部分について http://roy/~madoka/2011/r2/10/r2_10_02_theme_02_program.html 3. コメント受け付けプログラム http://roy/~madoka/2011/r2/10/r2_10_04_theme_03_comment.html 4. データベースに入力 http://roy/~madoka/2011/r2/10/r2_10_05_theme_04_input.html 5. データベースからとりだして表示 http://roy/~madoka/2011/r2/10/r2_10_06_theme_05_transaction.html 6. データベースの内容をカウント http://roy/~madoka/2011/r2/10/r2_10_07_theme_06_count.html 9、ことえらび http://roy/~madoka/2011/r2/09/ 4. ラジオボタンの作り方 http://roy/~madoka/2011/r2/09/r2_09_04_theme_04_radio.html 5. チェックボックスの作り方 http://roy/~madoka/2011/r2/09/r2_09_05_theme_05_checkbox.html