肥満度の計算

肥満度の計算 を実行します。


プログラムの説明

  1. BMI(Body Mass Index) とは1994年に WHO で定めた肥満判定の国際基準です。
    身長と体重から BMI を計算します。
        BMI=体重(kg)÷(身長(m)× 身長(m))
    
    身長は単位がメートルなので100で割って下さい。
    【例】身長=167, 体重=61 のときです。
        BMI = 61 / 1.67 ** 2 = 21.87
    
  2. 肥満度の判定基準です。
        BMIでは18.5未満を低体重、
        18.5以上25.0未満を標準、
        25.0以上30.0未満を肥満(1度)、
        30.0以上35.0未満を肥満(2度)、
        35.0以上40.0未満を肥満(3度)、
        40.0以上を肥満(4度)としています。
    
    日本でのBMIの理想値は男性が22.0、女性が21.0です。
  3. <body> から身長と体重をタイプして judge(this.form) 関数を呼び出します。
    <form>
    身長: <input type="text" name="height" value="167" size=30><br>
    体重: <input type="text" name="weight" value="61" size=30><br><br>
    <input type="button" value="BMI の計算" onClick="judge(this.form)">
    </form>
    
  4. judge() 関数では form にタイプされた値を取得して、半角に変換して height と weight に格納します。
    BMI を計算して、該当するメッセージを新しいページに表示します。
    別の計算を行うときは、前のページに「戻る」ボタンを利用して下さい。
    function judge(form)
    {
        var text = form.height.value;
        var height = text.toChar_8();
        text = form.weight.value;
        var weight = text.toChar_8();
        var wk = height/100;
        var bmi = parseInt(weight / (wk * wk));
        document.write("身長:" +  height + " 体重:" + weight + "  BMI: " + bmi + "<br>");
        if (bmi<18) document.write("どこか悪い所がありますか?<br>もっと太って体力を付けて下さい。<br>");
        else  if (bmi<19.0) document.write("ちょっと痩せ気味です。<br>これ以上のダイエットはやめましょう。<br>");
        else  if (bmi<21.0) document.write("痩せ気味ですがバランスが取れています。<br>");
        else  if (bmi<23.0) document.write("理想の体重です。<br>この状態をキープして下さい。<br>");
        else  if (bmi<25.0) document.write("太り気味ですがバランスが取れています。<br>");
        else  if (bmi<27.0) document.write("太り気味です。<br>太りすぎに注意しましょう。<br>");
        else  if (bmi<30.0) document.write("肥満気味です。<br>痩せるように努力しましょう。<br>");
        else  if (bmi<35.0) document.write("肥満度2です。<br>これ以上太ると健康に影響します。<br>");
        else  if (bmi<40.0) document.write("肥満度3です。<br>健康のために痩せる努力をして下さい。<br>");
        else    document.write("肥満度4です。<br>太りすぎで危険な状態です。<br>");
    }
    
  5. 全角文字を半角文字に変換する toChar_8() 関数です。
    スマホでは全角でタイプすることも良くあり、全角⇒半角変換を行っています。
    function toChar_8(s)
    {   return s.replace(/[A-Za-z0-9]/g, function(s)
        {   return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);
        });
    }