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