2012年8月30日木曜日

制御構文(3/6)

x
■条件で繰り返す「while」
条件をチェックして繰り返す「while」
whileの後に0があり
条件となる値や変数、式などを用意
その値が正しい(真偽値のtrueである)間、その後の処理を繰り返す
値が正しくなくなる(falseになる)と繰り返しを抜けて次へ進みます。
2つの書き方の違い
「いつ、条件をチェックするか」
<最初にチェックする書き方>
繰り返しに入る前にチェック→最初から条件がfalseだった場合→繰り返し部分を全く実行せずに次へ
<最後にチェックする書き方>
まず、繰り返し部分を実行してから条件チェック→条件がfalseだったとしても、必ず1度は処理を実行
■利用例■
変数Nが素数かどうかをチェックするスクリプト
素数:1とその数自身以外の整数でわることができない値
実際に2~その数未満のすべての整数で割ってみればわかる
割った余りがゼロになることが1度でもあれば、それは素数じゃないということ
ここでは、numの値を2から順に増やしながら繰り返し実行
条件部分は、while(num<N)
つまり numの値が変数Nより小さい間、繰り返しを続けている
numの値は、繰り返しの最後で1増やしていますが、これは「num++;」
「++」というのは「インクリメント演算子」で、変数の値を1増やす
「--」は、変数の値を1減らす
*protram list*
 1 'while文の基本形(1)
 2 while(条件)
 3      ....実行する処理....
 4
 5 'while文の基本形(2)
 6 do
 7      ....実行する処理....
 8 while(条件);
 9
10
11 ※サンプルスクリプト
12
13 <html>
14     <head>
15         <script type="text/javascript">
16         <!--
17         var N = 887;
18
19         var num =2;
20         var result = true;
21         while(num < N){
22             if (N % num == 0){
23                 result = false;
24                 break;
25             }
26             num ++;
27          }
28          if (result)
29              alert(N + "は、素数です。");
30          else
31              alert(N + "は、素数じゃないです。");
32          //-->
33          </script>
34      </head>
35      <body>
36          <H1>TEST.</H1>
37      </body>
38 </html>

0 件のコメント:

コメントを投稿