質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

2483閲覧

Javascript 関数を用いてBMIを求めたい

yumi55

総合スコア13

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2017/05/19 01:06

編集2017/05/19 03:45

###前提・実現したいこと
progateにてJvascriptの勉強を始めましたが、関数の課題でつまずいています。
指定された値を用いて、関数を定義しBMIを求めるものですが、定義した式で計算したものを表示させると"NaN”のとなります。

###発生している問題・エラーメッセージ
入力が「height=1.7;」と「weight=60;」のときの出力が間違っています

###該当のソースコード

Javascript

1var height = 1.7; 2console.log('height: ' + height); 3var weight = 60; 4console.log('weight: ' + weight); 5 6// この下にコードを書いてください 7function BMI(height,weight){ 8 return weight/height/height; 9} 10console.log("BMIは"+Math.round(BMI)+"です"); 11 12 function ProperWeight(height){ 13 return height*height*22; 14 } 15 console.log("適正体重は"+Math.round(ProperWeight)+"kgです");

###試したこと
正直思いつきません。。

###補足情報(言語/FW/ツール等のバージョンなど)
<課題>
BMIを求めよう
変数heightに身長(m)、変数weightに体重(kg)が代入されています。

heightとweightから
BMIと適正体重を求めてみましょう。

BMIは
体重 ÷ 身長 ÷ 身長
で求めることができます。

適正体重は
身長 × 身長 × 22
で求めることができます。

それぞれ計算結果は小数で出てくるので、四捨五入して整数で表示してください。
四捨五入の仕方は検索して探すか、ヒントを参考にしてみてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2017/05/19 02:39

```(バッククオート3つ)が不足しています。コードの最終行に「改行+```」を追記してください。
guest

回答3

0

console.log("適正体重は"+Math.round(ProperWeight)+"kgです");

エラー出てるのはここもではないですか?
properWeight関数の引数に何も渡してないですよ?

BMI関数の方も実行時に引数に何も渡してないです。

投稿2017/05/19 01:12

編集2017/05/19 01:15
harashow1701

総合スコア854

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

harashow1701

2017/05/19 01:25

function BMI(height,weight){ //ここで引数に渡ってきている値をcosole.logでデバッグ return weight/height/height; } ↑ 今後の参考の為に。引数に渡ってきている値が適切か、cosole.logで確認してみましょう。
yumi55

2017/05/19 01:28

関数の引数には 1~4行目のvar height = 1.7;からの部分で渡されると思っていたのですが違ったのでしょうか。connsole.logの中で関数()として必ず指定する必要があるのでしょうか。 質問が伝わりにくいと思いますが申し訳ないです。
harashow1701

2017/05/19 01:53

var yourWeight = ProperWeight(50); Math.round(yourWeight)+"kgです"); こう書くと分かりやすいかもしれませんね。 とりあえず定義した関数を使って下さい。
harashow1701

2017/05/19 01:54

cosole.logはログを書き出すための関数です。alert()をcosole.log()の代わりに使っても値の確認はできます。
yumi55

2017/05/19 02:40

何度もありがとうございます。 教えて頂いたやり方で値を確認してみます。
guest

0

ベストアンサー

BMI関数の呼び方が間違っていませんか?
BMI(height,weight)になりそうな気がします。

【追記】
検証してみました

javascript

1var height = 1.7; 2console.log('height: ' + height); 3var weight = 60; 4console.log('weight: ' + weight); 5 6// この下にコードを書いてください 7function BMI(height,weight){ 8return weight/height/height; 9} 10console.log(Math.round(BMI(height,weight))); 11 12function ProperWeight(height){ 13return height*height*22; 14} 15console.log(Math.round(ProperWeight(height)));

これで表示されました。(日本語部分は割愛しています)

投稿2017/05/19 01:10

編集2017/05/19 01:15
s.t.

総合スコア2021

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yumi55

2017/05/19 02:49

ありがとうございます! 解決できました。 関数()で再度指定する必要があったのですね。 勉強不足でした!
guest

0

他の方も書いていますが、関数をせっかく定義しているのに、
使用側で引数を入れていないからですね。
入れれば「数値がない」というエラーは出なくなります。

投稿2017/05/19 01:26

編集2017/05/19 01:29
nora_kuragen

総合スコア101

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

harashow1701

2017/05/19 01:28

progateにてJvascriptの勉強を始めましたが、関数の課題でつまずいています。 指定された値を用いて、関数を定義しBMIを求めるものですが、定義した式で計算したものを表示させると"NaN”のとなります。 ↑ そーゆー課題ですね。
yumi55

2017/05/19 03:13

そういうミスだったのですね。 理解できました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問