入れ子
入れ子とは、箱の中に箱がある、といったように何かの中に同じ形の物がある状態を言います。if文は入れ子の状態にすることが出来ます。つまり、if文の中にif文を書くことが出来るわけです。
たとえば、ある数を入力し、それが10だったときには、さらに入力ウィンドウを出して、それが20だったときに「あたり」と表示するプログラムを考えてみます。最初に入力した数が10で無かったときには入力ウィンドウ自体出さないことに注意してください。
str1 = prompt("最初の値を入力してください",""); num1 = parseInt(str1); if( num1 == 10 ) { str2 = prompt("2番目の値を入力してください",""); num2 = parseInt(str2); if( num2 == 20 ) { alert( "あたりです" ); } }
最初のif文で変数num1を調べ、それが10のときにはif文の中でpromptを使い入力ウィンドウを出しています。
そこで入力された値が20のときには「あたりです」と出しています。
このようにif文の条件式が正しかったとき(あるいは正しくなかったとき)に実行する命令の中にさらにif文を書くことが出来るわけです。
問題6-8
まず最初に「大人なら1を子供なら2を入力してください」と表示してください。そして大人の時(つまり1を入力されたとき)には「お酒なら1をソフトドリンクなら2を入力してください」と表示します。子供の時には自動的にソフトドリンクを選択したものとします。
最終的にお酒を選択したときには「500円です」と表示し、ソフトドリンクを選択したときには「200円です」と表示してください。