第 9 回 ことえらび レポート課題 氏 名: 本間 紘司 学籍番号: C1101796 語学クラス: 中国語 コース(系): 社会福祉 1.筆記問題 A.ラジオボタンとは複数の選択肢から 1 つだけ選ぶ方法である。 (いわゆる 3択クイズ と同じである。) 授業中に使った sightseeing.html を使って確認してみた。 窓 ・type="radio"をなくしたところ 窓 という言葉が枠内に表示されるだけで、 ラジオボタンのコマンドではなくなっていた。 つまりラジオボタンのしくみは type="radio"に関係していることがわかった。 つまり type="radio" がこれはラジオボタンですよという 宣言 を行なってい るコマンドと考えられる。 B.チェックボタンのしくみはラジオボタンの仕組とよく似ている。 ただし、ラジオボタンが複数の選択肢から 1 つだけを選ぶ方法なのに対して、 チェックボタンの方は複数の選択肢の中から、何個 も選んでいい方法である。 (アンケート等によく見られる 複数回答可 がその例である。) バイキング type="checkbox" このコマンドがラジオボタンと同じように複数回答可を可能 にしている。 ためしにこのコマンドをなくしたら、上記のラジオボタンの仕 組と同じように、枠内にバイキングと言葉が表示されるだけになった。なので 考察は正しいと考えられる。 C. 基礎プログラミングのキャラクタ画像 (char_r2_c110179.png) 画像をのせたアドレスのリンク (http://roy.e.koeki-u.ac.jp/~c110179/advertise2/index.html) 題名: シェリー(種類:シェルティ) 解説: このモデルはリンクに貼っている、自分の家の犬をモデルに作りまし た。 方法: 最初に直線で大体の顏の輪郭を作ってから、その輪郭をツールバーを 使って丸く整えました。耳の方は円を作って、大きさを作ってから、同じよ うにツールバーで形を整えました。目、模様、鼻も同様です。顔などの塗り つぶしもツールバーのcolorを使って、キャラクタに合った色を塗りました。 工夫: そのまま作ったのではつまらないため、デフォルメを意識して 作りました。特に耳に模様を入れたり、頭に白い模様があるところ等、特長 のあるところをこだわってっています。後はシンプルイズベストをモッ トーに作りました。 A~Cまでの参考文献 西村先生 基礎プログラミングI 第 12 回 「画像作成」 1~7 http://roy/~madoka/2011/r1/12/ 西村先生 基礎プログラミングII 第 9 回 「ラジオボタンの作り方」 http://roy/~madoka/2011/r2/09/r2_09_04_theme_04_radio.html 西村先生 基礎プログラミングII 第 9 回 「チェックボックスの作り方」 http://roy/~madoka/2011/r2/09/r2_09_05_theme_05_checkbox.html -------------------------------------------------------------------------------- 2.プログラム問題 ホームページ (http://roy/~c110179/rubycgi/fork.html) A. Aのカウンタ例と構造、ファイルを例に訪問者を数えるカウンターを作ってみ ました i.考えた設定 訪問者がそのページを開くと、今●人目ですと表示されるプログラムを作った。 ii.作成したプログラム (counter.rb) #!/usr/bin/env ruby require 'cgi' #cgi を使う宣言 cgi = CGI.new("html4") #cgi を HTML 文書に使う print("Content-type: text/html; charset=EUC-jp\n\n") #日本語を表示する number = 0 #numberの初期値を0にする open("counter.txt","r") do |read| #openメソッドでcounter.txtを開いて読み込む while data = read.gets if /(\d+)/ =~ data number = $1.to_i # .to_i = データを整数として読み込む end end end print("\n") print("\n") print("訪問者カウンター\n") print("") print("\n") print("\n") print("
\n") # 文字をセンターに表示する printf("

今までの訪問者数はこれまでで %d 人です

\n", number) # 整数なので %d print("

ようこそ!! CGIの作品は殆ど未完成ですけど……

\n") print("

よかったら、トップページに戻って、犬育成ゲーム等のプログラムを見てやって下さい!

\n") print("

では、ごゆっくり-

\n") print("\n") print("\n") number += 1 #number に1を足す open("counter.txt","w") do |write| #openメソッドでcounter.txtを開いて書き込む write.printf("%d\n",number) #数字が増えないといけないので、書き込む内容は end # 'number' iii.元したプログラムからの変更点 元にしたプログラム レポート課題の構造(counter.rb) ・の追加 ・
の追加 ・文字の大きさ

やタイトルの変更 vi.プログラムの実行結果 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~1回目の実行結果~ pan{c110179}% ./counter.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) Content-type: text/html; charset=EUC-jp Content-type: text/html; charset=EUC-jp 訪問者カウンター

今までの訪問者数はこれまでで 1 人です

ようこそ!! CGIの作品は殆ど未完成ですけど……

よかったら、トップページに戻って、犬育成ゲーム等のプログラムを見てやって下さい!

では、ごゆっくり-

pan{c110179}% ./counter.rb [~/public_html/rubycgi] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~念のため2回目を実行した結果~ pan{c110179}% ./counter.rb [~/public_html/rubycgi] (offline mode: enter name=value pairs on standard input) Content-type: text/html; charset=EUC-jp Content-type: text/html; charset=EUC-jp 訪問者カウンター

今までの訪問者数はこれまでで 2 人です

ようこそ!! CGIの作品は殆ど未完成ですけど……

よかったら、トップページに戻って、犬育成ゲーム等のプログラムを見てやって下さい!

では、ごゆっくり-

pan{c110179}% ./counter.rb [~/public_html/rubycgi] ~結果~ ktermで実行した結果、訪問者数も1回目の1人、2回目の2人と増えているから成功といえる。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ v.考察 ・最初、何回もやって失敗したが、原因が chmod のしわすれだった。 このプログラムは .rb ということを完璧に忘れていたのが反省点。 ・その後に kterm で実行したところ成功したのだが、HP上では何故か訪問者数 が増えなかった。しばらくやってダメだったので、講義のHPを見ていると txt の chmod o+w のしわすれだと気づいた。実行したら無事訪問者数が増え るようになった。 (わかったこと) ・chmod o+w ~.txtをすることで、ユーザーだけではなく全ての人が書き込みを出来るよ うになる ・訪問者数がふえるたび txt 内は 1、2、3、と数字が書き込まれるようになった。 おそらくこれは open メソッドにより開いたファイルが読み込み、書き込みが され上記のようになったと思われる。 counter.rbのページのリンク: http://roy/~c110179/rubycgi/counter.rb *CGI公開ページ: http://roy/~c110179/rubycgi/fork.html 参考文献 西村先生 基礎プログラミングII 第 9 回 「ファイルを使ってみよう」 http://roy/~madoka/2011/r2/09/r2_09_08_theme_08_hashfile.html -------------------------------------------------------------------------------- 3.感想 今回は金曜日までのボーナスの為、A だけしかやれませんでしたが、このプログ ラム(ラジオボタン、チェックボックス)をやっている内に興味を持って来たので、 空き時間があったら、せめて途中までやってある計算機のプログラムを完成させ てレポートを再提出したいと思います。次回も今回のように楽しんでプログラム をつくりたいと思います。 *質問ですが、すべてのプログラムも添付したほうが良いのでしょうか? 今回は課題の画像だけを添付しておきます。