第4回 基礎プログラミング II レポート課題 氏名:奥山広大 学籍番号:c109039a 語学クラス:英語 コース(系):地域 1、A「野球とかけまして、車と解きます。」 「その心は?」 「どちらもバッテリーが大事。」 B、(1) 好きな飲み物を購入して、合計でいくらになるか調べた。 ブラックコーヒーが1本90円、スポーツ飲料が1本85円、炭酸飲料1本100円とな る。 ブラックコーヒーを2本、スポーツ飲料を5本、炭酸飲料を5本購入する事にし た。 90 * 2 + 85 * 5 + 100 * 5 = 1105 合計は1105円となる。 確かめ pan{c109039}% bc -l [~] 90 * 2 + 85 * 5 + 100 * 5 1105 1105となって正しいと言える。 (2) コンビニに行って今日の飯を作るのがダルイので食べ物を購入することにし た。 幕の内弁当1個が400円、おにぎり1個が100円、パン1個が100円となる。 幕の内弁当を1個、おにぎりを3個、パンを2個購入することとした。 400 * 1 + 100 * 3 + 100 * 2 = 900 確かめ pan{c109039}% bc -l [~] 400 * 1 + 100 * 3 + 100 * 2 900 900となって正しいと言える。 2、プログラム 考えた設定 自分があまりにも喉が乾いて、今飲みたい物と毎日飲む物を購入した際に全ての 合計金額を出せるように設定した。 作成したプログラム #!/usr/koeki/bin/ruby def coffee(x) 90 * x end def sport(y) 85 * y end def tan(z) 100 * z end STDERR.print("購入する本数を入力して下さい。\n") STDERR.print("コーヒー(1本90円): \n") a = gets.chomp.to_i STDERR.print("スポーツ飲料(1本85円): \n") b = gets.chomp.to_i STDERR.print("炭酸飲料(1本100円): \n") c = gets.chomp.to_i STDERR.printf("\nコーヒーの合計金額: %d 円\n",coffee(a)) STDERR.printf("\nスポーツ飲料の合計金額: %d 円\n",sport(b)) STDERR.printf("\n炭酸飲料の合計金額: %d 円\n",tan(c)) printf("\n全ての合計金額は%d円です。\n",coffee(a)+sport(b)+tan(c)) 実行結果 pan{c109039}% ./def_twoparam.rb [~/Ruby] 購入する本数を入力して下さい。 コーヒー(1本90円): 4 スポーツ飲料(1本85円): 7 炭酸飲料(1本100円): 5 コーヒーの合計金額: 360 円 スポーツ飲料の合計金額: 595 円 炭酸飲料の合計金額: 500 円 全ての合計金額は1455円です。 考察 pan{c109039}% bc -l [~/Ruby] 90 * 4 360 85 * 7 595 100 * 5 500 360 + 595 + 500 1455 計算した結果合計金額を問題無く出すことが出来た。 B、 考えた設定 3つの種類がある飲み物の中で、2つの合計金額を最所から設定してもう1つの炭 酸飲料だけを何本購入するかユーザーが設定出来るようにして、全ての合計金額 を出せるように作成した。 作成したプログラム #!/usr/koeki/bin/ruby def drink(x) 90 * 5 + 85 * 7 + 100 * x end STDERR.print("コーヒーは5本、スポーツ飲料は7本買います。\n") STDERR.print("炭酸飲料を何本買うか指定して下さい。\n") a = gets.chomp.to_i STDERR.printf("\コーヒーの合計金額は、450円") STDERR.printf("\スポーツ飲料の合計金額は、595円") STDERR.printf("\n炭酸飲料の合計金額: %d 円\n",drink(a)) printf("\n全ての合計金額は%d円です。\n",450+595+drink(a)) 実行結果 pan{c109039}% ./def_oneparam_a.rb [~/Ruby] コーヒーは5本、スポーツ飲料は7本買います。 炭酸飲料を何本買うか指定して下さい。 7 コーヒーの合計金額は、450円スポーツ飲料の合計金額は、595円 炭酸飲料の合計金額: 1745 円 全ての合計金額は2790円です。 考察 自分が炭酸飲料を5本購入するとして計算。 pan{c109039}% bc -l [~/Ruby] 90 * 5 450 85 * 7 595 100 * 5 500 450 + 595 + 500 1545 となって、問題無く出来た。 感想 今回の課題では、自分が設定した物を考えた上でプログラム作成と言うことで悩 みながらも先輩達に手ほどきしてもらいつつ自分の考えも取り入れて作成するこ とが出来て成長した部分だと思いました。 プログラム作成において、まだ自分一人では作成出来ない場面も多数存在してい るので出来ない部分を集中的にやって出来るようにしていきたいです。 指定された感想 中学校や高校で習ったこととほぼ同じだと思います。表計算ソフトなどでも仕組 みが同じだと思います。 協力してくれた先輩 大沼拓海 参考文献 基礎プログラミング II 第4回 繰り返しは引っ張りだそう http://roy/~madoka/2010/r2/04/04_01_theme_01_riddle.html 基礎プログラミング II 第4回 どんな関数がきてもだいじょうぶ http://roy/~madoka/2010/r2/04/04_03_theme_03_method.html 基礎プログラミング II 第4回 分かりやすいプログラムへ http://roy/~madoka/2010/r2/04/04_05_theme_05_print.html