第7回 基礎プログラミング II レポート課題 氏名:遠藤孝之 学籍番号:c1090265 語学クラス:中国語 コース(系):環境サイエンス 1-A-a:企画書:http://roy/~c109026/advertise2/kikaku2.txt 取り扱い説明書:http://roy/~c109026/advertise2/01readme b:プログラムはすき家に食べに行ってお店から出るまでの一連の動作をプロ グラム化してみました。 参考したプログラムは、def_rubiocci.rbです。 作ったプログラム #!/usr/koeki/bin/ruby $KCODE= "e" print("いらっしゃいませ!\n") print("お茶をお持ちしました。\n") print("\nメニューはこちらになります。\n") sleep 2 menyu = Hash.new("各種メニュー") menyu["牛丼ミニ"] = 230 menyu["牛丼並"] = 280 menyu["牛丼肉1.5盛"] =380 menyu["牛丼肉大盛"] =380 menyu["牛丼特盛"] =480 menyu["牛丼メガ"] =610 print("\n") menyu["おろしポン酢牛丼ミニ"] = 330 menyu["おろしポン酢牛丼並"] = 380 menyu["おろしポン酢牛丼肉1.5盛"] =480 menyu["おろしポン酢牛丼肉大盛"] =480 menyu["おろしポン酢牛丼特盛"] =580 menyu["おろしポン酢牛丼メガ"] =710 print("\n") menyu["食べラーメンマ牛丼ミニ"] = 330 menyu["食べラーメンマ牛丼並"] = 380 menyu["食べラーメンマ牛丼肉1.5盛"] =480 menyu["食べラーメンマ牛丼肉大盛"] =480 menyu["食べラーメンマ牛丼特盛"] =580 menyu["食べラーメンマ牛丼メガ"] =710 print("\n") menyu["セロリ牛丼ミニ"] = 330 menyu["セロリ牛丼並"] = 380 menyu["セロリ牛丼肉1.5盛"] =480 menyu["セロリ牛丼肉大盛"] =480 menyu["セロリ牛丼特盛"] =580 menyu["セロリ牛丼メガ"] =710 print("\n") menyu["キムチ牛丼ミニ"] = 310 menyu["キムチ牛丼並"] = 360 menyu["キムチ牛丼肉1.5盛"] =460 menyu["キムチ牛丼肉大盛"] =460 menyu["キムチ牛丼特盛"] =560 menyu["キムチ牛丼メガ"] =690 print("\n") menyu["3種のチーズ牛丼ミニ"] = 330 menyu["3種のチーズ牛丼並"] = 380 menyu["3種のチーズ牛丼肉1.5盛"] =480 menyu["3種のチーズ牛丼肉大盛"] =480 menyu["3種のチーズ牛丼特盛"] =580 menyu["3種のチーズ牛丼メガ"] =710 print("\n") menyu["高名明太牛丼ミニ"] = 330 menyu["高名明太牛丼牛丼並"] = 380 menyu["高名明太牛丼肉1.5盛"] =480 menyu["高名明太牛丼肉大盛"] =480 menyu["高名明太牛丼特盛"] =580 menyu["高名明太牛丼メガ"] =710 print("\n") menyu["わさび山かけ牛丼ミニ"] = 330 menyu["わさび山かけ牛丼並"] = 380 menyu["わさび山かけ牛丼肉1.5盛"] =480 menyu["わさび山かけ牛丼肉大盛"] =480 menyu["わさび山か牛丼特盛"] =580 menyu["わさび山かけ牛丼メガ"] =710 print("\n") menyu["ねぎ玉牛丼ミニ"] = 330 menyu["ねぎ玉牛丼並"] = 380 menyu["ねぎ玉牛丼肉1.5盛"] =480 menyu["ねぎ玉牛丼肉大盛"] =480 menyu["ねぎ玉牛丼特盛"] =580 menyu["ねぎ玉牛丼メガ"] =710 print("\n") menyu["牛丼ライト並"] = 330 print("\n") menyu["カレーライスミニ"] = 300 menyu["カレーライス並"] = 380 menyu["カレーライス大盛"] =480 menyu["カレーライスメガ"] =600 menyu["豚とろ丼並"] = 380 menyu["豚とろ丼ごはん大盛"] =410 menyu["豚とろ丼特盛"] =640 menyu["炭火とりたま丼ミニ"] = 380 menyu["炭火とりたま丼並"] = 480 menyu["炭火とりたま丼ごはん大盛"] =510 menyu["炭火とりたま丼特盛"] =740 menyu["炭火やきとり丼ミニ"] = 280 menyu["炭火やきとり丼並"] = 380 menyu["炭火やきとり丼ごはん大盛"] =410 menyu["炭火やきとり丼特盛"] =640 menyu["まごろたたき丼並"] = 380 menyu["まごろたたき丼ごはん大盛"] =410 menyu["まごろたたき丼特盛"] =640 menyu["山かけまごろたたき丼並"] = 580 menyu["山かけまごろたたき丼ごはん大盛"] =610 menyu["山かけまごろたたき丼特盛"] =780 menyu["まごろユッケ丼並"] = 550 menyu["まごろユッケ丼ごはん大盛"] =580 menyu["まごろユッケ丼特盛"] =770 menyu["五目あんかけ丼並"] = 430 menyu["五目あんかけ丼ごはん大盛"] =460 menyu["牛あいがけ五目丼並"] = 430 menyu["牛あいがけ五目丼ごはん大盛"] =460 menyu["コカコーラM"] = 100 menyu["コカコーラL"] = 150 menyu["カルピスM"] = 100 menyu["カルピスL"] = 150 menyu["ファンタメロンM"] = 100 menyu["ファンタメロンL"] = 150 menyu["ミニッツメイドオレンジM"] = 100 menyu["ミニッツメイドオレンジL"] = 150 menyu["コーラフロートM"] = 150 menyu["コーラフロートL"] = 200 menyu["カルピスフロートM"] = 150 menyu["カルピスフロートL"] = 200 menyu["メロンフロートM"] = 150 menyu["メロンフロートL"] = 200 menyu["オレンジフロートM"] = 150 menyu["オレンジフロートL"] = 200 menyu["ソフトクリーム"] = 150 menyu["チョコソフト"] = 190 menyu["ストロベリーソフト"] = 190 menyu["コーヒーソフト"] = 190 #p menyu print("\n") print("メニュー!!\n") menyu.keys.each{|item| printf("%-20s %5d\n" ,item,menyu[item])} print("\n++++++++++++++++++++++++\n\n") total = 0 item = 0 kazu = 0 while true STDERR.print("\nご注文はお決まりですか? \n") print("(以上でしたらCtrl-Dを押してください)\n") item = gets if item == nil then break else item = item.chomp end print("\n") STDERR.print("個数はどうなさいますか? : ") kazu = gets.chomp.to_f if menyu.key?(item) == false printf("すみませんが%dはおいてないんです...\n",item,menyu[item]) else printf("%s(%5.0d個)\t%5.0d円\n", item,kazu,menyu[item]*kazu) end print("\n") sum = menyu[item]*kazu total += sum.to_i end 実行結果 pan{c109026}% ./gyudon.rb [~/Ruby] いらっしゃいませ! お茶をお持ちしました。 メニューはこちらになります。 メニュー!! ストロベリーソフト 190 まごろユッケ丼並 550 セロリ牛丼並 380 キムチ牛丼ミニ 310 炭火とりたま丼特盛 740 コーヒーソフト 190 キムチ牛丼特盛 560 カルピスフロートL 200 牛あいがけ五目丼並 430 五目あんかけ丼ごはん大盛 460 おろしポン酢牛丼肉1.5盛 480 カルピスフロートM 150 山かけまごろたたき丼特盛 780 山かけまごろたたき丼並 580 炭火やきとり丼ミニ 280 3種のチーズ牛丼肉1.5盛 480 牛丼ミニ 230 3種のチーズ牛丼メガ 710 おろしポン酢牛丼メガ 710 牛丼肉大盛 380 牛丼特盛 480 わさび山かけ牛丼メガ 710 キムチ牛丼並 360 食べラーメンマ牛丼特盛 580 炭火とりたま丼ごはん大盛 510 ねぎ玉牛丼ミニ 330 セロリ牛丼肉1.5盛 480 セロリ牛丼ミニ 330 高名明太牛丼メガ 710 牛丼肉1.5盛 380 わさび山か牛丼特盛 580 セロリ牛丼肉大盛 480 ねぎ玉牛丼特盛 580 ソフトクリーム( 150 カルピスL 150 セロリ牛丼特盛 580 食べラーメンマ牛丼ミニ 330 カレーライスメガ 600 豚とろ丼並 380 コーラフロートL 200 カルピスM 100 3種のチーズ牛丼肉大盛 480 わさび山かけ牛丼肉1.5盛 480 キムチ牛丼肉大盛 460 コーラフロートM 150 食べラーメンマ牛丼並 380 キムチ牛丼メガ 690 食べラーメンマ牛丼肉1.5盛 480 3種のチーズ牛丼並 380 豚とろ丼特盛 640 高名明太牛丼肉大盛 480 炭火とりたま丼並 480 オレンジフロートL 200 まごろユッケ丼ごはん大盛 580 炭火やきとり丼特盛 640 牛丼ライト並 330 豚とろ丼ごはん大盛 410 オレンジフロートM 150 五目あんかけ丼並 430 まごろたたき丼並 380 炭火やきとり丼ごはん大盛 410 炭火やきとり丼並 380 カレーライス大盛 480 ミニッツメイドオレンジL 150 まごろユッケ丼特盛 770 牛丼メガ 610 ミニッツメイドオレンジM 100 まごろたたき丼特盛 640 ねぎ玉牛丼メガ 710 メロンフロートL 200 ファンタメロンL 150 牛丼並 280 高名明太牛丼肉1.5盛 480 わさび山かけ牛丼肉大盛 480 セロリ牛丼メガ 710 チョコソフト 190 メロンフロートM 150 ファンタメロンM 100 牛あいがけ五目丼ごはん大盛 460 山かけまごろたたき丼ごはん大盛 610 おろしポン酢牛丼ミニ 330 食べラーメンマ牛丼メガ 710 わさび山かけ牛丼並 380 ねぎ玉牛丼並 380 高名明太牛丼牛丼並 380 3種のチーズ牛丼ミニ 330 コカコーラL 150 まごろたたき丼ごはん大盛 410 おろしポン酢牛丼肉大盛 480 わさび山かけ牛丼ミニ 330 3種のチーズ牛丼特盛 580 カレーライス並 380 おろしポン酢牛丼特盛 580 コカコーラM 100 高名明太牛丼ミニ 330 ねぎ玉牛丼肉大盛 480 カレーライスミニ 300 ねぎ玉牛丼肉1.5盛 480 高名明太牛丼特盛 580 おろしポン酢牛丼並 380 食べラーメンマ牛丼肉大盛 480 キムチ牛丼肉1.5盛 460 炭火とりたま丼ミニ 380 ++++++++++++++++++++++++ ご注文はお決まりですか? (以上でしたらCtrl-Dを押してください) 豚とろ丼ごはん大盛 個数はどうなさいますか? : 3 豚とろ丼ごはん大盛( 3個) 1230円 ご注文はお決まりですか? (以上でしたらCtrl-Dを押してください) カレーライスミニ 個数はどうなさいますか? : 1 カレーライスミニ( 1個) 300円 ご注文はお決まりですか? (以上でしたらCtrl-Dを押してください) ^D 本日のお会計は... 1530円になります。 ありがとうございました!! 考察(確かめ算) pan{c109026}% bc -l [~/Ruby] 410 + 410 + 410 1230 1230 + 300 1530 quit 豚とろ丼ごはん大盛は1個410円、カレーライスミニは300円なので豚とろドンは3 個頼んで1230円とカレーライスミニ300円を足すと1530円になるのでこのプログ ラムは正しいと言えます。 改善点 ぐちゃぐちゃなメニューを分かりやすくしなければならないと思った。 c:これから、プレゼンを行ないたいと思います。私は、すき家で食べに行って店 から出るまでの一連の動作をプログラムしてみました。 理由は、普段の自分の行動がプログラム化してみたらいったいどうなんだろう?と 思い作成しました。 プログラムの内容は、自分がすき家に行って頼む品と数を入力すればかかった 金額も出る設定となっています。グループ学習でやった「1週間の食費プログ ラム」と似ている部分があると思います。 そして、このゲームができるようにするには、ダウンロードが必要です。 d:リンク先 広告ホームページのリンク先:http://roy/~c109026/advertise2 B:a:自分のホームページ先:http://roy/~c109026/index.html b:広告ホームページ参照 c:広告ホームページ参照 d:新作であるのでリンクはしません。 e: 感想 久々にやってみて殆どのことが忘れてしまっていて友人の力無しでは出来ません でした。改良すべき点をちゃんと改善して行けるように頑張る。 参考文献 http://www.sukiya.jp/menu/ すき家のメニュー瀾 Ruby/def_rubiocci.rb 共同学習者:池田博哉 藤井駿