流れ図とは?ながれず
流れ図とは、処理手順を、処理は長方形、判断はひし形、ループ端は専用の記号で図示したもの(JIS X 0121)。プログラム言語に依存せず手順を説明できる。午前Iでは図をたどって出力値や実行回数を答える、いわゆるトレース問題として出る。
最終更新:2026-10-07
この語が出る過去問を解く →背景
手順を日本語の文章で書くと、条件分岐と繰返しの入れ子がすぐに読み取れなくなる。制御の流れを線で示せば、分岐と合流の位置が目で追える。記号がJISで決まっているのは、書き手が違っても同じ図が同じ意味に読めるようにするためで、試験でも言語知識を問わずにアルゴリズム理解を測れる形式として使われる。
具体例
ループ端に添える「i:1,1,n」という書き方は、変数iを1から始めて1ずつ足し、nに達するまで回すという指定になる。ひし形の判断記号からは2本の線が出て、それぞれYesとNoのラベルで進む先を分ける。
試験での引っ掛け
判断のYes側とNo側の取り違えに加え、前判定ループと後判定ループの区別。後判定は条件が偽でも本体を最低1回は実行するので、実行回数が1だけずれる出題が定番になる。
関連用語
出た過去問
出典:平成28年度 春期 高度試験 午前Ⅰ 問3(IPA)
流れ図に示す処理の動作の記述として,適切なものはどれか。ここで,二重線は並列処理の同期を表す。
正解:Aの後にBC又はCB,BC又はCB,…と繰り返して実行する。
要点:並列同期の二重線は分岐した全経路の完了を待ち合わせる
同期線でAの後にBとCへ分岐し、両方の終了を待って再び同じ同期線に合流する構造になっている。並列に走るBとCはどちらが先に終わってもよいが、次のループへ進むには両方の完了が必要である。したがってAの後にBCまたはCBの組を繰り返し実行し続ける動作になる。
出典:平成29年度 春期 高度試験 午前Ⅰ 問3(IPA)
次の流れ図の処理で,終了時のxに格納されているものはどれか。ここで,与えられたa,bは正の整数であり,mod(x,y)はxをyで割った余りを返す。
正解:aとbの最大公約数
要点:ユークリッドの互除法は余りの繰返しで最大公約数を求める
xをyで割った余りをとり、yを新しいx、余りを新しいyとする操作を余りが0になるまで繰り返すのはユークリッドの互除法である。終了時のxには最後に割り切れたときの除数が入っており、これがaとbの最大公約数になる。例えばa=12、b=18なら計算を追うと6が残る。
出典:令和3年度 春期 高度試験 午前Ⅰ 問16(IPA)
あるプログラムについて、流れ図で示される部分に関するテストを、命令網羅で実施する場合、最小のテストケース数は幾つか。ここで、各判定条件は流れ図に示された部分の先…
正解:3
要点:命令網羅の最小回数は分岐数が最大の段の本数
命令網羅は、すべての命令(処理)を少なくとも1回は実行するテストケースを用意する基準である。この流れ図は、分岐が3本・2本・3本の判定を縦に3段つないだ構造なので、1回の実行で各段の枝を1本ずつ通ることになる。したがって分岐数が最も多い段(3本)を消化できるだけの回数、すなわち3回で全ての処理を1回以上実行でき、これが最小のテストケース数となる。
出典:令和4年度 春期 高度試験 午前Ⅰ 問16(IPA)
次の流れ図において、判定条件網羅(分岐網羅)を満たす最少のテストケースの組みはどれか。
正解:(1) A=1, B=0 (2) A=1, B=1
要点:判定条件網羅は各判定の真と偽を1回ずつ通せばよい
判定条件網羅は、各判定について真と偽の両方の結果を少なくとも1回ずつ通せばよい。A=1,B=0では最初の判定が真となり、その結果C=1になるので2つ目の判定も真を通る。A=1,B=1では最初の判定が偽となりC=2になるため、2つ目の判定も偽を通る。この2件で両判定の真偽が網羅でき、これが最少である。
出典・参考
公式シラバスの4 開発技術 > 2. 設計 > (11) モジュールの設計に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。