1.
プログラムの概要 : 身長、体重を入力して、BMI指数を出すと同時に、BMIの標
準指数に基づく肥満度と目標標準体重を計算するプログラムです。

2.
#!/usr/koeki/bin/ruby
# -*- coding: utf-8 -*-

print"今からBMI指数に基づく肥満度を求めます。なお、BMI指数の標準は22です。\n"
print"あなたの体重を入力して下さい。(kg)\n"
weight = gets.chomp!.to_f
print"あなたの身長を入力して下さい。(m)\n"
height = gets.chomp!.to_f


bmi = weight / height ** 2

printf("あなたのBMI指数は%3.1fです。\n", bmi)

x = bmi - 22

y = "%"

printf("あなたの肥満度は%3.1f%sです。\n", x, y)

z = 22 * height ** 2

printf("標準体重に基づくあなたの目標普通体重は%3.1fkgです。\n", z)
print"\n"
print"診断結果\n"
printf("BMI指数      :   %3.1f\n", bmi)
printf("肥満度       :   %3.1f%s\n", x, y)
printf("目標普通体重 : %3.1fkg\n", z)

3.
今からBMI指数に基づく肥満度を求めます。なお、BMI指数の標準は22です。
あなたの体重を入力して下さい。(kg)
76
あなたの身長を入力して下さい。(m)
1.67
あなたのBMI指数は27.3です。
あなたの肥満度は5.3%です。
標準体重に基づくあなたの目標普通体重は61.4kgです。

診断結果
BMI指数      :   27.3
肥満度       :   5.3%
目標普通体重 : 61.4kg

4.
今回のプログラムでは、まず最初のprintで、このプログラムの概要を説明して
います。次のprintでは、体重をgets.chomp!.to_fでweightに入力させ、3番目の
printでは身長をgets.chomp!.to_fでheightに入力させました。どちらも小数の値を伴うので、to_fを使いました。

bmi = weight / height ** 2 は、BMI指数の計算です。

次のprintfでは、BMI指数を表示しています。bmiを小数第一の位で表示するために、
%3.1fとしました。

x = bmi - 22は、BMIの標準指数に基づく肥満度の計算です。
y = "%"は、%が文字列として認識してくれなかったので、代入しました。

次のprintfでは、肥満度を表示しています。xを小数第一の位で表示するために、
%3.1fを使い、yを文字列として表示させるために%sを使いました。

z = 22 * height ** 2は、標準体重に基づく目標普通体重の計算です。

次のprintfでは、目標普通体重を示しています。zを小数第一の位で表示するために、
%3.1fとしました。

次のprintは診断結果を見やすくするためにいれた空行です。

終わり3つのprintfでは、診断結果の数値をまとめた物を表示しています。

5.
今回は、計算の題材を考えるのに時間が掛かってしまいました。悩んだ末に、例
文のBMI指数からヒントを得て、肥満度や目標体重などを表示するプログラムを
作りました。もっと自分の思考力が柔軟だったらなぁと思います。getsメソッド
の使い方などもだんだん分かってきたので、次回も頑張りたいと思います。

6.
参考文献
http://roy/~naoya/ruby/3.html
bmi.nobody.jp