第 7 回 専門演習紹介 レポート課題 氏名:高橋真優 学籍番号:c1110967 語学クラス:英語1 コース:政策マネジメント 1-A a. 仕様書は plan.txt として作成した。企画意図、使用方法、著作権に関して、連 絡先を記入した。 * 仕様書 * ----- 企画意図 ----- このプログラムは買い物において選択した商品の数量を指定し、1つの商品の合 計価格と全ての合計価格を計算するものである。 ----- 遊び方 ----- まずファイル ekiben.rb をダウンロードし、保存する。 次に kterm で ekiben.eb と入力する。 表示された内容に従って入力する。 ----- 著作権について ----- このプログラムは、東北公益文科大学 高橋真優が著作権を保有しています。 このプログラムの入手・実行・改変・再配布は、いずれも自由に行うことができます。 ただしこのプログラムを使用することで生じたいかなる結果に対しても著作権者は責任を負いません。 このプログラムに対する意見・感想・要望は下記のアドレスまでお願いします。 アドレス : c111096@e.koeki-u.ac.jp b. 駅弁ランキングの上意10位を販売し、1種類の弁当の購入価格、購入する弁当の 全体価格を計算するプログラムを作成した。 もとにしたプログラムは def_statistic.rb hash_pair.rb hashu_ary_calc.rb である。 <作成したプログラム> #!/usr/koeki/bin/ruby #coding: euc-jp bento = Hash.new # 新しくハッシュを作る total = 0 # total は0から goukei = 0 # goukei は0から bento[1] = ["ますのすし","富山県富山市",1300] bento[2] = ["峠の釜めし","群馬県横川駅",1000] bento[3] = ["崎陽軒シウマイ弁当","神奈川県横浜駅",750] bento[4] = ["いかめし","北海道森駅",500] bento[5] = ["たらば寿し","北海道釧路駅",1350] bento[6] = ["網焼き牛たん弁当","宮城県仙台駅",1100] bento[7] = ["牛肉どまん中","山形県米沢駅",1100] bento[8] = ["うにいくら弁当","北海道函館駅",1260] bento[9] = ["上州の朝がゆ","群馬県高崎駅",350] bento[10] = ["大間のマグロづけ炙り丼","青森県八戸駅",1680] print("\n") print("全国駅弁フェア開催中!!\n") print("全国の駅弁ランキングの上位10品を販売します!\n") print("買いたい商品の個数を入力してください。\n\n") for name ,jouhou in bento # 繰り返し表示する printf("%d %s : %sで販売 価格%d円\n", name, jouhou[0], jouhou[1], jouhou[2]) end while true print("\n") print("購入したい番号を入力してください。:") shohin = gets.to_i # shohin をとってきて整数にする print("購入個数を入力してください。(購入終了の場合はctrl-dと入力)(購入終了の場合はctrl-dと入力):") kazu = gets.to_i # kazu をとってきて整数にする total = bento[shohin][2] * kazu # 1種類の弁当の合計価格の計算 goukei += bento[shohin][2] * kazu # 購入する弁当の全ての価格の計算 printf("%s が %d個の合計は %d円です。",bento[shohin][0],kazu,total) z = gets # z をとってくる if z == nil break end end print("\n") printf("全ての合計金額は %s円です。お買い上げありがとうございました!\n",goukei) <プログラムの実行結果> [1種類のみ購入した場合] pan{c111096}% ./ekiben.rb [~/public_html/adv2] 全国駅弁フェア開催中!! 全国の駅弁ランキングの上位10品を販売します! 買いたい商品の個数を入力してください。 1 ますのすし : 富山県富山市で販売 価格1300円 2 峠の釜めし : 群馬県横川駅で販売 価格1000円 3 崎陽軒シウマイ弁当 : 神奈川県横浜駅で販売 価格750円 4 いかめし : 北海道森駅で販売 価格500円 5 たらば寿し : 北海道釧路駅で販売 価格1350円 6 網焼き牛たん弁当 : 宮城県仙台駅で販売 価格1100円 7 牛肉どまん中 : 山形県米沢駅で販売 価格1100円 8 うにいくら弁当 : 北海道函館駅で販売 価格1260円 9 上州の朝がゆ : 群馬県高崎駅で販売 価格350円 10 大間のマグロづけ炙り丼 : 青森県八戸駅で販売 価格1680円 購入したい番号を入力してください。:3 購入個数を入力してください。:5 崎陽軒シウマイ弁当 が 5個の合計は 3750円です。(購入終了の場合はctrl-dと入力)^D 全ての合計金額は 3750円です。お買い上げありがとうございました! [4種類購入した場合] pan{c111096}% ./ekiben.rb [~/public_html/adv2] 全国駅弁フェア開催中!! 全国の駅弁ランキングの上位10品を販売します! 買いたい商品の個数を入力してください。 1 ますのすし : 富山県富山市で販売 価格1300円 2 峠の釜めし : 群馬県横川駅で販売 価格1000円 3 崎陽軒シウマイ弁当 : 神奈川県横浜駅で販売 価格750円 4 いかめし : 北海道森駅で販売 価格500円 5 たらば寿し : 北海道釧路駅で販売 価格1350円 6 網焼き牛たん弁当 : 宮城県仙台駅で販売 価格1100円 7 牛肉どまん中 : 山形県米沢駅で販売 価格1100円 8 うにいくら弁当 : 北海道函館駅で販売 価格1260円 9 上州の朝がゆ : 群馬県高崎駅で販売 価格350円 10 大間のマグロづけ炙り丼 : 青森県八戸駅で販売 価格1680円 購入したい番号を入力してください。:8 購入個数を入力してください。:5 うにいくら弁当 が 5個の合計は 6300円です。(購入終了の場合はctrl-dと入力) 購入したい番号を入力してください。:2 購入個数を入力してください。:4 峠の釜めし が 4個の合計は 4000円です。(購入終了の場合はctrl-dと入力) 購入したい番号を入力してください。:3 購入個数を入力してください。:7 崎陽軒シウマイ弁当 が 7個の合計は 5250円です。(購入終了の場合はctrl-dと入力) 購入したい番号を入力してください。:10 購入個数を入力してください。:6 大間のマグロづけ炙り丼 が 6個の合計は 10080円です。(購入終了の場合はctrl-dと入力)^D 全ての合計金額は 25630円です。お買い上げありがとうございました! [7種類購入した場合] pan{c111096}% ./ekiben.rb [~/public_html/adv2] 全国駅弁フェア開催中!! 全国の駅弁ランキングの上位10品を販売します! 買いたい商品の個数を入力してください。 1 ますのすし : 富山県富山市で販売 価格1300円 2 峠の釜めし : 群馬県横川駅で販売 価格1000円 3 崎陽軒シウマイ弁当 : 神奈川県横浜駅で販売 価格750円 4 いかめし : 北海道森駅で販売 価格500円 5 たらば寿し : 北海道釧路駅で販売 価格1350円 6 網焼き牛たん弁当 : 宮城県仙台駅で販売 価格1100円 7 牛肉どまん中 : 山形県米沢駅で販売 価格1100円 8 うにいくら弁当 : 北海道函館駅で販売 価格1260円 9 上州の朝がゆ : 群馬県高崎駅で販売 価格350円 10 大間のマグロづけ炙り丼 : 青森県八戸駅で販売 価格1680円 購入したい番号を入力してください。:10 購入個数を入力してください。:4 大間のマグロづけ炙り丼 が 4個の合計は 6720円です。(購入終了の場合はctrl-dと入力) 購入したい番号を入力してください。:3 購入個数を入力してください。:5 崎陽軒シウマイ弁当 が 5個の合計は 3750円です。(購入終了の場合はctrl-dと入力) 購入したい番号を入力してください。:7 購入個数を入力してください。:3 牛肉どまん中 が 3個の合計は 3300円です。(購入終了の場合はctrl-dと入力) 購入したい番号を入力してください。:4 購入個数を入力してください。:7 いかめし が 7個の合計は 3500円です。(購入終了の場合はctrl-dと入力)1 購入したい番号を入力してください。:1 購入個数を入力してください。:6 ますのすし が 6個の合計は 7800円です。(購入終了の場合はctrl-dと入力) 購入したい番号を入力してください。:8 購入個数を入力してください。:2 うにいくら弁当 が 2個の合計は 2520円です。(購入終了の場合はctrl-dと入力) 購入したい番号を入力してください。:5 購入個数を入力してください。:4 たらば寿し が 4個の合計は 5400円です。(購入終了の場合はctrl-dと入力)^D 全ての合計金額は 32990円です。お買い上げありがとうございました! <考察> 実行結果の計算が合っているか bc -l で確かめる。 [1種類の場合] pan{TAKAHASHI Mayu}% bc -l [~/public_html/adv2] 750 * 5 3750 [4種類の場合] pan{c111096}% bc -l [~/public_html/adv2] 1260 * 5 6300 1000 * 4 4000 750 * 7 5250 1680 * 6 10080 6300 + 4000 + 5250 + 10080 25630 [7種類の場合] pan{c111096}% bc -l [~/public_html/adv2] 1680 * 4 6720 750 * 5 3750 1100 * 3 3300 500 * 7 3500 1300 * 6 7800 1260 * 2 2520 1350 * 4 5400 6720 + 3750 + 3300 + 3500 + 7800 + 2520 + 5400 32990 実行結果と bc -l での計算が合っていたので、プログラムは正しく動いている。 d. 広告ページ http://roy/~c111096/adv2/index.html 2.感想 今回は自分の最高傑作を作る課題だったが、だいぶ作れたのではないかと思う。 ハッシュを表示させることは前の課題でもやっていたのですんなり作成出来た。 弁当の計算は結構手間取ってしまった。1種類のみと全ての計算の違いをどうプ ログラムするのかこんがらがってしまい、時間がかかったが、最終的にはどちら も表示することが出来たので良かった。 3.参考文献 基礎プログラミング II 第 2 回 「なになにといえばこれこれ」 西村 まどか 講義ノート http://roy/~madoka/2012/r2/02/lec/resume.html 基礎プログラミング II 第 3 回 「情報の構造を分析しよう」 西村 まどか 講義ノート http://roy/~madoka/2012/r2/03/lec/resume.html 基礎プログラミング II 第 7 回 「専門演習紹介」 西村 まどか 講義ノート http://roy/~madoka/2012/r2/07/lec/resume.html 教えて!食べ物ランキング 2012 〜グルメランキング 都道府県ランキング http://www.japan-rank.com/article/220789828.html HTML色見本 http://www.hi-ho.ne.jp/douton/htmlcolor.html 共同学習者 長谷川 真亜子 岡田 遼 渡邉 千尋