第4回 基礎プログラミング II レポート課題 氏名:布川大地 学籍番号:c1091230 語学クラス:英語3 コース(系):政策 1、筆記問題 A、 「宅急便とかけて陸上選手と解く」 「その心は?」 「どちらもトラックで走りまわります。」 B、 (1) ルビ緒は、漫画と雑誌の合計金額を知りたい。 漫画は1冊420円、雑誌は1冊500円で売っている。 式は、 420 * x + 500 * y となる。 例として漫画を2冊、雑誌を3冊買った場合、 420 * 2 + 500 * 3 = 2340 bc -l で確認すると pan{c109123}% bc -l [~] 420*2+500*3 2340 quit となり、2340円が正しい答えである。 (2) ルビ緒は、ヤマザキショップでおにぎりとお茶を買いたい。 ルビ緒は買った合計金額を知りたい。 おにぎりは1個98円、お茶は1本110円である。 式は、 98 * x + 110 * y となる。 例としておにぎりを3個、お茶を2本買った場合、 98 * 3 + 110 * 2 = 514 bc -l で確認すると pan{c109123}% bc -l [~] 98*3+110*2 514 quit 2、プログラム問題 A問題 (1)の問題を参考にした。 漫画と雑誌の合計を表すプログラムを作成した。 プログラム本体 #!/usr/koeki/bin/ruby def function(x,y) 420 * x + 500 * y end print("漫画は何冊買った?\n") a = gets.to_i print("雑誌は何冊買った?\n") b = gets.to_i total = function(a,b) printf("合計は %s 円です。\n",total) 実行結果 pan{c109123}% ./def_twoparam.rb [~/Ruby] 漫画は何冊買った? 2 雑誌は何冊買った? 3 合計は 2340 円です。 pan{c109123}% [~/Ruby] となる。 B問題 雑誌は2冊買うことにした。 その場合の合計を出したい。 プログラム本体 #!/usr/koeki/bin/ruby def function(x) 420 * x + 500 * 2 end print("昨日は結局雑誌は2冊買った。\n") print("そんで今日は漫画何冊買ったの?\n") print("漫画は何冊買った?\n") a = gets.to_i printf("買った合計金額は %d 円です。\n", function(a)) 実行結果 pan{c109123}% ./def_oneparam_a.rb [~/Ruby] 昨日は結局雑誌は2冊買った。 そんで今日は漫画何冊買ったの? 漫画は何冊買った? 15 買った合計金額は 7300 円です。 となる。 C問題 プログラム本体 #!/usr/koeki/bin/ruby def barplot(s,t) print("--" * b(t) + "- y\n") for i in 0 .. s - 1 print("|\n") end for j in s .. t print("|" + "■" * b(j) + "\n") end print("|\nx\n") end def f(x) 420 * x + 500 * 2 end def b(x) (420 * x + 500 * 2) / 100 end print("昨日は結局雑誌を2冊買ったよ!\n") print("読み終わったら貸してくれ。\n") print("漫画は今月は少なくて何冊買いますか?\n") a = gets.to_i print("多くて何冊買いますか?\n") b = gets.to_i barplot(a,b) 実行結果 pan{c109123}% ./def_oneparam_bar.rb [~/Ruby] 昨日は結局雑誌を2冊買ったよ! 読み終わったら貸してくれ。 漫画は今月は少なくて何冊買いますか? 2 多くて何冊買いますか? 4 ----------------------------------------------------- y | | |■■■■■■■■■■■■■■■■■■ |■■■■■■■■■■■■■■■■■■■■■■ |■■■■■■■■■■■■■■■■■■■■■■■■■■ | x となった。 ・考察 今回のプログラムで工夫した点は、実際にありえそうなことをつかったことです。 また、グラフで表すことでよりわかりやすくなったので良かったです。グラフは 結構難しかったですが、うまくk-termにも表示されました。 3、感想 今回の学習でいろいろなパターンで実行ができました。表計算は1年のころに授 業でやったのですが、忘れているところが多く、けっこう難しかったです。 4、参考文献 http://roy/~madoka/2010/r2/04/ 基礎プログラミング II 第4回 繰り返しは引っ張りだそう 共同学習者 池田博哉、藤井駿