フローチャートは、なんとな~くわかってきたけど…
ループの抜け方がわからんゾ
『そもそもループの図形ってあるの?』
『終了条件は、どうやって書くの?』
こんな疑問に答えます。
フローチャートでループを抜ける方法!2つの図形と3つの判定
フローチャートでループの抜けたいときに使用する図形は2つあります。
それは『条件分岐の図形』と『ループの図形』です。
- ループの図形
繰り返し処理を表現するループの図形(台形のような6角形)に、ループを抜ける終了条件を書きます
ループの図形は開始と終了の図形があるよ♪
(上下が逆さまなだけ)
- 条件分岐の図形
条件分岐の図形(ひし形)にループの終了条件を書きます
分岐条件にループの終了条件を書くっていう意味だよ♪
そもそも『フローチャートって何?』という方はこちらから
そして、
『どのタイミングでループを抜ける判定を行うのか』がポイントになります。
ループの終了判定を行うタイミングは3つ!
前判定と後判定、そして中間判定です。
そもそも『条件分岐って何?』という方はこちらから
フローチャートでループを抜ける方法!ループ図形に終了条件を書く
ループ図形を使ってループの抜けるポイントは…
『ループ名』と『終了条件』を書くことです。
詳しくを説明するぞい♪
ループ図形に終了条件を書いてループを抜ける手順
ループ図形に繰り返し処理を抜ける終了条件を書いてループを抜ける手順です。
- フローチャートのループ図形を書く
フローチャートのループ図形は、こんな感じの6角形です。
少し台形に似ています。 - ループ図形に『ループ名』を書いて繰り返し処理の範囲を決める
ループ図形にループ名を書きます。
ループ名を書くことで繰り返し処理の範囲が明確になるんです。
- ループ図形に終了条件を書いて処理を抜ける
ループ図形に書いた『ループ名』の真下に『終了条件』を書きます。
開始のループ図形と終了のループ図形がありますよね。
終了条件を書く場所によって判定方法が異なるのです。
- 前判定
終了条件を開始のループ図形に書く
- 後判定
終了条件を終了のループ図形に書く
- 前判定
次はループ図形を用いた「前判定ループ」と「後判定ループ」について詳しく説明いたします。
フローチャートを書くツールで迷ったときはコチラ
前判定ループとは
ループ内の繰り返し処理を実行する前に判定するのが、前判定です。
前判定のループはこんな感じ。
イマイチわかりにくいので焼き肉食べ放題で説明します!
満腹になるまで、焼き肉を食べ続けるループ処理です。
ループ名は『焼き肉食べ放題』
前判定の終了条件は『満腹になるまで』です。
前判定なので…
焼き肉食べ放題店に入ったものの、既に満腹だった場合は即終了!
後判定ループとは
ループ内の繰り返し処理を実行した後に判定するのが、後判定です。
後判定のループはこんな感じ。
これまた、イマイチわかりにくいので焼き肉食べ放題で説明します!
満腹になるまで、焼き肉を食べ続けるループ処理です。
ループ名は『焼き肉食べ放題』
後判定の終了条件は『満腹になるまで』です。
終了条件である『満腹になるまで』は
前判定と同じじゃよ
後判定なので…
必ず1回は焼き肉を食べる!食べてから満腹だった場合は終了する
わかったかのぅ
フローチャートでループを抜ける方法!条件図形に終了条件を書く
条件図(ヒシ形)に終了条件を書いて、ループ処理を抜ける方法もあります。
繰り返し処理はループ図形を使って表現できますが、矢印だけでも表現できます。
条件図に終了条件を書くやり方は、矢印を使って表現した場合にも有効です。
繰り返し処理を『ループ図形で表現したケース』と『矢印を使って表現したケース』それぞれで、条件図形に終了条件を書いてループを抜ける方法を説明します!
ループ図形+条件図形でループを抜ける方法
ループ図形に終了条件を書かずに、ループ処理内の条件分岐で終了判定する方法です。
例のごとく、焼き肉食べ放題を使って説明します!
食べてから、満腹だったら終了するので、後判定ループと同じ処理となります。
続いて、条件分岐でループ処理を抜けるもう一つの方法を説明します。
矢印+条件図形でループを抜ける方法
ループ図形を使用せずに矢印だけでループ処理を表現し、条件分岐でループ処理を抜ける方法です。
フローチャートの繰り返し処理は矢印と条件分岐でも書けます。
こんな感じです。
「満腹」の条件分岐がNoの時、矢印が下から上に向かってのがポイントです。
矢印が下から上にすることで何回も「焼き肉を食べる」ことができるループを実現しています。
食べてから、満腹だったら終了するので、後判定ループと同じ処理となりますね!
条件図形でループを抜ける判定方法!前判定・後判定・中間判定
条件図形を用いた判定方法は「前判定」と「後判定」と「中間判定」の3通りあります。
- 前判定
繰り返し処理の最初で条件図形に終了条件を書く
- 後判定
繰り返し処理の最後で条件図形に終了条件を書く
- 中間判定
繰り返し処理の処理内で条件図形に終了条件を書く
(中間判定はあまり聞いたことがなく、筆者の造語です。あしからず)
フローチャートでループを抜ける方法!2重ループとは?
『2重ループとは』何だと思いますか?
2重ループとは繰り返し処理が重なっていることです。
フローチャートで2重ループを書くと流れを俯瞰できるのでイメージを掴めます。
ホテルの掃除を例にあげて、具体的に説明しますね!
フローチャートで2重ループを抜ける
フローチャートの2重ループはこんな感じです。
ホテルの掃除を2重ループで処理します。
【2重ループ:ホテルの掃除】
フロア内の全部屋の掃除が終わってから、階段を上るところがポイント!
フローチャートで連続ループを抜ける
連続ループとは、開始~終了のループが2回連続しているループです。
単一ループを2回に分けてループを実行しているだけで、2重ループではありません。
2重ループと連続ループの違いは次の通りです。
- 2重ループ:繰り返し処理が重なっている
- 連続ループ;繰り返し処理が単独で2回続いている
【連続ループのフローチャート】
クイズ:
連続ループ(下のフローチャート)と2重ループ(上のフローチャート)の処理は、どこが違うでしょうか?
クイズの答え:
- 2重ループ
ホテルの全フロアの全部屋を掃除する - 連続ループ
ホテルの最上階だけ全部屋を掃除する
多重ループとは?
繰り返し処理が重なると2重ループでしたが、3つ重なると3重ループ、4つなら4重ループです。
これらをまとめて多重ループといいます。
2重ループがわかれば、多重ループもわかったも同然ですよ!
僕は2重ループがわからんかった!
僕(SEのオッサン)が駆け出しプログラマーだったころ、2重ループが一番わかりませんでした。
正直、吐きそうでした。
でも、フローチャートで1つづつ紐解いて行くと…
コーディングが読めるようになってたんじゃ!
これは粘り・根性とフローチャートのおかげだと思っています。
諦めずにフローチャートを書いて、コーディングとニラメッコしてたら絶対に解る!
2重ループが理解できたら…
バブルソートに挑戦してはいかがでしょうか。
バブルソートは簡単な2重ループを使用するソート処理です。
いい練習になると思いますよ!
フローチャートでループを抜ける方法!無限ループとは?
無限ループや永久ループって聞いたことないですか?
終了条件を書いていないループは、永久に同じ処理を繰り返します。
これは文字通り【無限ループ】や【永久ループ】と言われ、プログラミングを代表するバグの1つです。
フローチャートでループを抜ける方法!まとめ
いかがでしたでしょうか?
今回はフローチャートでループを抜ける方法について紹介しました。
少し、振り返ってみましょう!
- ループの図形
繰り返し処理を表現するループの図形に終了条件を書ける
ループの図形は開始と終了の図形があるよ(上下が逆さまなだけ) - 条件分岐の図形
条件分岐を表すヒシ形の図形にループの終了条件を書ける
- 繰り返し処理は「ループ図形」か「矢印(下から上)」で表現する
- 条件図形は繰り返し処理をどのように表現しても終了条件を書ける
つまり…
ループを抜ける図形は2種類ですが、ループを抜ける判定方法は3種類ある
ということになりますね。
また、
終了条件が無い繰り返し処理を『無限ループ』といいます。
プログラミングにおける無限ループはバグであるケースが多いですが、常駐処理などで敢えて無限ループにするケースがありますよ♪
「記事を読んでもわからないトコがある」「内容が変だよ」
という時は、お気軽にコメントください♪
「もっとSEおっさんに詳しく聞きたい。何かお願いしたい!」
という時は、ココナラまで。メッセージもお気軽に♪
LINEでのお問合わせも受付中!
LINE公式アカウント
メッセージをお待ちしています!
- 応用情報技術者
- Oracle Master Gold
- Java SE Gold
- Java EE Webコンポーネントディベロッパ
- Python エンジニア認定データ分析
- 簿記2級