流れ図(フローチャート)とは?ながれず
流れ図(フローチャート)とは、処理手順を図記号と制御の流れで表現した図で、記号はJIS X 0121で規定される。表現できるのは順次・選択・繰返しの3つの基本構造で、これだけで任意のアルゴリズムを書けるというのが構造化定理である。繰返しには判定が先に来る前判定型(while型、条件次第で0回)と、処理後に判定する後判定型(do-while型、最低1回は実行)があり、境界値の出題はほぼここを突いてくる。トレース問題では、分岐条件の等号の有無と、ループカウンタが増えるタイミング(判定の前か後か)で答えが1件ずれるため、机上で変数表を作って追うのが定石。
最終更新:2026-10-06
この語が出る過去問を解く →背景
初期のプログラムは処理の途中から任意の場所へ飛べたため、制御が追えないコードが量産され、修正のたびに別の場所が壊れる状態になった。この反省から、制御構造を順次・選択・繰返しの3つだけに限れば任意のアルゴリズムが書けるという構造化定理を根拠に、表現力をあえて絞って可読性と検証可能性を取ったのが構造化された流れ図である。つまり流れ図は描画法ではなく、制御を1本のフローに閉じ込めるという設計上の制約そのものを表している。並行処理を描けないのは弱点ではなく、この制約の裏返しであり、そこがアクティビティ図との使い分けの根拠になる。
具体例
PayPayの決済APIを呼ぶ処理を流れ図にすると、リクエスト送信(処理)→応答あり(判断)→無ければリトライ回数を+1(処理)→回数が3未満か(判断)→真なら送信へ戻る、という後判定型の繰返しになる。この形なら最初の1回は必ず送信されるが、同じ構造を前判定型で描くと「1回も送らずに抜ける」経路が生まれる。どちらで描くかが仕様の意味を変えるため、設計レビューでは繰返しの型と初期値を最初に確認する。
試験での引っ掛け
アクティビティ図・DFD・状態遷移図との使い分けが記述式の頻出。流れ図とアクティビティ図はどちらも制御の流れを描くが、並行処理(フォーク・ジョイン)を表せるのはアクティビティ図で、流れ図は単一の制御フローしか描けない。DFDが描くのは制御ではなくデータの流れなので、DFDに分岐の判断記号は現れない。「なぜアクティビティ図を選んだか」と問われたら、並行動作や担当(スイムレーン)を表現する必要があるから、と一言で答えられるようにしておく。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成28年度 春期 応用情報技術者試験 午前 問6(IPA)
流れ図に示す処理の動作の記述として,適切なものはどれか。ここで,二重線は並列処理の同期を表す。
正解:Aの後にBC又はCB,BC又はCB,…と繰り返して実行する。
要点:二重線は並列処理の分岐と合流の待ち合わせを表す
最初の同期バーでBとCへ並列に分岐し、両方の完了を下の同期バーで待ち合わせてから、再び分岐点へ戻るループ構造になっている。したがってAの後、BとCが同期を取りながら並行実行される組が繰り返される。
出典:平成29年度 春期 応用情報技術者試験 午前 問6(IPA)
次の流れ図の処理で,終了時のxに格納されているものはどれか。ここで,与えられたa,bは正の整数であり,mod(x,y)はxをyで割った余りを返す。
正解:aとbの最大公約数
要点:剰余を繰り返して余り0で止める処理は最大公約数を求める
xをyで割った余りをtとし、x←y、y←tを繰り返してy=0で止める処理は、ユークリッドの互除法そのものである。終了時のxには、a と b の最大公約数が残る。
出典:平成29年度 春期 応用情報技術者試験 午前 問48(IPA)
流れ図において,分岐網羅を満たし,かつ,条件網羅を満たすテストデータの組みはどれか。
正解:(x=1,y=2) と (x=0,y=1) と (x=0,y=2)
要点:分岐網羅は判定の真偽、条件網羅は各条件の真偽を通すこと
分岐網羅は各判定が真になる場合と偽になる場合を通すこと、条件網羅は判定を構成する個々の条件が真と偽の両方を取ることを求める。三つのデータを使うと、一つ目の判定が真と偽の両方を通り、二つ目の判定も真と偽を通り、さらに三つの条件それぞれが真・偽の両方の値を取る組合せになっている。
出典:令和2年度 10月試験 応用情報技術者試験 午前 問47(IPA)
次の流れ図において、①→②→③→⑤→②→③→④→②→⑥の順に実行させるために、①においてmとnに与えるべき初期値aとbの関係はどれか。ここで、a, bはともに正…
正解:3a=2b
要点:減算型ユークリッド法の経路を式に直して初期値の関係を求める
この流れ図は減算による最大公約数の手続きで、大きいほうから小さいほうを引く操作を繰り返す。指定された経路は「m<nで1回、m>nで1回引いた後に一致」を意味する。m=a、n=bとすると、まずn=b-a、次にm=a-(b-a)=2a-bとなり、これがb-aと等しいので2a-b=b-a、すなわち3a=2bとなる。
出典:令和3年度 秋期 応用情報技術者試験 午前 問47(IPA)解説で登場
UMLにおける振る舞い図の説明のうち、アクティビティ図のものはどれか。
正解:ある振る舞いから次の振る舞いへの制御の流れを表現する。
要点:アクティビティ図は処理の制御の流れを表す振る舞い図
アクティビティ図は、処理や振る舞いの流れを開始から終了まで順に表し、分岐や並行処理も記述できるUMLの振る舞い図である。従来のフローチャートに近い形で業務手順やアルゴリズムの制御の流れを表現するのに向く。他の振る舞い図との役割の違いを押さえておきたい。
出典・参考
公式シラバスの7 システム戦略 > 2. 業務プロセス > (1) 業務プロセスの改善と問題解決に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。