フローチャートでの繰り返し処理の表現

学習の目的

  • 1.繰り返し処理をフローチャートで表現

  • 2.前判定型・後判定型・中間判定型

繰り返し処理をフローチャートで表現しましょう。

1.繰り返し処理をフローチャートで表現

繰り返し処理をフローチャートで表現するには主に2つのパターンがあります。

①流れ線を利用した繰り返し処理

②ループ端(ループたん)記号を使った繰り返し処理

①流れ線を利用した繰り返し処理

流れ線を利用して繰り返し処理の前に戻ることで、同じ処理を何度も実行する方法です。

繰り返し処理の流れから抜けるために、「判断記号」を使用します。


この繰り返し処理から抜ける判定には、「継続条件」を使用する事が多いです。

これは、条件が真だったら、繰り返し処理を実行する。偽だったら繰り返し処理から抜けるので、「継続」条件と言っています。

上記のフローチャートの形は、「Yes」の時に繰り返し処理を実行しているため、「継続条件」となります。

前のスライドで見ました。

②ループ端(ループたん)記号を使った繰り返し処理

フローチャートには、繰り返し処理を表現するための「ループ端(ループたん)記号」があります。


ループ端記号は、開始と終了の記号をセットで書き、それぞれに同じ名前のループ名を記載します。

その間に繰り返しする処理を記述します。

ループ端記号内に、繰り返し処理を継続する条件を記述します。


ループ端記号(終了)に処理が到達したら、処理の流れがループ端記号(開始)に戻り、継続条件の判定を行います。

例外はありますが、ループ端記号以外の場所で繰り返し処理から抜けることはありません。

ループ端記号の方が、線が少なくてスッキリしているよね。

継続条件以外の書き方のパターンを紹介します。

まずは、以下のフローチャートを確認しましょう。


変数 i の値が、1から4まで1ずつ加算しながら繰り返す。

このように、特定の変数を規則的に動かす場合は、以下のように書き換える事ができます。


「i = 1」 、「i ≦ 4」 、 「i = i + 1」

この三つが一つにまとまった感じですね。

参 考

継続条件か?終了条件か?

元々、ループ端記号では終了条件が使用されていました。

条件が真になったら、繰り返し処理を抜ける条件です。

また、国家試験などでも、フローチャートには終了条件が使用されています。


現在はプログラミング言語の仕様に合わせて、一般的に継続条件を使用することが多くなってきています。

継続条件と終了条件で条件の式が変わってくるので、注意してください。

なんで終了条件ではなくて継続条件を使用する事が多いんですか?

よく利用されているプログラミング言語のほとんどが、繰り返し処理の構文として「継続条件」を採用しているので、フローチャートでも継続条件を利用する事が多いんです。

流れ線とループ端記号は、使い分けがあるんですか?

特に、使い分けの必要はありません。

自分が書くときは、使いやすい方を選んでください。

ただし、他の人が書いたフローチャートを見ることもあるので、どちらも理解できるようにしておいてください。

2.前判定型・後判定型・中間判定型

繰り返し処理は、繰り返し処理から脱出する条件の位置により、前判定型・後判定型・中間判定型の3つのパターンがあります。

前判定型

前判定型は、繰り返し処理の前に判定の条件があります。


前判定型の特徴として、繰り返し処理に入るときにすでに条件が偽の場合、1度も繰り返し処理を実行しない事があります。

今まで見たフローチャートはみんな前判定型ですね。

そうですね。実際には、前判定型が最も多く使用されています。

でも、一回も実行しない繰り返し処理って必要がないんじゃないですか?

いい質問ですね。例えば、繰り返しの回数が定まっていない繰り返しがあったとします。

プリントの宿題を終わらせるフローチャートを見てみてください。


これは、繰り返し処理に入る前に宿題の枚数を変数(i)に代入し、

繰り返し処理の中で1枚ずつプリントを終わらせて、全て終わったら、つまり i の値が0になったら繰り返しを終了します。

継続条件が0より大きいだから、1枚でも残っていたら繰り返しプリントを片付けるわけですね。

これがもし、宿題が無い日であれば、i には0が入力されることになります。

その場合は、繰り返し処理は1回も実行せずに、宿題を終わりにできるんです。

なるほど、時と場合によって繰り返しの回数が変化する場合、0回の繰り返しってこともありえるから、それに対応しているんですね。

後判定型

後判定型は、繰り返し処理の後に判定の条件があります。

ループ端記号では、下の記号に継続条件を記入します。


後判定型の特徴として、どのような場合においても、繰り返し処理を最低1回は実行します。

最低1回は実行する繰り返し処理か。どんなものがあるんですか?

例えば、食事でお腹を満たすフローチャートを考えてみましょう。


ここでは、空腹具合を数値化して、最初に変数iに格納しています。

まずは1回ご飯を食べましょう。

なるほど、1回の繰り返しで空腹具合が10減って、まだお腹が減っていたら繰り返し食べるわけですね。

1回の繰り返しで、空腹具合が10減少します。

そして、空腹具合が、20未満になったら食べるのをやめます。

腹8分目っていうからね!!

中間判定型

中間判定型は、繰り返し処理の途中に判定の条件があります。

ループ端記号には継続条件は記入しません。


中間判定型では、継続条件より前の「必ず一回は実行する部分」と、継続条件より後の「場合によっては1回も実行しない部分」に分かれます。

繰り返しの途中で条件が偽になった場合に、繰り返し処理から抜けることができるんだね。

その通りです。前判定型と後判定型の両方の性質があります。

情 報 こ と ば キ ー ワ ー ド

ループ端記号

繰り返し処理を表現するフローチャートの記号。

継続条件

真であれば繰り返しを続ける条件。

前判定型

繰り返し処理の前に継続条件式を書く形式。

場合によっては、繰り返し処理を1回も実行しない事がある。

後判定型

繰り返し処理の後に継続条件式を書く形式。

最低でも1回は繰り返し処理を実行する。

中間判定型

繰り返し処理の間に継続条件式を書く形式。

最低でも1回は繰り返し処理を実行する部分と、場合によっては繰り返し処理を1回も実行しない部分がある。

Well done!

次のステップに進みましょう!

次のステップに進む

← 前のステップにもどる