1.身長(m単位)、体重(kg単位)を入力して、BMIを計算するプログラム 2.#!/usr/koeki/bin/ruby # -*- coding: utf-8 -*- print"あなたの身長をm単位で入力して下さい。\n" shintyou = gets.chomp!.to_f print"あなたの体重をkg単位で入力して下さい"。\n" taijyuu = gets.chomp!.to_f BMI=taijyuu/shintyou**2 printf("あなたの身長{m}:%6.2f\n",shintyou) printf("あなたの体重{kg:}%4.2f\n",taijyuu) printf("あなたのBMI指数:%6.2f\n",BMI) 3.sime{c115xxx}% ./report1.rb [~/program あなたの身長をm単位で入力して下さい。 1.70 あなたの体重をkg単位で入力して下さい。 60.2 あなたの身長{m}: 1.70 あなたの体重{kg:}60.20 あなたのBMI指数: 20.83 4. 1行目 #!/usr/koeki/bin/rubyはrubyインタプリタのあるディレクトリ を指定している。 2行目 日本語文字コードがEUC-JPであることを示している。 3行目 print"あなたの身長をm単位で入力して下さい。"は、"あなたの身長 をm単位で入力して下さい。"という文字を表示させる命令で、\nは改行す るという命令である。 4行目 shintyou = gets.chomp!.to_f は getsメソッドで、キーボードからの 入力を文字列として取得し、chomp!メソッドで「\n」があれば取り除き、to_fメ ソッドで値の型を実数に変換し、その数値に"shintyou"という名前を与えています。 身長は小数点以下をとる場合があるので、to_i ではなく、to_f を使いました。 5行目 print"あなたの体重をkg単位で入力して下さい。\n"は"あなたの体重を kg単位で入力して下さい"と言う文字を表示させる命令で、\nは改行するという 命令です。 6行目 taijyuu = gets.chomp!.to_f は getsメソッドで、キーボードからの 入力を文字列として取得し、chomp!メソッドで「\n」があれば取り除き、to_fメ ソッドで値の型を実数に変換し、その数値に"taijyuu"と言う名前を与えていま す。体重は小数点以下をとる場合があるので、to_i ではなく、to_f を使いました。 7行目 BMI=taijyuu/shintyou**2は"shintyou"の2乗で"taijyuu"を割ったもの に"BMI"と言う名前をつけています。 8行目 printf("あなたの身長{m}:%6.2f\n",shintyou)は"あなたの身長{m}とい う文字を表示し、その際に%6.2fの位置に,shintyouに代入された値を入れ込 んで表示する命令である。%6.2fとしたのは10進数の数値を右ぞろえで小数点 第2位まで表示するためと、実数で表記するためである。 9行目 printf("あなたの体重{kg:}%4.2f\n",taijyuu)は"あなたの体重{kg}"と いう文字を表示し、その際に%4,2fの位置に,taijyuuに代入された値を入れ込ん で表示する命令である。%4.2fとしたのは10進数の数値を右ぞろえで小数点第2 位まで表示するためと、実数で表記するためである。 10行目 printf("あなたのBMI指数:%6.2f\n",BMI)は"あなたのBMI指数"と言う文 字を表示し、その際に%6.2fの位置に,BMIに代入された値を入れ込んで表示する 命令である。%6.2fとしたのは10進数の数値を右ぞろえで小数点第2位まで表示 するためと、実数で表記するためである。 5.プログラムの作成にも手間取ったが、プログラムの説明をするのが1番難しく 感じた。自分の言葉で説明しようとするには、まずそのコマンド1つ1つをしっか りと理解していないと出来ないので、大変だった。 6 BMI 計算(自動)方法 http://bmi.nobody.jp/ 基礎プログラミングI (神田 直弥)2016年度授業用ページ 7