第 4 回 繰り返しは引っ張りだそう レポート課題 氏名:吉田 栞 学籍番号:c1101997 語学クラス:英語クラス6 コース(系):政策マネジメントコース 1.筆記問題 A 「選挙とかけて体力テストととく 」 そのこころは → 日頃の運動がものをいいます B 設問1 少年Aはコンビニで1本100円のジュースと1個120円の肉マンを買おうとしている。 代金の合計はいくらになるか。 例1 ジュース1本と肉マン2個を買った場合 100 + 120*2 = 340 確かめ算 pan{c110199}% bc -l [~/Ruby] 100+120*2 340 例2 ジュース2本と肉マン3個を買った場合 100*2 + 120*3 = 560 確かめ算 pan{c110199}% bc -l [~/Ruby] 100*2+120*3 560 詰問2 少女Bは家族と水族館に行った。 料金は大人は400円、子供は280円です。 代金の合計はいくらになるか。 例1 大人が2人で子供が1人の場合 400*2 + 280 = 1080 確かめ算 pan{c110199}% bc -l [~/Ruby] 400*2+280 1080 例2 大人が2人で子供が3人の場合 400*2 + 280*3 = 1640 確かめ算 pan{c110199}% bc -l [~/Ruby] 400*2+280*3 1640 2.プログラム問題 A (1)設定 筆記問題の詰問2の設定を参考にしました。 水族館に行く大人と子供の入館料の合計を表示するプログラムです。 (2)プログラム #!/usr/koeki/bin/ruby def total(otona,kodomo) number=otona+kodomo #大人と子どもの人数を足したものをnumberとする。 otona*400+kodomo*280 end print("大人、子どもの人数をそれぞれ入力して下さい。\n") STDERR.printf("大人は何人ですか?:") adult = gets.to_i #入力されたものを数値としてadultに取り込む STDERR.printf("子どもは何人ですか?:") child = gets.to_i #入力されたものを数値としてchildに取り込む printf("\n大人は%d人、子供は%d人なので\n",adult,child) printf("入館料は合計で%d円です\n",total(adult,child)) (3)実行結果 pan{c110199}% ./def_twoparam.rb [~/Ruby] 大人、子どもの人数をそれぞれ入力して下さい。 大人は何人ですか?:2 子どもは何人ですか?:3 大人は2人、子供は3人なので 入館料は合計で1640円です。 (4)考察 bc -l を使って確かめ算をしたが合計は間違っていなかったため、プログラム は正しく実行されたといえる B (1)設定 筆記問題の詰問1の設定を参考にしました。 ジュースと肉マンの合計を表すプログラムです。 (2)プログラム #!/usr/koeki/bin/ruby def total(x) #ジュースの本数を x ,肉マンの個数を y とする。 y = 3 100*x + 120*3 end STDERR.print("肉マンを3個買うことにしました。\n\n") STDERR.print("ジュースの本数は何本ですか?:") drink = gets.chomp.to_i printf("\n肉マンは3個、ジュースは%d本買えました。\n",drink) printf("合計は%d円となりました。\n",total(drink)) (3)実行結果 pan{c110199}% ./def_oneparam_a.rb [~/Ruby] 肉マンを3個買うことにしました。 ジュースの本数は何本ですか?:2 肉マンは3個、ジュースは2本買えました。 合計は560円となりました。 pan{c110199}% ./def_oneparam_a.rb [~/Ruby] 肉マンを3個買うことにしました。 ジュースの本数は何本ですか?:4 肉マンは3個、ジュースは4本買えました。 合計は760円となりました。 (4)考察 最初、NameErrorとなり実行出来なかったがktermの表示から、 間違っていたところを直したところ、きちんと結果が表示された。 3.感想 今回学んだ内容は義務教育で学んだ算数や数学と同じしくみだと思います。 表計算、簿記などからグラフを作るしくみは、授業で学んだような、Excel で 値を打ち込んだグラフを作成して、範囲を指定すると、グラフを作れるような しくみが同じであるといえると思います。 今回は前回に比べて、授業についていくことが出来たと思ったのですが、 課題をすることにより、中途半端な理解にとどまってたことが分かりました。 間違えやすいところだと思うのでよく復習したいと思います。 提出が遅くなってすいませんでした。 実は先週の木曜日に祖父が危篤になり、その日に亡くなりました。 知らせを受け、私も木曜日に実家に帰り、火曜日までこちらに帰る ことが出来なかったので、課題を終わらせることが出来ず、提出する ことも出来ませんでした。 先生には申し訳ありませんが採点よろしくお願いします。 第5回の課題は友だちに聞きながら期限中にきちんと提出します。 4.参考文献 西村 まどか 基礎プログラミング II 第 4 回 「繰り返しは引っ張りだそう」 http://roy/~madoka/2011/r2/04/ 「どんな関数がきてもだいじょうぶ」 http://roy/~madoka/2011/r2/04/r2_04_03_theme_03_method.html 「これを代入した答はなあに」 http://roy/~madoka/2011/r2/04/r2_04_04_theme_04_stderr.html 「分かりやすいプログラムへ」 http://roy/~madoka/2011/r2/04/r2_04_05_theme_05_print.html