基礎プログラミング II 第 5 回 (何度も呼び出そう) 「脱メタボリック計画」 講義ノート目次

前期に 腹周りを気にしていたサラリーマン は、健康診断にひっかかったことをきっかけに減量に取り組むことにした。 毎朝 5 km 走って減量するプログラムが組まれた。 理想体重は現在の体重の 80 % であるということだった。 最初の代謝は 1 km 走ると 0.3 [kg] しか減らない。 def_metabolic.rb


def running(l, w)
decrease = - 0.3 w += l * decrease
end weight = 100 length = 5 ideal = 100 * 0.8 # 理想体重 printf("初期体重 %d [kg], 走行距離 %d [km]\n", weight, length) j = 0 while weight > ideal
weight = running(length, weight) printf("%3d ヶ月目 体重 %4.1f [kg]\n", j += 1, weight)
end

実行してみる。

初期体重 100 [kg], 走行距離 5 [km]  
  1 ヶ月目 体重 98.5 [kg]
  2 ヶ月目 体重 97.0 [kg]
  3 ヶ月目 体重 95.5 [kg]
  4 ヶ月目 体重 94.0 [kg]
  5 ヶ月目 体重 92.5 [kg]
  6 ヶ月目 体重 91.0 [kg]
  7 ヶ月目 体重 89.5 [kg]
  8 ヶ月目 体重 88.0 [kg]
  9 ヶ月目 体重 86.5 [kg]
 10 ヶ月目 体重 85.0 [kg]
 11 ヶ月目 体重 83.5 [kg]
 12 ヶ月目 体重 82.0 [kg]

なぜ数字が揃っているのか説明せよ。