第 12 回 自由課題準備 (2) レポート課題 氏名:佐藤 祐子 学籍番号:C1110832 語学クラス:中国語3 コース:地域共創コース チーム名:ちどりふたーず チームホームページアドレス:http://roy/~c111065/chidorifutars/chidorifutars.html 部門:お役立ち部門 プロジェクトコード名:お酒検索プログラム チーム SNS アドレス:http://cms.is.koeki-u.ac.jp/sns/community/60 1、チーム全体の進み具合 チームではメンバーそれぞれに担当を持たせることにより、着実に形になっ てきている。しかし、集まらないメンバーもいるのでその分を補う面ではや はり遅れが出ている面がある。 2、プロジェクト全体の進み具合 プロジェクト内では今まで別々に構成していた掲示板と検索を一緒にし、プ ログラム本体も完成させることが出来た。 プロジェクト1は順調に進んでいる。 プロジェクト2は変更もあったことから一からの作業になっているのでもう一 度メンバーと話し合った上で作業を進めたい。 3、プロジェクトの担当部分 私はプロジェクト1で前回の試作品プログラムにデータを増やし、プログラム を完成させた。 //作成したプログラム// お酒概要検索

お酒概要検索

このプログラムはお酒の概要を検索できるプログラムです。

※ただし日本酒は山形県内の有名な品に限ります。

  • Cocktail
  • マティーニ マンハッタン マルガリータ ギムレット ダイキリ

    サイドカー アレキサンダー ホワイト・レディ バレンシア バラライカ

  • Whisky
  • モルトウィスキー グレーンウィスキー ブレンデッドウィスキー

    バーボンウィスキー コーンウィスキー テネシーウィスキー ライウィスキー

  • Japanese
  • 出羽桜 初孫 上喜元

    清泉川 三十六人衆 十四代

    くどき上手 やまと桜 杉勇

    山形正宗 つや姫

    #!/usr/bin/env ruby #coding: euc-jp require 'cgi' cgi = CGI.new(:accept_charset => "EUC-JP") print("Content-type: text/html; charset=EUC-JP\n\n") alc = cgi["sina"] print("\n") print("\n") print("検索\n") print("\n") print("\n") print("

    概要

    \n") if alc == "マティーニ" print("

    ベースはジン。

    度数は35度。

    カクテルの中のキング・オブ・カクテルといわれる

    \n") elsif alc == "マンハッタン" print("

    ベースはカナディアン・ウィスキー。

    度数は27〜35度。

    名前の由来はN.Yのマンハッタン。

    創始者はイギリス首相・チャーチルの母。

    \n") elsif alc == "マルガリータ" print("

    ベースはテキ−ラ。

    度数は20〜30度。

    名前の由来は創始者の亡くなった恋人

    \n") elsif alc == "ギムレット" print("

    ベースはジン。

    度数は29〜35度。

    名前の由来はイギリス海軍軍医 T.O ギムレット。<\p>\n") elsif alc == "ダイキリ" print("

    ベースはラム酒。

    度数は23〜30度。

    名前の由来はキューバのダイキリ鉱山

    \n") elsif alc == "サイドカー" print("

    ベースはブランデー。

    度数は20〜30度。

    名前の由来は第一次世界大戦で活躍したサイドカーからきている。

    \n") elsif alc == "アレキサンダー" print("

    ベースはブランデー。

    度数は21〜23度。

    1901年、イギリス国王・エドワードが妻・アレキサンドラに捧げたもの

    \n") elsif alc == "ホワイト・レディ" print("

    ベースはジン。

    度数は29度。

    もともとはホワイト・ペパーミントをベースに作られていた。

    \n") elsif alc == "バレンシア" print("

    ベースはアプリコット・ブランデー。

    度数は14〜24度

    甘口なので女の子にはおすすめ<\p>\n") elsif alc == "バラライカ" print("

    ベースはウォッカ。

    度数は20〜30.6度。

    名前の由来はロシアの弦楽器。ロシアゆえにウォッカベース。

    \n") elsif alc == "モルトウィスキー" print("

    ピート煙臭をしみ込ませた大麦麦芽(モルト)だけを原料とし、発酵、単式蒸留機で2〜3回蒸留後、オーク樽で熟成。他の蒸留所の原酒を一滴もブレンドしていないものをシングルモルトという。

    \n") elsif alc == "グレーンウィスキー" print("

    原料は80%のトウモロコシと20%のピート煙臭をつけていない大麦麦芽。連続式蒸留機で蒸留して作られる。

    \n") elsif alc == "ブレンデッドウィスキー" print("

    モルトウィスキーとグレーンウィスキーをブレンドしたもの。

    \n") elsif alc == "バーボンウィスキー" print("

    原料にトウモロコシを51〜80%未満使用したもの。

    主にケンタッキー州バーボン郡でつくられる

    \n") elsif alc == "コーンウィスキー" print("

    原料にトウモロコシを80%以上使用したもの。

    \n") elsif alc == "テネシーウィスキー" print("

    テネシー州で、テネシー州産のサトウカエデの炭を使って瀘過し樽熟成したもの。

    \n") elsif alc == "ライウィスキー" print("

    原料にライ麦を51%以上使用したもの。

    \n") elsif alc == "出羽桜" print("

    酒造 : 出羽桜酒造

    山形を代表する日本酒の一つ。

    その中でも一路は世界でも大変評価が高く、全米日本酒歓評会で金賞を受賞している。

    \n") elsif alc == "初孫" print("

    酒造 : 東北銘醸株式会社

    庄内を代表する日本酒の一つで、フルーティーな風味が特長。

    毎年、初孫が主催する試飲会には多くの日本酒ファンがつめかける。

    \n") elsif alc == "上喜元" print("

    酒造 : 酒田酒造株式会社

    爽やかな酸味を持つものから、超辛口という他に類を見ないものまで幅広いラインナップを持つのが上喜元。

    \n") elsif alc == "清泉川" print("

    酒造 : 株式会社オードヴィ庄内

    鼻に抜けるようなフルーティーな風味が特長であり、さらに米の風味が絶妙に感じられる一品。

    その中でも船前はデザートワインのような爽やかさと甘みを持ち、おすすめ。

    \n") elsif alc == "三十六人衆" print("

    酒造 : 菊勇株式会社

    酒田市に伝わる三十六人衆伝説に基づいて作られた一品。

    その中でも大吟醸はその三十六人衆伝説の歴史の重みに相応しく、とろっとした深い味わいとなっている。

    \n") elsif alc == "十四代" print("

    酒造 : 高木酒造株式会社

    全国的の日本酒愛好家達が選ぶ「全国日本酒ランキング」で堂々の1位に輝いた一品

    一番の特長はその香りにある。栓を空けた瞬間に香るバニラのように上質な香りは間違いなく華やか。

    \n") elsif alc == "くどき上手" print("

    酒造 : 亀の井酒造株式会社

    山形県産米をふんだんに使った純米酒。

    上品な果実香に、含みと感じるのはフレッシュな味わい。

    水を感じる酒となっているが、水っぽくは無く、しっかりとした風味が特長

    \n") elsif alc == "やまと桜" print("

    酒造 : 佐藤佐治右エ門

    蔵元は平成23年に新体制になり、今後のラインナップが期待される。

    やまと桜はほのかな吟醸香とキレのある辛口の風味が特長。

    \n") elsif alc == "杉勇" print("

    酒造 : 杉勇蕨岡酒造場

    鳥海山の雪融け水を使った純米酒が特長。

    秋にはつや姫を100%使用した純米酒が発売される。

    \n") elsif alc == "山形正宗" print("

    酒造 : (株)水戸部酒造

    硬水から作られるキレの良い味が特長。

    料理と一緒に頂いてもその料理の味を壊さずむしろ生かすような風味はさすが。

    \n") else alc == "つや姫" print("

    酒造 : 亀の井酒造株式会社

    100%つや姫から作られた一品

    余計なものをいっさい使わず、つや姫本来の味にこだわったにごり酒。とろりとした舌触りと深い甘みが広がる。

    \n") end print("\n") print("\n") //改良した点// * データの追加 * タイトル「概要」の追加 //実行結果// お酒概要検索

    お酒概要検索

    このプログラムはお酒の概要を検索できるプログラムです。

    ※ただし日本酒は山形県内の有名な品に限ります。

  • Cocktail
  • マティーニ マンハッタン マルガリータ ギムレット ダイキリ

    サイドカー アレキサンダー ホワイト・レディ バレンシア バラライカ

  • Whisky
  • モルトウィスキー グレーンウィスキー ブレンデッドウィスキー

    バーボンウィスキー コーンウィスキー テネシーウィスキー ライウィスキー

  • Japanese
  • 出羽桜 初孫 上喜元

    清泉川 三十六人衆 十四代

    くどき上手 やまと桜 杉勇

    山形正宗 つや姫

    ホームページ上での実行画面 検索

    概要

    ベースはジン。

    度数は29度。

    もともとはホワイト・ペパーミントをベースに作られていた。

    kterm上での実行画面 roy{c111083}% ./osake.rb [~/public_html/chidorifutars/rubycgi] (offline mode: enter name=value pairs on standard input) sina="ホワイト・レディ" /usr/local/ruby/1.9/lib/ruby/1.9.1/cgi/core.rb:602: warning: regexp match /.../n against to EUC-JP string /usr/local/ruby/1.9/lib/ruby/1.9.1/cgi/core.rb:602: warning: regexp match /.../n against to EUC-JP string /usr/local/ruby/1.9/lib/ruby/1.9.1/cgi/core.rb:602: warning: regexp match /.../n against to EUC-JP string /usr/local/ruby/1.9/lib/ruby/1.9.1/cgi/core.rb:592: warning: regexp match /.../n against to EUC-JP string /usr/local/ruby/1.9/lib/ruby/1.9.1/cgi/core.rb:592: warning: regexp match /.../n against to EUC-JP string /usr/local/ruby/1.9/lib/ruby/1.9.1/cgi/core.rb:610: warning: regexp match /.../n against to EUC-JP string Content-type: text/html; charset=EUC-JP 検索

    概要

    ベースはジン。

    度数は29度。

    もともとはホワイト・ペパーミントをベースに作られていた。

    //考察// はじめはHP上にて選択後の結果表示がされなかったが、html の方でのHashミス だと分かり、修正したところ正しい結果が表示された。 よって、このプログラムは正しく動作したといえる。 ********** プロジェクト2の内容を相談している間に何気なく作っていたプログラムが完成 してしまったので、せっかくなので添付します。 摂取したアルコール分解量と分解時間を計算させるプログラム //作成したプログラム// #!/usr/koeki/bin/ruby #coding: euc-jp def alc(x) # 1時間に分解できるアルコール量の計算 x * 0.1 end def jun(y,z) # 純アルコール量の計算 y * z * 0.8 end printf("あなたの1時間に分解できるアルコール量を計算します。\n") STDERR.print("あなたの体重を入力して下さい:\n") # 体重の入力 a = gets.to_i # 入力されたものを整数にする sleep 0.5 # 0.5秒間を空ける printf("あなたの1時間に分解できるアルコール量は%d[g]です。\n",alc(a)) # 結果表示 sleep 1 # 1秒空ける print("\n") # 1行空ける printf("あなたが飲んだアルコール量(純アルコール量)を計算します。\n") STDERR.print("度数を入力して下さい。例))15度 → 0.15 :\n") # 度数の入力 b = gets.to_f # 入力されたものを小数点も可能にする STDERR.print("飲んだ量を入力して下さい。例))350ml2本 → 700 :\n") # 飲 んだ量の入力 c = gets.to_f # 小数点も可能にする sleep 0.5 # 0.5秒空ける printf("あなたの純アルコール量は%d[g]です。\n",jun(b,c)) sleep 1 # 1秒空ける print("\n") printf("あなたが飲んだアルコール量の分解時間を計算します。\n") sleep 1 # 1秒空ける print("\n") # 1行空ける printf("計算中.....\n") # 計算中と見せかける! sleep 1 print("\n") time = jun(b,c) / alc(a) # 分解時間の計算 printf("あなたが現実に戻る時間は....%d時間後です。\n",time) # 時間表示 printf("この時間内での運転は絶対にやめましょう。\n") # 飲酒運転禁止の 注意 //もとにしたプログラムからの変更// def_twoparam.rb と def_budget.rbをもとに作成。 * 計算させる def---endを計算式にあわせて追加した。 * 行間とsleepを用いることで見やすいように作成。 * 注意の促し //実行結果// * 体重50kgの人が5%のお酒を500ml飲んだ場合 pan{c111083}% ./alc.rb [~/public_html/chidorifutars] あなたの1時間に分解できるアルコール量を計算します。 あなたの体重を入力して下さい: 50 あなたの1時間に分解できるアルコール量は5[g]です。 あなたが飲んだアルコール量(純アルコール量)を計算します。 度数を入力して下さい。例))15度 → 0.15 : 0.05 飲んだ量を入力して下さい。例))350ml2本 → 700 : 500 あなたの純アルコール量は20[g]です。 あなたが飲んだアルコール量の分解時間を計算します。 計算中..... あなたが現実に戻る時間は....4時間後です。 //考察// bc-lを使って調べたところ、 pan{SATO Yuko}% bc -l [~] 50*0.1 5.0 0.05*500*0.8 20.000 20/5 4.00000000000000000000 仕込んだ計算通りに計算されていることから、このプログラムは正しく動作した と言える。 //参考文献// cocktail.rb ウィスキー http://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A4%E3%82%B9%E3%82%AD%E3%83%BC def_twoparam.rb def_budget.rb 4、チーム内のプロジェクト外メンバーに指摘された点について 結果表示画面からもどるのリンクで選択画面に戻れると良い。 5、上記の指摘に対する改良の進展具合 指摘に対して、戻るのリンクを貼ろうと思っているのだが、今のところうま くいかない。しかし、前向きに改良中。 10、chidorifutars.txt の作成をした。 共同作業者 齋藤 香織 阿部 翼