2013年2月1日

CodeStudy 12-4 while のこと

今 while 文のまとめの記事を書こうとしている所ですが、書き始める前に 色々と復習しています。ずっとお世話になっている CodeStudy  4-1 から 4-4 に while 文の問題がありますので、改めて挑戦してみました。
但し 4-1 から 4-3 は「ちょっとした問題」ですので、ここでは 4-4 だけ取り上げます。


問題

var i =1~30 までループを回し、i が偶数の時のみ、変数 count にその時の i を足してみましょう。 そしてその結果、count がいくつになるのかを output( ) で出力しましょう。


var i = 1;
var count = 0;

//ここにループを書きましょう。

//iをインクリメントするのを忘れないでください。
while (i <= 30) {
    if (i % 2 == 0) {
        count += i;
    }
    i++;
}
//結果をoutputで出力しましょう。
output(count);


赤字の部分が 自分で書く部分です。
このように書いたら 正解になりました。この問題だと ループの回数が、30回と決まっているので、for 文を使っても 答えは出ます。教本などを読むと for 文は ループ回数が決まっている場合に使い、while 文は何回繰り返すか判らない場合に使う事が多いとあります。
では、練習と思って 同じ条件のスクリプトを for 文で書き直してみます。


ex.1

var count = 0;
for (var i = 1; i <= 30; i++) {
    if (i % 2 == 0) {
        count += i;
    }
}
document.write (count);


ex.1の実行結果
















書いた行数だけを見ると 少しの差ですが、for で書いた方が少なくて済むようです。
for にしても while にしても 条件の書き方がとても重要だと判ってきました。結果は同じでも 違う書き方というのもできそうですし…。
ともかく練習にはなりましたので、次はwhile 文のまとめを書こうと思います。



よろしければこちらもどうぞ

CodeStudy に取り組んだ記事一覧

0 件のコメント:

コメントを投稿