ブロックを繰り返し実行します。繰り返しのことをループ(loop)と呼んだりします。繰り返しを行う代表的な 以下の制御文について取り上げます。
while文は下記の形(読みやすいように改行・インデントしてます)をしています。条件式がtrueである限りブロックの内容を繰り返し実行します。
while ( 条件式 ) { ブロック }
「変数iの値を0からnまで変化させてそのつど変数iの値を出力する」
ということをします。このような計算や問題を解決するための手順・方式をアルゴリズムといいます。アルゴリズムを考えることはプログラムを作る重要な一歩です。
繰り返しごとに値が変化し、終了判定で使われる変数をループ変数と呼びます。この場合は変数iがループ変数になります。
var n=5;// 変数nの値を定義(任意)
var i=0;// 変数iを0に初期化
while (i<=n) {// 変数iの値が変数nの値より小さい間繰り返し
trace(i); //変数iの値を出力
i=i+1; //変数iの値を1増やす
};
0 1 2 3 4 5
nの階乗はn×(n-1)×…×2×1です。これを計算するために、
「nの数をひとつずつ1になるまで減らして行き、階乗を計算するために用意した変数にnの値を順にかけてゆく」
ということをします。
var n=10;// 階乗を計算したい数
trace("nの階乗は"); var factorial=1;// 変数factorialの初期値を1
while ( n>1 ) {// 変数nが1より大きい間繰り返し
factorial = factorial * n ;// 変数factorialに変数nの値をかけて代入
n = n - 1;// 変数nの値を1減らす
}; trace(factorial+"です。");
10の階乗は3628800です。
for文は
for ( 繰り返しに入る前に実行する文; 条件式; 繰り返しごと最後に実行する文 ){ ブロック };
の形(改行・インデント後)をしています。通常は
for ( ループ変数の初期化; 条件式; ループ変数の増減 ) { ブロック };
という形で使われるのが普通です。
前出のプログラムをfor文で書き直したものです。
var n=5;// 変数nの値を定義(任意)
for (var i=0; i<=n; i=i+1) {// 変数iの値が変数nの値より小さい間繰り返し
trace(i);// 変数iの値を出力
};
0 1 2 3 4 5
前出のプログラムをfor文で書き直したものです。
var n = 10;// 階乗を計算したい数
var factorial = 1;// 変数factorialの初期値を1
for (var i = n; i > 1; i = i - 1) { //変数iが10から2までの間繰り返し
factorial = factorial * i ; }; trace(n+"の階乗は"+factorial+"です。");
10の階乗は3628800です。
入力された個数だけ"*"を出力するプログラムを作成せよ。
例 入力が3のとき…***、入力が5のとき…*****
Programming Laboratory (Shio seminar)