少々腹周りが気になるようになったサラリーマン(男性)。 この企業では、40 歳以上は去年から腹周りを測定することになった。 去年のサイズは 75 cm であったが、今年は 78 cm となっていた。 今の食生活では体脂肪の増加率が年 4% である。 メタボリックシンドロームと判断されるのは、 何年後になるか。男性がメタボリックシンドロームと判断されるのは、 腹周りが 85 cm 以上とされている。 meta.rb:
#!/usr/koeki/bin/ruby i=i0=78 y=0 while i < 85 i *= 1.04 printf("%d 年後\t
%d kg\n
", y += 1, i) end printf("%d 年後には 85 kg を %d kg 越えます。\n
", y, i - 85)
ここで変数について解説する。 体重を i [kg]。現在の体重を i0 [kg]とした。 y は年(year) を表す。
"while -- end" はくり返しの動作を実行するのに使う。
# while 繰り返しを行ってよい範囲 # 繰り返しの動作に関する実行文 # end
while -- end の中では、繰り返す実行文が並べられる。 while -- end は反復文の一つ。 囲まれた中の命令を条件を満たさなくなるまで一行ずつ実行する。 while のすぐ後に、条件をつける。
# i *= 1.04 で変数 i に入っている値を 4% 増加させる。体重の増加率を表している。 # printf は変数を表示する実行文。ここでは年ごとの予想体重が表示される。 # y += 1 で変数 y に入っている値を 1 増加させる。すなわち年が増える。
printf 文で整数値を表示させるには %d を用いる。
printf 文ですき間を表示させるには \t
を用いる。