氏名:わっち 学籍番号:C1111470 クラス:CII <どんな計算をするメソッドを作るか> 地球環境問題に関わる公式を使いたかったので、車の燃費と二酸化炭素排出量、 その給油量に必要な育成林を計算するメソッドを作りました。 <作成したプログラム> #!/usr/koeki/bin/ruby # coding: euc-jp printf("車の給油量から、燃費と1km走行でのCO2排出量と給油量に必要な育成林(1年間)を求めます。") printf("給油量を教えてください。:\n") g = gets.to_f #gはgasolineを表す。 #数字はすべて浮動小数点数に printf("走行距離を教えてください。:\n") m = gets.to_f #mはmeliageを表す。 def nenpi(gasoline,mileage) #gasolineは給油量、mileageは走行距離を表す。 nenpi = mileage/gasoline nenpi.to_f end def co2(gasoline,mileage) co2 = 2.31/(mileage/gasoline) co2.to_f end def tree(gasoline) tree = (2.31*gasoline)/(1.77*3) tree.to_f end printf("燃費は %5.2f km/Lです。\n",nenpi(g,m)) #それぞれの式に入力した数 字を代入し、計算する。 printf("1km走行のCO2排出量は %5.2f kg-CO2/kmです。\n",co2(g,m)) printf("給油量に必要な育成林は %5.2f m^2/年です。\n",tree(g)) <実行結果> 車の給油量から、燃費と1km走行でのCO2排出量と給油量に必要な育成林(1年間)を求めます。給油量を教えてください。: 50 走行距離を教えてください。: 5 燃費は 0.10 km/Lです。 1km走行のCO2排出量は 23.10 kg-CO2/kmです。 給油量に必要な育成林は 21.8 m^2/年です。 <プログラムの説明(メソッド定義)> def nenpi(gasoline,mileage) #gasolineは給油量、mileageは走行距離を表す。 nenpi = mileage/gasoline nenpi.to_f end def co2(gasoline,mileage) co2 = 2.31/(mileage/gasoline) co2.to_f end def tree(gasoline) tree = (2.31*gasoline)/(1.77*3) tree.to_f end nenpi,co2,treeの3つのメソッドを定義した。それぞれ結果に関連した名前をなっ ている。燃費と走行距離が必要なので、gasoline,mileageと2つの引数リストが ある。入力してもらった数値が必要なので、計算式の中にもgasoline,mileageが 入っている。 <プログラムの説明(呼び出しの部分)> printf("給油量を教えてください。:\n") g = gets.to_f printf("走行距離を教えてください。:\n") m = gets.to_f printf("燃費は %5.2f km/Lです。\n",nenpi(g,m)) printf("1km走行のCO2排出量は %5.2f kg-CO2/kmです。\n",co2(g,m)) printf("給油量に必要な育成林は %5.2f m^2/年です。\n",tree(g)) gasolineをg、mileageをmとし、数値の代わりとしている。計算結果を最後に返 すようになっている。 <参考文献> 広瀬雄二.第2回メソッド.http://roy/~yuuji/2012/pf2/02/index.html.(参照 2012 9/29) ke!san 生活や実務に役立つ計算サイト.車の燃費・二酸化炭素排出量 .http://keisan.casio.jp/has10/SpecExec.cgi(参照2012 9/29) <感想> 公式を探すところから時間がかかりました。環境問題に関する公式をメソッドに したかったのでたくさん探しましたが、複雑なものばかりで最終的にこの自動車 の公式になりました。プログラムはできたのですが、育成林のところの 数値がどうしても違う結果になってしまいます。計算式自体はあっているはずな のですがどうしても正確な結果が出ず、完ぺきなプログラムとは言えず、とても 残念です。