第 4 回 繰り返しは引っ張りだそう レポート課題 氏名:五十嵐兼一 学籍番号:c1100153 語学クラス:英語2 コース(系):社会福士コース 1.筆記問題 A.なぞとき問題 「お城とかけまして、カエルと解く。」 「その心は?」 「殿様がいます。」 「過去の失敗とかけまして、オープンキャンパスと解く。」 「その心は?」 「後悔(公開)します。」 B.数式の設定 設問1:けんつは1個10円のチロルチョコと1本150円の飲み物を買って代金がいくらに なるか調べた。 例1)チロルチョコを5個、飲み物を3本買った。 10 * 5 + 150 * 3 = 50 + 450 = 500 答えは、500円となった。 ◯確かめ算 pan{IKARASHI Kenichi}% bc -l [~] 10 * 5 + 150 * 3 500 quit 500となったので、答えは正しい。 例2)チロルチョコを50個、飲み物を20本買った。 10 * 50 + 150 * 20 = 500 + 3000 = 3500 答えは、3500円となった。 ◯確かめ算 pan{c110015}% bc -l [~] 10 * 50 + 150 * 20 3500 quit 3500となったので、答えは正しい。 設問2:けんつは1つ100円のからあげ棒と1つ80円のコロッケを買って代金がいく らになるのか調べた。 例1)からあげ棒を3本、コロッケを2つ買った。 100 * 3 + 80 * 2 = 300 + 160 = 460 答えは、460円となった。 ◯確かめ算 pan{c110015}% bc -l [~] 100 * 3 + 80 * 2 460 quit 460となったので、答えは正しい。 例2)からあげ棒を5本、コロッケを7つ買った。 100 * 5 + 80 * 7 = 500 + 560 = 1060 答えは、1060円となった。 ◯確かめ算 pan{c110015}% bc -l [~] 100 * 5 + 80 * 7 1060 quit 1060となったので、答えは正しい。 2.プログラム問題 A. ◯作成したプログラム #!/usr/koeki/bin/ruby # ここは定義を書く場所 def shopping(x,y) # shopping が関数 x,y が仮引数 30 * x + 20 * y # x がみかん、y がりんご # 最後の行の値が戻る end print("みかんは30円、りんごは20円です。\n\n") STDERR.print("みかんを何個買いますか? : ") orange = gets.to_i STDERR.print("りんごを何個買いますか? : ") apple = gets.to_i printf("みかんを %d 個、りんごを %d 個買います。\n\n",orange,apple) printf("合計 : %d円です。\n",shopping(orange,apple)) ◯実行結果 pan{IKARASHI Kenichi}% ./def_twoparam.rb [~/Ruby] みかんは30円、りんごは20円です。 みかんを何個買いますか? : 1 りんごを何個買いますか? : 1 みかんを 1 個、りんごを 1 個買います。 合計 : 50円です。 ◯考察 みかんの値段を30円、りんごの値段を20円とし、1個ずつ買って答えが50円になっ たのでこのプログラムは正しい。 B. ◯作成したプログラム #!/usr/koeki/bin/ruby # ここは定義を書く場所 def shopping(x,y) # shopping が関数 x,y が仮引数 x =2 # みかんの数を2個とする 30 * x + 20 * y # x がみかん、y がりんご # 最後の行の値が戻る end print("みかんは30円、りんごは20円です。\n\n") STDERR.print("みかんを2つ買います。\n ") orange = 2 # みかんの数を2個とする STDERR.print("りんごを何個買いますか? : ") apple = gets.to_i printf("みかんを %d 個、りんごを %d 個買います。\n\n",orange,apple) printf("合計 : %d円です。\n",shopping(orange,apple)) ◯実行結果 pan{IKARASHI Kenichi}% ./def_oneparam.rb [~/Ruby] みかんは30円、りんごは20円です。 みかんを2つ買います。 りんごを何個買いますか? : 1 みかんを 2 個、りんごを 1 個買います。 合計 : 80円です。 ◯考察 30円のみかんを2個、20円のりんごを1個買い、合計が80円となったのでこのプロ グラムは正しい。 ◯確かめ算 pan{c110015}% bc -l [~/Ruby] 30 * 2 + 20 * 1 80 3.感想 今回は思ったよりスムーズにできたと思う。 義務教育で学んだ算数や数学と同じ仕組みだと思う。表計算、簿記などからグラ フを作った経験はある。計算して表を作るので、似たような仕組みだと思う。 4.参考文献 基礎プログラミング II 第 4 回 「繰り返しは引っ張りだそう」 著:西村まどか (http://roy/~madoka/2011/r2/04/)