第6回 繰り返し処理(1): while/do ... while文TypeScriptで学ぶJavaScript入門(4/5 ページ)

» 2014年10月08日 17時32分 公開
[羽山博,]

do ... whileを使った例を見る

 次に、do ... while文を見てみよう。do ... while文では、条件を判定するための式を毎回の繰り返しの後に評価する。従って、繰り返し処理は最低でも1回は実行される

 以下の例は最初のプログラムに似ているが、異なる動きになるので注意が必要だ。このプログラムでは、6が出るまでに他の目が出た回数ではなく、サイコロを振った数そのものが表示される。例えば、いきなり6が出た場合には結果は1となる。

var count: number = 0;
var dice: number;
do {
  dice = Math.floor(Math.random() * 6) + 1;      // (1)
  count++;      // (2)
} while (dice != 6);    // (3)
alert(count);
window.close();


 do ... while文の中では、(1)で乱数を発生させ、その値を変数diceに代入する。これでサイコロの目が求められる。続く(2)では変数countの値を増やし、サイコロを振った数を数える。(3)では繰り返し処理の条件として「変数diceの値が6でない間」を指定している。

 つまり、処理の流れは「サイコロを振る、振った回数を数える、6が出たら終わり」の繰り返しとなっている。(3)の終了判定の前に、最低でも1回は(2)が実行されるので、いきなりdiceの値が6になった場合でも、countの値は1になっていることが分かる。

do ... while文の書き方

 では、do ... while文の書き方をまとめておこう。do ... while文では、条件を判定するための式のかっこの後にセミコロンが必要なことに注意。実際にはセミコロンがなくてもエラーにならないし、実行もできるが、標準的な形式に合わせておくのが無難だ。

図9 do ... while文の構造を確認する 図9 do ... while文の構造を確認する

 形式1のフローチャートは以下の通り。やはり「文」の部分は複合文でも構わないので、形式2でもこの流れになる。

図10 do ... while文の処理の流れ 図10 do ... while文の処理の流れ

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。