第7回 基礎プログラミング II レポート課題 氏名:成澤龍空 学籍番号:c1071658 語学クラス:英語 コース(系):経営系 A a. 企画書(plan.txt) ドラッグストア阪田店 企画書 このプログラムは、後期第4回で作成したbarplot を使用して棒グラフを書く プログラム(def_oneparam_bar.rb)に改良を加えたものである。 内容は、ポッキー、トッポ、プリッツをそれぞれ必要個数購入しそれらの合計を 棒グラフを書くものであるが、今回はプリッツの購入数が20個増えるにたびに単 価を10円下げると言うものである。 単価を下げるプログラムは第5回で作成したが(two_methods.rb)、組み合わせ方 が分からず苦労した。 試行錯誤し、その結果なんとか作成することが出来た。複数のプログラムを組み合わせ ることでより高度なプログラムに出来ることが分かった。 取扱説明書(00readme) ドラッグストア阪田店 説明書 まず、データをダウンロードしてもらいます。 一つ前のページに戻り、プログラムにカーソルを合わせ、右クリックします。 そうすると Save Link As... とでるので、クリックし、好きなディレクトリに保存します。 今度はデータベースにカーソルを合わせ、先程と同じ所に保存します。 ダウンロードが終わったら、kterm画面に移動し、保存したディレクトリへ移動します。 先程ダウンロードしたファイルを chmod +x def_oneparam_kai.rb を行ない、プログラムを実行できる状態にします。 あとはプログラムを実行して下さい。 ./def_oneparam_kai.rb を行なうと、検索プログラムがスタートします。 検索したい文字をいれて下さい。 このプログラムをご使用の際、何か問題がありましたら、 c107165@g.koeki-u.ac.jp までご連絡ください。 b.作成したプログラム(def_oneparam_kai.rb) #!/usr/koeki/bin/ruby def barplot(d) print("合計金額 | " + "@" * d ) end def pokky(x) 80 * x end def toppo(y) 110 * y end def pritz(z) if 59 < z y = 70 * z elsif 39 < z y = 80 * z elsif 19 < z y = 90 * z else y = 100 * z end end print("\nプリッツまとめ買いセール中!!") print("\n20個毎に単価を10円値下げします。(60個以上は全て70円となります。):\n") STDERR.print("購入する個数を入力して下さい。\n") STDERR.print("ポッキー(1個80円): \n") a = gets.chomp.to_i STDERR.print("トッポ(1個110円): \n") b = gets.chomp.to_i STDERR.print("プリッツ(1個100円): \n") c = gets.chomp.to_i STDERR.printf("\nポッキーの合計金額: %d 円\n",pokky(a)) STDERR.printf("トッポの合計金額: %d 円\n",toppo(b)) STDERR.printf("プリッツの合計金額: %d 円\n",pritz(c)) printf("\n全ての合計金額は %d 円です。\n",pokky(a)+toppo(b)+pritz(c)) d = (pokky(a)+toppo(b)+pritz(c)) / 100 barplot(d) # 呼出し部分 print("\nありがとうございました!!\n") 作成した広告ページ(index.html) ドラッグストア阪田店

ドラッグストア阪田店にようこそ!!

御自身のパソコンがプログラムを実行できるかどうか御確認の上自己責任に てダウンロードして下さい。

プログラム本体

こちらからプログラムをダウンロードして下さい。


企画書(plan.txt)
取扱説明書(00readme)
本製品(def_oneparam_kai.rb)
改良前のプログラム(def_oneparam_bar.rb)

お問い合わせ

このプログラミングになにか問題があったり、御意見がありましたら

c107165@g.koeki_u.ac.jp

までご連絡下さい。

(*注)このプログラムは、変更、改造、配布しても構いませんがそれにより起こっ た問題については一切責任を負いません。

著作権

© c107165 成澤 龍空

トップページへ戻る 実行結果 pan{c107165}% ./def_oneparam_kai.rb [~/public_html/advertise2] プリッツまとめ買いセール中!! 20個毎に単価を10円値下げします。(60個以上は全て70円となります。): 購入する個数を入力して下さい。 ポッキー(1個80円): 10 トッポ(1個110円): 7 プリッツ(1個100円): 60 ポッキーの合計金額: 800 円 トッポの合計金額: 770 円 プリッツの合計金額: 4200 円 全ての合計金額は 5770 円です。 合計金額 | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ありがとうございました!! 考察 bc -l で確かめ算をしてみると pan{c107165}% bc -l [~] (80 * 10) + (110 * 7) + (70 * 60) 5770 quit となるのでこのプログラミングは正しく機能していると言える。 前回からの変更点として、 def pritz(z) if 59 < z y = 70 * z elsif 39 < z y = 80 * z elsif 19 < z y = 90 * z else y = 100 * z end end を加え単価を下げるプログラムを追加した。また、barplotが上手く動かなかっ たので、 def barplot(d) print("合計金額 | " + "@" * d ) end として全体の数を棒グラフ化させることが出来た。あとは、文章を若干変更した。 d.ドラッグストア阪田店(http://roy/~c107165/advertise2/) 感想 企画書でも記述したが、プログラムを組み合わせることでより高度なプログラム にすることが出来た。文章を考えるのに時間がかかったが、何とか作成できて良 かった。 TA 大沼拓海さん