第 4 回 繰り返しは引っ張りだそう レポート課題 氏名:樋口貴士 学籍番号:C1101715 語学クラス:中国語3 コース(系):地域共創コース すみません。参考文献の作者名を記入するのを忘れてしまったので つけたし、もう一度送らせていただきます。 1.筆記問題 A. 誕生日とかけまして これからの世の中とときます。 その心は どちらも ケーキ = (景気) があるといいでしょう。 B. (1) Aくんは、水族館の入館料金の合計金額を知りたい。 子供480円、大人800円である。 式は 480 * x + 800 * y となる。 子供3人、大人2人の場合 480 * 3 + 800 * 2 = 3040 bc -l で確認すると pan{HIGUCHI Takashi}% bc -l 480*3+800*2 3040 なので計算は正しいと言える。 (2) ファーストフード店で友達と食事をしました。 食事をした合計金額を求めたい。 ハンバーガー120円、フライドポテト200円、ドリンク100円とする。 式は 120 * x + 200 * y + 100 * z となる。 ハンバーガー4個、フライドポテト1個、ドリンク2個の場合 120 * 4 + 200 * 1 + 100 * 2 = 880 bc -l で確認すると pan{HIGUCHI Takashi}% bc -l [~] 120*4+200*1+100*2 880 なので計算は正しいといえる。 2.プログラム問題 A(def_twoparam.rb )とB(def_oneparam_a.rb )をした。 A. a 考えた設定 筆記問題Bの(1)で作成した問題をもとにして、 水族館の入館料の合計を計算するプログラム。 b 作成したプログラム #!/usr/koeki/bin/ruby def total(x,y) #def endに合計の計算をするプログラムを入れる。 480 * x + 800 * y #子ども料金 * 人数 + 大人料金 * 人数 end STDERR.print("子供の数を入力して下さい。:")#STDERRは対話的な表示に使う。 kodomo = gets.chomp.to_i # キーボードから入力された文字列を gets # 整数にするので to_i を使う。 STDERR.print("大人の数を入力して下さい。:") otona = gets.chomp.to_i printf("\n子供は%d人、大人は%d人入館しました。\n",kodomo,otona) printf("入館料の合計は:%d円です。\n",total(kodomo,otona)) c 変更点 今回の筆記問題Bの(1)で、作成したのをもとに def 関数(仮引数) 関数の定義 end を使い、数字を代入して変更させた。 d プログラムの実行結果 pan{c110171}% ./def_twoparam.rb [~/Ruby] 子供の数を入力して下さい。:3 大人の数を入力して下さい。:2 子供は3人、大人は2人入館しました。 入館料の合計は:3040円です。 B.プログラム問題 a 考えた設定 大人の数を2人と固定して 子供の数を入力して合計を出すプログラム。 b 作成したプログラム #!/usr/koeki/bin/ruby def total(x) #大人の人数を固定し、子供の数をxと表す。 480 * x + 800 * 2 #子ども料金 * 人数 + 大人料金 * 2人 end print("水族館の入館料金、子ども480円、大人800円です。\n") print("大人2名で1600円で残りは…\n") STDERR.print("子どもの数は……と……\n") #STDERRは対話的な表示に使う。 STDERR.print("子どもの数を入力して下さい。: ") kodomo = gets.to_i # キーボードから入力された文字列を gets # 整数にするので to_i を使う。 printf("入館料の合計は:%d円です。\n",total(kodomo)) c 変更点 プログラム問題Aを変更させた。 大人の人数のyを2と固定させて、子供の数xだけを入力させるようにした。 d プログラムの実行結果 pan{c110171}% ./def_oneparam_a.rb [~/Ruby] 水族館の入館料金、子ども480円、大人800円です。 大人2名で1600円で残りは… 子どもの数は……と…… 子どもの数を入力して下さい。: 3 入館料の合計は:3040円です。 3.考察 プログラム問題AとBともに 計算式どおりに計算されて、答えも合っているので このプログラムは正しいといえる。 4.感想 義務教育で学んだ算数や数学と同じように計算するということは同じだと思う。 しかし、自分で問題を作り、その答えをどうやって導き出すかということはパソ コンの方が難しいと感じた。 表計算のグラフは数値を囲び、グラフのボタン一つで、できるが、 グラフの種類まで自分で打たないといけないので、おぼえるのが大変だと思った。 5.参考文献 第4回 繰り返しは引っ張りだそう http://roy/~madoka/2011/r2/04/ 作者:西村まどか先生