第12回 基礎プログラミング II レポート課題 氏名:吉田瑞恵 学籍番号:C1082030 語学クラス:英語(?) コース(系):社会 チーム名:山形新幹線 チームホームページアドレス: プロジェクト名:「東北新幹線 券売機」「この新幹線はなーに?」 1.全体の進み具合 「東北新幹線 券売機」の方は、ハッシュを利用するため別ファイルにデータを 作成中。メソッドも使えるよう検討中。 「この新幹線はなーに?」の方は、絵と文は完成に近づいている。 後はレイアウトなどを考えるようだ。 2.プロジェクトの進み具合 データをプログラムから分離中。 プレゼン/原稿は終了した模様。 デモ版ほぼ完成。 3.担当部分 本プログラム:今回ほとんど進展なし。 データ作成: 出発駅.txtで、内容は 到着駅 運賃 のデータを作成中。 今回は tokyo.txt ueno.txt oomiya.txt utsunomiya.txt kooriyama.txt fukushima.txt yonezawa.txt takahata.txt akayu.txt kaminoyama.txt yamagata.txt tendo.txt higashine.txt murayama.txt ooishida.txt shinjo.txt を作成。 ただし、東京、上野、大宮、宇都宮、郡山に関しては、 「つばさ」の停車駅のデータしかいれていないので未完成。 他の路線の停車駅も入力しなければならない。 デモ版: htmlページは宮川先輩、CGI部分は私が作成した。 宮川先輩が卒論で忙しいのと、私がハッシュを使う仕組みを理解しておきたいと 考えたためである。(解説は後述) 4.メンバーからの指摘 「ハッシュやメソッドを使わなくてはならないのでは?」 (もうひとつのプログラムでは使いようがないとのこと。) 「チケットのビジュアル的な面をもっとどうにかすべき」 5. <ハッシュ> これまでプログラムに書いていた料金をデータファイルに移すことにした。 データファイルから配列を読込み、ハッシュとして使う。 そのように動くものを、デモ版で作成した。 これを本プログラムに応用していく予定だ。 <メソッド> 選ばれた席の種類に応じて、運賃を高くしようと考えている。 その計算をするときにメソッドを使う。 <ビジュアル> 宮川先輩の作った発券機 http://roy/~c107194/advertise2/rubycgi/r2_cgi_best.html をもとに改良する。 6.デモ版作成 先週作成した本プログラムは、ハッシュを使わずに数値を表示させていた。 デモ版を作り、発展させて本プログラムにつなげようと考えた。 なので、私はプログラム作成担当だがデモ版も作ることにした。 (宮川先輩にはhtml部分を作成してもらった) だが、ハッシュのデータの読みこませ方が分からず、12/24になってから 西村先生に質問しようと思い立った。先生はご不在だったので広瀬雄二先生に相談した。 初めは新幹線ごとにtsubasa.datのようにそれぞれのデータを作り、内容は 東京 上野 990 東京 大宮 1580 : : : : : : 東京 新庄 12510 として、$1 と $2 から $3 を導き出せるようにしようとした。 だが、相談したところ、tokyo.datなど各駅ごとに作った方が データファイルは多くなるが簡単だということであった。 また、ハッシュの方法を理解しておらずプログラムが正常に作動しなかったが、 間違えた部分を指摘していただいたので動くようになった。 作成プログラム k_demo.rb #!/usr/koeki/bin/ruby require 'cgi' # cgi使用宣言 cgi = CGI.new("html4") # html4 でcgiを使う。 print("Content-type: text/html; charset=Euc-jp\n\n") station = Hash.new # hashを使う。 depa = cgi["depart"] arr = cgi["arrive"] print("\n") # html 開始 print("
\n") print("\t\n") # 表を作る。
print("\t 乗車券<\p>\n") printf(" %s→%s\n",depa,arr) # どこの駅からどこの駅までか printf("%s円 \n",station[arr]) # 料金はいくらか、ハッシュで出す。 print(" |
---|