第4回 基礎プログラミング II レポート課題 氏名:伊藤 彩 学籍番号:c1090207 語学クラス:中国語 コース(系):政策 1. A. 「秋のモミジとかけて、恥ずかしがり屋の女の子ととく。」 「その心は?」 「どちらも、赤くなる」 B. (1) アイスを買っていくらかかるか調べた。 ガリガリ君 1本 60円、クーリッシュ 1個 89円、スーパーカップ 1個 98円である。 ガリガリ君 2本、クーリッシュ 6個、スーパーカップ 4個買うことにした。 60 * 2 + 89 * 6 + 98 * 4 = 1046 合計は 1046 円である。 bc -l で確認すると、 pan{c109020}% bc -l [~] 60*2+89*6+98*4 1046 quit 1046(円)となり正しいといえる。 (2) ミスドにドーナツを買いに行っていくらかかるか調べた。 ポンデリング 1個 126円、エンゼルフレンチ 1個 147円、スミジン 1個 168円で ある。 ポンデリング 10個、エンゼルフレンチ 5個、スミジン 3個買うことにした。 126 * 10 + 147 * 5 + 168 * 3 = 2499 合計は 2499 円である。 bc -l で確認すると、 pan{c109020}% bc -l [~] 126*10+147*5+168*3 2499 quit 2499(円)となり正しいといえる。 2. A. a.設定 変数が 2つ以上定義されており、def -- end を用いた数値の計算を導くプログ ラムを作成する。指定した購入する商品の個数を入力していくと、それぞれの合 計金額と、全ての合計金額が出力されるようにした。 b.作成したプログラム #!/usr/koeki/bin/ruby def gari(x) 60 * x # ガリガリ君の値段 * 本数 end def ku(y) 89 * y # クーリッシュの値段 * 個数 end def su(z) # スーパーカップの値段 * 個数 98 * z end STDERR.print("購入する個数を入力してください。\n") STDERR.print("ガリガリ君(1本60円): \n") a = gets.chomp.to_i # to_i で整数表示する STDERR.print("クーリッシュ(1本89円): \n") b = gets.chomp.to_i STDERR.print("スーパーカップ(1本98円): \n") c = gets.chomp.to_i STDERR.printf("\nガリガリ君の合計: %d 円\n", gari(a)) STDERR.printf("\nクーリッシュの合計: %d 円\n", ku(b)) STDERR.printf("\nスーパーカップの合計: %d 円\n",su(c)) STDERR.printf("\n全ての合計金額は %d 円です。\n", gari(a)+ku(b)+su(c)) c.もとにしたプログラムからの変更点 授業で作成した def_function.rb を参考にした。 プログラム内容を設定した内容に変更。 グラフの設定を除き、計算させるプログラムを加えた。 d.実行画面 pan{c109020}% ./def_twoparam.rb [~/Ruby] 購入する個数を入力してください。 ガリガリ君(1本60円): 3 クーリッシュ(1本89円): 5 スーパーカップ(1本98円): 7 ガリガリ君の合計: 180 円 クーリッシュの合計: 445 円 スーパーカップの合計: 686 円 全ての合計金額は 1311 円です。 e.結果の考察 プログラムは正確に機能したが、計算がきちんとされているのかわからない。な ので ktermで bc -l をして確かめ算を行なった。 pan{c109020}% bc -l [~/Ruby] 60*3 180 89*5 445 98*7 686 180+445+686 1311 quit 以上の結果より正しいといえる。 B. a.設定 変数のうちひとつを固定し、ユーザが入力させた数と計算させて合計金額を出力 させるプログラムを作成する。 b.作成したプログラム #!/usr/koeki/bin/ruby def fu(k) # 変数 120 * 3 + 150 * k # 購入するりんごの個数を 3(個)と固定する end STDERR.print("品切れのため、2 種類しかありません。\n") STDERR.print("りんご - 1個120円 \t なし - 1個150円 \n\n") sleep 2 # 2 秒間をおく STDERR.print("りんごを3 個買います。\n") STDERR.print("なしは何個買いますか?\n") nasi = gets.chomp.to_i # to_i で整数表示にする printf("\n合計金額は %d 円です。\n", fu(nasi)) # method に定義された関数に k = nasi を代入する c.もとにしたプログラムからの変更点 授業で作成した def_function.rb を参考にした。 プログラム内容を設定した内容に変更。 グラフの設定を除き、計算させるプログラムを加えた。 また、sleep を加えて表示するときに間が空くようにした。 d.実行画面 pan{c109020}% ./def_oneparm_a.rb [~/Ruby] 品切れのため、2 種類しかありません。 りんご - 1個120円 なし - 1個150円 りんごを3 個買います。 なしは何個買いますか? 3 合計金額は 810 円です。 e.結果の考察 プログラムは正確に機能したが、計算がきちんとされているのかわからない。な ので ktermで bc -l をして確かめ算を行なった。 pan{c109020}% bc -l [~/Ruby] 120*3 360 150*3 450 360+450 810 以上の結果から正しいといえる。 感想 今回の課題で、授業の復習がよくできたと思います。最近、授業でも新しく習う ことが多いので、1回1回の授業を大切にして授業中に理解するように努めたいで す。 参考文献 ・http://www.najo.jp/word/38/38774.htm#kotae なぞなぞ - なじょ .jp ・http://roy/~madoka/2009/r2/04/rpt/c108129.txt 2009年度 基礎プログラミング II 第04回 繰り返しは引っ張りだそう レポート 評価 良かったレポート その1 レポート作成者不明 共同学習者 大島 藍 / 酒井 春香