JavaScript講座
(メールマガジン編)

6/16日発行 ヨッシーの”ホームページを作ろう!(JavaScript編)”★Vol.5★

★ ループ関数 ★

今回はループ(繰り返し)関数というものをやってみよう!
プログラムは基本的に上の方から実行されていくけど、
同じような処理を何度もしたいときはどうすればいいんだろう。
同じプログラムを何度もならべる?
そんなことをしたら大変だね、2回3回ならまだいいけど
20、30回と繰り返す場合は大変だよ。
そこで出てくるのがループ処理というものなんだ。
これは同じような処理を自分の好きな回数繰り返すことができるんだよ。

★ forを使ったループ ★

forを使ったループでは指定した回数だけ処理を繰り返すことができるんだ。
じゃあ、その基本命令を見てみよう。


for(初期条件;終了条件;継続処理){
処理;
}


このような書き方をして同じ処理を何度もさせてやるんだね。
これは
始めの条件(初期条件)を設定 → 最後の条件(終了条件)を満たすまで繰り返す
という処理をしてくれるんだ。

じゃあ、実際に数字を入れて説明していくね。
例えば次のようなプログラムを作ったとしよう。


for(i=0;i<10;i++){
処理;
}


じゃあ、ちょっと難しいかもしれないけど説明しよう。
まず思い出して欲しいのが"変数"だね。
基本命令と見比べてほしいんだけど、
forのカッコの中は、

i=0  : 初期条件
i<10 : 終了条件
i++  : 継続処理
という関係になってるね。

じゃあ、まずi=0というところから見ていくね。
この"i"というのは変数だよ。(忘れた人は以前の変数についてを読み直そう)
"i=0"というところでまず変数"i""0"という数字を入れておくんだね。
次に"i<10"これは終了条件で、これを満たすまで処理を続けてくれるんだ。
つまり"i""10"より小さい時は処理を繰り返すという意味だよ。
(<,<=,>=,>の記号については次号の補足を参照)
そして"i++"
これは覚えているかな?これはインクリメント演算子というものだったね。
これは簡単に言えば"i""1"を足すという命令だったね。
じゃあ、それらを踏まえてこの命令を詳しく見てみよう。


≪プログラム≫

for(i=0;i<10;i++){
処理;
}


≪解説≫
始めに
i=0 とする(初期条件)
i<10 なので(終了条件)
i++ をして(つまりここでi=1になった)
処理(1回目)

次に
i=1 なので(上でi++されたから)
i<10 なので
i++ をして(ここでi=2になった)
処理(2回目) 

次に
i=2 なので(上でi++されたから)
i<10 なので
i++ をして(ここでi=3になる)
処理(3回目)

i=3
i<10
i++
処理(4回目)

・・・・・・

i=9
i<10
i++(i=10)
処理(10回目)

i=10
i<10
:ここでi<10ではなくなっているので
ここのループ(繰り返し)はここで終わる。


このようにして、処理は10回行われることになったね。
(よく分からない人は省略部分も自分で紙などに書いてやってみてね。自分でやるとよく分かると思うよ)

<まとめ(もう少し簡単に・・・?)>

どうしてもよくわからないという人は次の公式(?)を覚えよう。

for(i=0;i<n;i++){
      処理;
}

この"n"の部分に好きな数字を入れてみよう。
そうしたらn回処理が実行されるプログラムができるよ。

 

<問題>

理解したという人は次の問題をやってみてね。

次のfor文は何回繰り返すか?
(1) for(i=1;i<=10;i++){処理;}
(2) for(i=10;i>0;i--){処理;}
(3) for(i=10;i>5;i--){処理;}
(4) for(i=10;i<5;i++){処理;}

jamp.gif (1016 バイト)解答・解説

 

★ whileを使ったループ ★

もうひとつ何度も繰り返すプログラムとしてwhileというものを使った文があるんだ。


while(条件){
      処理;
}


これは"条件"を満たしている間、処理を繰り返し実行するんだ。
さっきのforを使った文は回数を使ったループ(繰り返し)だったね、
けれど今度のwhileを使ったループは回数じゃなく条件を満たす間だけというループだよ。
この命令に関してはこの程度のことをわかっておけばいいよ。
詳しいことは実際に出てきた時にやっていくからね。


back.gif (1116 バイト) next.gif (705 バイト) top.gif (583 バイト)