第4回 基礎プログラミング II レポート課題 氏名:笹原千珠子 学籍番号:c109080A 語学クラス:英語3 コース(系):政策マネジメント ---- 1. A. 「仕事帰りの人とかけて、怪奇現象にあう人と解く」 「その心は?」 「つかれています。」 B. (1)ハロウィーンのお菓子を近所のスーパーで売っていた。 お得用の大袋を組み合わせて買うといくらになるか知りたい。 チョコレートの大袋が1つ 450円、クッキーの大袋が1つ 500円だった。 チョコレートを 3袋、 クッキーを 2袋 買うとどうなるか。 (450 * 3) + (500 * 2) = 2350 計算機で計算すると pan{c109080}% bc -l [~] 450 * 3 + 500 * 2 2350 答えは 2350 円 (2)お菓子を大量に作るとして、Aのお菓子は焼きあがるのに 10分、Bのお菓子は 30分かかる。それぞれ 2回ずつ焼くとして、焼くのに何分かかるか。 (10 * 2) + (30 * 2) = 80 計算機で計算すると pan{c109080}% bc -l [~] 10 * 2 + 30 * 2 80 答えは 80 分 2.選んだ問題 B. a.筆記問題 B の例(1)をもとにしたプログラム。 チョコレートの個数を固定して、クッキーだけの数字を入力して合計を計算する。 b.def_oneparam_a.rb #!/usr/koeki/bin/ruby STDERR.print("チョコレートとクッキーを買います\nチョコレート( 450円)はひ とつしかなかったので、ひとつしか買えません\n") #エラーを画面に表示して、 説明文も表示 def cookie(y) #関数を設定、仮引数を y に 450 + 500 * y #どういう計算をするか end STDERR.print("買いたい数を入力して下さい\n") #指示の文を表示 STDERR.print("クッキー( 1袋 500円):") b = gets.chomp.to_i #とってきたものをいれる printf("合計 %d円 です。\n",cookie(b)) #合計を表示 c. def 関数を使い、クッキーの方に引数を使っていくつ買えるか入力できるよ うにした。そして最後に合計を出すようにした。 def_function.rb も参考にした。 参考文献:ウェブページ 基礎プログラミング II 第4回 繰り返しは引っ張りだそう 第 4 回目次 講義ノート 西村まどか http://roy/~madoka/2010/r2/04/ d. pan{c109080}% ./def_oneparam_a.rb [~/Ruby] チョコレートとクッキーを買います チョコレート( 450円)はひとつしかなかったので、ひとつしか買えません 買いたい数を入力して下さい クッキー( 1袋 500円):4 合計 2450円 です。 e.考察 計算があっているか、まず計算機で計算してみる pan{c109080}% bc -l [~/Ruby] 450 + 500 * 4 2450 で正しく計算された。 最初、Aの問題では、 STDERR.print("チョコレートとクッキーを買います\n") def chocolate(x) 450 * x end def cookie(y) 500 * y end のように並べてやっていたが、このやりかただと変数をひとつ固定するやりかた がいまいちわからなかったので、計算を一行でまとめた。なので、クッキーの引 数が y のままになっている。 3.義務教育で学んだ算数や数学と仕組みは同じだとおもう。簿記はやったことが あるが、グラフを作る機会はなかった。 前回も書いたかも知れないが、だんだん問題を作るのが難しくなってきた。 問題のプログラムに使える問題をきちんと考えられるようになりたい。 共同学習者:金田麻美