第4回 繰り返しは引っ張り出そう レポート課題 氏名:菅原彩花 学籍番号:c1101253 語学クラス:英語6 コース:政策マネジメントコース ----------------------------------------------------------------------- 1、筆記問題 A、なぞとき 「野球とかけて、飲み放題でビールを飲むひとと解く」 「そのこころは」 「どちらもピッチャーが必要です」 ----------------------------------------------------------------------- B、2辺数の数式の設定。 (I)遊園地の入場料の合計金額を調べたい。入場料は大人2000円、子供1000円だっ た。 1、大人2人、子供4人のとき。 大人の人数×2000+子供の人数×1000 2×2000+4×1000=8000 合計金額は8000円 たしかめ pan{c110125}% bc -l [~/Ruby] 2*2000+4*1000 8000 2、大人4人、子供10人のとき。 4×2000+10×1000=18000 合計金額は18000円 たしかめ pan{c110125}% bc -l [~/Ruby] 4*2000+10*1000 18000 ----------------------------------------------------------------------- (II)あつめられるタイヤの本数を調べる。タイヤの数はバイクが2本、車が4本。 1、バイク3台、車4台のとき。 バイクの台数×2+車の台数×4 3×2+4×4=22 合計本数は22本 たしかめ pan{c110125}% bc -l [~/Ruby] 2*3+4*4 22 2、バイク1台、車5台のとき。 1×2+5×4=22 合計本数は22本 たしかめ pan{c110125}% bc -l [~/Ruby] 1*2+5*4 22 ----------------------------------------------------------------------- 2、プログラム問題 ----------------------------------------------------------------------- 問題A (I)作成したプログラム #!/usr/koeki/bin/ruby def shopping(orange,apple) # 関数名をshopping、一つ目の仮引数名をorange、二つ目の仮引数名をappleとする。 30 * orange + 20 * apple #関数の定義。みかんの値段は30円×個数、りんごの値段は20円×個数。 end STDERR.print("購入するみかんの個数を入力してください。:") o=gets.to_i #標準入力でみかんの個数を入力させる。またto_iで整数に変換する。 STDERR.print("購入するりんごの個数を入力してください。:") a=gets.to_i #標準入力でりんごの個数を入力させる。またto_iで整数に変換する。 printf("合計金額は %7d 円です。\n",shopping(o,a)) # %dのところに関数shoppingの答えを表示させる。 #仮引数orange、appleのところにはそれぞれ引数o、aを入れ計算させている。 (II)実行結果 pan{c110125}% ./def_twonparam.rb [~/Ruby] 購入するみかんの個数を入力してください。:4 購入するりんごの個数を入力してください。:7 合計金額は 260 円です。 (III)考察 pan{c110125}% bc -l [~/Ruby] 30*4+20*7 260 quit 以上によって、プログラムの実行結果で得られた合計金額とbc -lで得られた合 計金額が同じことからプログラムは正しく実行されていると考えられる。 ------------------------------------------------------------------------ 問題B (I)作成したプログラム #!/usr/koeki/bin/ruby def goukei(x) # 関数名をgoukei、仮引数をxとする。 30 * 2 + 20 * x #関数の定義。みかんの合計(30円×2個)+りんごの合計(20円×個数) end STDERR.print("購入するりんごの個数を入力してください。:") a=gets.to_i #標準入力を使ってりんごの個数を入力させる。 #また、to_iを使って整数に変換させる。 printf("合計金額は %7d 円です。\n",goukei(a)) # %dに関数goukeiの計算結果を表示させる。 #仮引数xには引数aを代入して計算している。 (II)実行結果 pan{c110125}% ./def_oneparm_a.rb [~/Ruby] 購入するりんごの個数を入力してください。:5 合計金額は 160 円です。 (III)考察 pan{c110125}% bc -l [~/Ruby] 30*2+20*5 160 quit 以上によりりんごを5個買ったときの合計金額とbc -lで得られた合計が同じこと からプログラムは正常に実行されていると考えられる。 --------------------------------------------------------------------------- 3、感想 算数や数学と同じ仕組みだと思う。また表計算からグラフを作った経験があるが、これも同じ仕組みに感じる。 今回のプログラムAの課題は最初、関数を二つに分けて最後に足して合計を出していた。そこで関数の中に仮引数を2つ入れる方法がよく分からなかったため、前年度の講評にあった先輩の課題を参考に完成させた。 --------------------------------------------------------------------------- 4、参考文献 2010年度基礎プログラミングII第4回レポート課題 URL:http://roy/~madoka/2010/r2/04/rpt/c109067.txt 2011年度基礎プログラミングII第4回 URL:http://roy/~madoka/2011/r2/04/r2_04_03_theme_03_method.html ------------------- 東北公益文科大学 公益学部 公益学科 2年 菅原彩花 c110125@f.koeki-u.ac.jp