第 4 回 繰り返しは引っ張りだそう レポート課題 氏名:小林愛実 学籍番号:c1100816 語学クラス:英語6 コース(系):政策マネジメント 1、筆記問題 A、 「ドラえもんのポケットの内側とかけまして、学校の昼休みの前と解きます。」 「その心は?」 「ヨジゲン(四次元・四時限)です。」 「暑い夏とかけまして、声が小さい人と解きます。」 「その心は?」 「どちらもセイリョウ(清涼・声量)がないでしょう。」 B、 (設問1) セール品を買うためにデパートに来た。 1枚500円のTシャツと1枚990円のデニムがある。 例1:Tシャツを3枚、デニムを1枚買うことにする。 (500 * 3) + (990 * 1) = 2490 答え 2940円 確かめ算 pan{KOBAYASHI Manami}% bc -l [~/Ruby] 500*3 1500 990*1 990 1500+990 2490 同じ答えになるためこの答えは正しい。 例2:Tシャツを2枚、デニムを2枚買うことにする。 (500 * 2) + (990 * 2) = 2980 答え 2980円 確かめ算 pan{c110081}% bc -l [~/Ruby] 500*2 1000 990*2 1980 1000+1980 2980 同じ答えになるためこの答えは正しい。 (設問2) 昼食をコンビニで買う。 おにぎり1個100円、サンドイッチ1個120円である。 例1:おにぎりを2個、サンドイッチを1個買うことにする。 (100 * 2) + (120 * 1) = 320 答え 320円 確かめ算 pan{c110081}% bc -l [~/Ruby] 100*2 200 120*1 120 200+120 320 同じ答えになるためこの答えは正しい。 例2:おにぎりを3個、サンドイッチを2個買うことにする。 (100 * 3) + (120 * 2) = 540 答え 540円 確かめ算 pan{c110081}% bc -l [~/Ruby] 100*3 300 120*2 240 300+240 540 同じ答えになるためこの答えは正しい。 2、プログラム問題 A、 a 考えた設定 おにぎりを100円、サンドイッチを120円として、数量を変数として入力させる。 それを基に、合計金額を計算するプログラム def_twoparam.rb を作成した。 b 作成したプログラム #!/usr/koeki/bin/ruby # 定義を書く def f(x,y) # f という関数(Function) を定義する # 仮引数は x 、y 100 * x + 120 * y # 100円(おにぎり)*個数 + 120円(サンドイッチ)*個数 end # def の end STDERR.print("おにぎりの個数は:a =") # 買った個数の入力を促す a = gets.to_i # 入力された文字列を整数に直す STDERR.print("サンドイッチの個数は:b =") # 買った個数の入力を促す b = gets.to_i # 入力された文字列を整数に直す STDERR.printf("おにぎりは%d個、サンドイッチは%d個買いました。\n",a ,b) # それぞれの買った個数を表示させる printf("合計は%d円です。\n", f(a,b)) # 合計金額表示させる B、 a 考えた設定 おにぎりを買った個数を固定して、サンドイッチの個数を入力させる。 それを基に、合計金額を計算するプログラム def_onepram_a.rb を作成した。 b 作成したプログラム #!/usr/koeki/bin/ruby def f(y) x = 2 # xを2と固定する 100 * x + 120 * y # 計算する数式 end STDERR.print("おにぎりを2個買いました。\n") # 説明文 STDERR.print("サンドイッチの個数は:b =") b = gets.to_i printf("合わせて、おにぎりを2個、サンドイッチを%d個買いました。\n",b) printf("合計金額は%d円です。\n",f(b)) c もとにしたプログラムからの変更点 プログラムAの def_twoparam.rb をもとにして作成した。 おにぎりの個数を固定して、サンドイッチの個数で合計金額を表示するようにし た。 d プログラムを実行した結果画面 A pan{c110081}% ./def_twoparam.rb [~/Ruby] おにぎりの個数は:a =2 サンドイッチの個数は:b =3 おにぎりは2個、サンドイッチは3個買いました。 合計は560円です。 B pan{c110081}% ./def_oneparam_a.rb [~/Ruby] おにぎりを2個買いました。 サンドイッチの個数は:b =2 合わせて、おにぎりを2個、サンドイッチを2個買いました。 合計金額は440円です。 e 考察 (確かめ算) pan{c110081}% bc -l [~/Ruby] 100*2 200 120*3 360 200+360 560 Aのプログラムの実行結果と同じ答えになるため、Aのプログラムは正しいと言え る。 (確かめ算) pan{c110081}% bc -l [~/Ruby] 100*2 200 120*2 240 200+240 440 Bのプログラムの実行結果と同じ答えになるため、Bのプログラムは正しいと言え る。 3、感想 義務教育で学んだ算数や数学と同じしくみだと考えます。 プログラムで計算する方が間違いもなく、より早く計算できるので、とても便利 だと思いました。 情報リテラシーの講義でエクセルを使って、グラフを作ったことはあります。 エクセルを使って、グラフを作ることは、プログラムでグラフを作るしくみと同 じではないかと思います。 今回のプログラムは、前回よりも理解できたと思います。 ただ、グラフの問題は、難しく理解することができませんでした。 プログラムでグラフを作成できるのは、実行したときにすごく便利だし、見やす くなると思うので、これからしっかり理解していきたいです。 4、 参考文献 西村まどか 基礎プログラミングII 「繰り返しは引っ張りだそう」 http://roy.e.koeki-u.ac.jp/~madoka/2011/r2/04/ 東北公益文化大学 公益学部 公益学科 2年 小林愛実 c110081f.koeki-u.ac.jp