:すいません。添付しわすれたので再送信いたします。: 第4回 基礎プログラミング II レポート課題 氏名:阿部大樹 学籍番号:c1060100 語学クラス:英語3 コース(系):社会系 1筆記問題 A: 「扇風機」とかけまして「うさぎ」とときます。 「その心は?」 「どちらもはねまわります」(羽まわります、跳ねまわります) 「あべっちです!」 「鍵」とかけてまして「かっぱ寿司」とときます。 「その心は?」 「どちらもまわします。」 「あべっちです!」 「めがね」とかけまして「彼女へのアプローチ」とときます。 「その心は?」 「度が過ぎると危険です」 「あべっちです!」 B: (1) 煙草税があがる事を知ったAさんは、2種類の煙草をそれぞれ買い貯めすることにしました。 銘柄はKOOL一箱320円、MILDSEVEN一箱300円です。 KOOLの個数をx、MILDSEVENの個数をyとする。 数式例は320 * x + 300 * yとなる。 例1)KOOLを5箱、MILDSEVENを10箱買う場合 320 * 5 + 300 * 10 = 4600 例2)KOOLを10箱、MILDSEVENを10箱買う場合 320 * 10 + 300 * 10 = 6200 となる。 (2) Aさんは友人Bとドライブに行った。途中、道の駅に寄り何か買うことにした。 売っているものは牛肉の串焼き1本210円、焼きはまぐり1個350円です。 しかし、ふたりの食べたいものはそれぞれ違った。Aさんは「俄然牛肉!!」Bさん は「海の幸はまぐり!!」と別れたので別々で買うことにした。 しかも!じゃんけんで負けたBさんが全部のお金を出す事になった。 Bさんはいくら払わせられるのだろうか! 牛肉の串焼きの個数をx、焼きはまぐりの個数をyとする。 数式例は210 * x + 350 * yとなる。 例1)牛肉の串焼きを2本、焼きはまぐりを3個買う場合 210 * 2 + 350 * 3 = 1470 例2)牛肉の串焼きをとち狂って8本、焼きはまぐりを10個買う場合 210 * 8 + 350 * 10 = 5180 となる。 2筆記問題 A :考えた設定: 筆記問題で書いた煙草の数式を引用しました。 それを使い各合計金額と全体の合計金額を計算するプログラムを作成しました。 :作成したプログラム: #!/usr/koeki/bin/ruby def KOOL(x) 320 * x # KOOLの単価×個数 end def MILDSEVEN(y) 300 * y # MILDSEVENの単価×個数 end print("どうして煙草税を上げるんだ!\n") print("というわけで!!\n") STDERR.print("煙草の買い貯め大事だね!!\n") STDERR.print("KOOLは何箱買う?: \n") a = gets.chomp.to_i # to_i で整数にする STDERR.print("MILDSEVENは何箱買う?: \n") b = gets.chomp.to_i STDERR.printf("KOOLの合計金額: %d 円でーす!\n",KOOL(a)) STDERR.printf("MILDSEVENの合計金額: %d 円でーす!\n",MILDSEVEN(b)) printf("\n全部で %d 円になりまーす!!\n",KOOL(a)+MILDSEVEN(b)) print("あんま煙草吸いすぎるなよー!!") :プログラムの実行結果: pan{c106010}% ./def_twoparam.rb [~/ruby] どうして煙草税を上げるんだ! というわけで!! 煙草の買い貯め大事だね!! KOOLは何箱買う?: 2 MILDSEVENは何箱買う?: 1 KOOLの合計金額: 640 円でーす! MILDSEVENの合計金額: 300 円でーす! 全部で 940 円になりまーす!! あんま煙草吸いすぎるなよー!!% :考察: 授業中に作ったdef_functionを参考にして作成した。 B :考えた設定: KOOLを10箱買うことを固定して、MILDSEVENとMALBOLOの購入数を入力してもら う。30箱以上買うと携帯灰皿プレゼントという店で買う設定にした。 :作成したプログラム: #!/usr/koeki/bin/ruby def KOOL(x) 320 * x # KOOLの単価×個数 end def MILDSEVEN(y) 300 * y # MILDSEVENの単価×個数 end print("どうして煙草税を上げるんだ!\n") print("というわけで!!\n") STDERR.print("煙草の買い貯め大事だね!!\n") STDERR.print("KOOLは何箱買う?: \n") a = gets.chomp.to_i # to_i で整数にする STDERR.print("MILDSEVENは何箱買う?: \n") b = gets.chomp.to_i STDERR.printf("KOOLの合計金額: %d 円でーす!\n",KOOL(a)) STDERR.printf("MILDSEVENの合計金額: %d 円でーす!\n",MILDSEVEN(b)) printf("\n全部で %d 円になりまーす!!\n",KOOL(a)+MILDSEVEN(b)) print("あんま煙草吸いすぎるなよー!!") :プログラム実行結果画面: pan{c106010}% ./def_oneparam_a.rb [~/ruby] どうして煙草税を上げるんだ! というわけで!! 煙草の買い貯め大事だね!! 3カートン以上買うと携帯灰皿プレゼント!! 1カートンは煙草10箱の単位です。 まずKOOLを1カートン買うことにした。 KOOLは... : 10 MILDSEVENは何箱買う?: 1 MALBOLOは何箱買う?: 1 KOOLの合計金額: 3200 円でーす! MILDSEVENの合計金額: 300 円でーす! MALBOLOの合計金額: 320 円でーす! 全部で 3820 円になりまーす!! 30箱買ってくれなかったら携帯灰皿あーげない!!悔しいだろーー!(笑) あんま煙草吸いすぎるなよー!!% pan{c106010}% ./def_oneparam_a.rb [~/ruby] どうして煙草税を上げるんだ! というわけで!! 煙草の買い貯め大事だね!! 3カートン以上買うと携帯灰皿プレゼント!! 1カートンは煙草10箱の単位です。 まずKOOLを1カートン買うことにした。 KOOLは... : 10 MILDSEVENは何箱買う?: 10 MALBOLOは何箱買う?: 10 KOOLの合計金額: 3200 円でーす! MILDSEVENの合計金額: 3000 円でーす! MALBOLOの合計金額: 3200 円でーす! 全部で 9400 円になりまーす!! 3カートン買ってくれたので 携帯灰皿プレゼント!! あんま煙草吸いすぎるなよー!!% :考察: 3カートン以上買った場合携帯灰皿プレゼントという設定にしたのでそれに満た なかった場合 if文 を使い場合分けした。 :感想: プログラムでグラフが作れるのは意外だった。 俺の5年は一体なんだったんだろうか。 なぞかけ問題はねづっちになった気分だった。 今回学んだ事は義務教育でならった数学の文章問題とにていた気がする。 他にも酷似した計算プログラムがあるのか気になった。 :参考文献: 西村まどか先生のホームページ 基礎プログラミングII これを代入した答はなあに (http://roy.e.koeki-u.ac.jp/~madoka/2010/r2/04/04_04_theme_04_stderr.html) 操作をまとめる (http://roy.e.koeki-u.ac.jp/~madoka/2010/r2/04/04_07_theme_07_allinone.html) 「分かりやすいプログラムへ」 (http://roy.e.koeki-u.ac.jp/~madoka/2010/r2/04/04_05_theme_05_print.html) 共同学習者 3年松島佳奈江