アルゴリズム - 繰返し型 |
繰返し型
処理のある範囲を繰り返す処理である。
繰返しは、
@決められた回数を繰り返す。
A条件によって繰り返すかどうかを決める。
の2通りが考えられる。また、Aの場合は繰返しの前に繰返し条件を判定する「前判定」と繰返し範囲を一度処理してから判定する「後判定」がある。
@ 左図のフローチャートでは、[Aの値出力]の処理を10回繰り返す。
「ループ端」に書かれている数値は次のような意味である。
A = 1, 10, 1
変数 = 初期値,終値,増分値
最初に、変数(A)に初期値(1)を記憶して繰返し範囲を処理する。二度目以降は変数(A)に増分値(1)を加算して終値(10)以下であれば繰返し範囲を処理する。これを終値を超えるまで繰り返す。
ここでは、「ループ端」の組(ペア)がわかりやすいように記号を点線でつないで示しているが、本来はなくても良い。
A @と同じように、[Aの値出力]の処理を10回繰り返す。
「ループ端」には終了条件を記入する。左図のフローチャートでは、A>10(Aが10より大きければ繰返し終了)である。
終了条件が「ループ端」の終わりの方に記入されているので「後判定」ということになる。
この例の場合は「前判定」でも「後判定」でも同じ結果になる。
※1の部分で 100 → A とすると次のようになる。
「前判定」のフローチャートでは何も出力されない。
「後判定」のフローチャートでは一度だけ 100 と出力される。
繰り返しのフローチャートは次の図のように、「ループ端」を使わなくても「判断」の記号で書くことができる。
二重ループ
繰返しを入れ子にしたループである。下図のように、「ループ端」の各ペアが交差してはいけない。
=====−−−
例題 九九の表を出力する。フローチャートを作成せよ。
変数Xが1のとき、変数Yが1から9まで変化しながら9回繰り返す。変数Xが2〜9のときもそれぞれ同じように9回ずつ繰り返す。
九九の表 | ||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 |
3 | 6 | 9 | 12 | 15 | 18 | 21 | 24 | 27 |
4 | 8 | 12 | 16 | 20 | 24 | 28 | 32 | 36 |
5 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 |
6 | 12 | 18 | 24 | 30 | 36 | 42 | 48 | 54 |
7 | 14 | 21 | 28 | 35 | 42 | 49 | 56 | 62 |
8 | 16 | 24 | 32 | 40 | 48 | 56 | 64 | 72 |
9 | 18 | 27 | 36 | 45 | 54 | 63 | 72 | 81 |
Copyright © 2003 Hiroshi Masuda |