擬似言語とフローチャートの違いとは?図に描き起こして理解する方法

公開日: 2026-09-24

擬似言語のコードを読んでいると、途中でどこを実行しているのか分からなくなる。

文字を目で追っているうちに、流れを見失っていませんか?

そんなときに役立つのが、フローチャートです。処理の流れを図にすると、文字だけでは見えにくかった分かれ道や繰り返しが、形としてはっきり見えてきます。

この記事では、擬似言語とフローチャートの違いを整理したうえで、コードを図に描き起こす方法をお伝えします。文法の説明ではなく、同じ処理を二つの形で見比べて理解する練習です。

私はエンジニアとして10年以上、Webシステムの開発や運用に携わってきました。複雑な処理を作る前や、他人の書いたコードを読み解くとき、私はいまでも紙に簡単な流れ図を描きます。

頭の中だけで追うより、図にしたほうが見落としに早く気づけるからです。この習慣は、試験のコードを読むときにもそのまま使えます。

擬似言語とフローチャートは、同じ手順の別の書き方

まず、二つの関係を押さえておきましょう。擬似言語もフローチャートも、処理の手順を表すための道具です。

違いは、手順を文章で書くか、図で描くかにあります。中身が同じなら、擬似言語で書いた処理はフローチャートに、フローチャートで描いた処理は擬似言語に置き換えられます。

それぞれの特徴を表で比べてみます。

観点 擬似言語 フローチャート
表し方 文章に近いコード 記号と矢印の図
得意なこと 細かい計算や条件を正確に書く 処理の流れや分岐を一目で見せる
苦手なこと 全体の流れが見えにくい 長い処理だと図が大きくなりすぎる
科目Bでの扱い 問題文のコードとして出題される 自分で描いて理解の補助に使う

表の一番下が、この記事で大事にしたいところです。科目Bで出題されるのは擬似言語ですが、フローチャートは自分の理解を助ける道具として使えます。

擬似言語そのものがまだあいまいな人は、先に基本を確認しておくと話が入りやすくなります。

【関連記事】擬似言語とは?IT初心者にもわかる意味・書き方・プログラミングとの違いをやさしく解説

フローチャートでよく使う記号

フローチャートには、決まった形の記号があります。すべてを覚える必要はなく、よく使うものだけ押さえておけば十分です。

擬似言語との対応が分かるように、主な記号を表にまとめました。

記号の形 名前 意味 擬似言語で対応するもの
角の丸い長方形 端子 処理の始まりと終わり 関数の宣言、return
長方形 処理 計算や代入 ← を使った代入
ひし形 判断 条件による分かれ道 if、while の条件
上下で対になる六角形 ループ端 繰り返しの始まりと終わり for と endfor
平行四辺形 データ 入力や出力 引数、出力する値

こうして並べると、擬似言語の一つひとつの行が、どれかの記号に当てはまることが分かります。この対応が頭に入ると、コードを図に変えるのがぐっと楽になります。

図にすると見えやすくなるもの

フローチャートの強みは、流れの形が見えることです。特に、条件で分かれる場所と、処理が戻ってくる場所がはっきりします。

擬似言語では、if の中にさらに if があったり、ループの中で分岐したりすると、字下げだけが頼りになります。字下げを一段読み違えるだけで、処理の順番がまったく変わってしまいます。

図にすれば、分かれた矢印がどこで合流するのか、どこへ戻っていくのかが線で見えます。文字で迷う人ほど、図の効果を実感しやすいはずです。

擬似言語のコードをフローチャートに描き起こす手順

ここからは、実際にコードを図に変えてみましょう。いきなり全体を描こうとせず、順番を決めて進めるのがコツです。

描き起こしの手順を表にしておきます。

手順 やること 見る場所
1 始まりと終わりの端子を置く 関数の宣言と return
2 最初の代入を処理の箱にする 変数の宣言と初期値
3 繰り返しの範囲を決める for や while の行と、その終わり
4 分岐をひし形にする if の条件
5 矢印で順番をつなぐ 字下げの深さ

最初に外枠を決め、次に繰り返し、最後に分岐という順で描くと、図が崩れにくくなります。細かい計算は後から箱に書き足せば十分です。

例題のコードを用意する

例として、配列の中から最大値を探す関数を使います。科目Bでもよく土台になる、短くて形の分かりやすい処理です。

○整数型: findMax(整数型の配列: data)
  整数型: max ← data[1]
  整数型: i
  for (i を 2 から dataの要素数 まで 1 ずつ増やす)
    if (data[i] が max より大きい)
      max ← data[i]
    endif
  endfor
  return max

max に最初の要素を入れておき、2番目以降の要素と順に比べていきます。今見ている要素のほうが大きければ、max を置き換えるという流れです。

図に描くとこうなる

このコードを、手順どおりにフローチャートへ描き起こしてみます。ここでは文字で図の形を表しています。

      ( 開始 )
         |
   [ max ← data[1] ]
         |
  / i を 2 から要素数まで \   ← ループ端(始まり)
         |
   < data[i] > max ? >
     はい |      | いいえ
         |      |
 [ max ← data[i] ]  |
         |      |
         +------+
         |
  \ i を 1 増やして戻る /   ← ループ端(終わり)
         |
   ( return max )

ひし形のところで道が二つに分かれ、少し下で合流しているのが分かるでしょうか。擬似言語の if と endif が、図ではこの分かれ道と合流点になっています。

ループ端の終わりから始まりへ戻る流れも、図にすると意識しやすくなります。紙に描くときは、戻りの矢印を実際に線で描いておくと、繰り返しの範囲がひと目で分かります。

while はひし形と戻り矢印で描く

for はループ端の記号で描けますが、while の場合はひし形を使うと分かりやすくなります。条件を判断して、満たしていれば中の処理へ進み、満たさなければループの外へ抜けるという形です。

たとえば、1から順に足していき、合計が20を超えたところで止まる処理を考えてみます。

整数型: total ← 0
整数型: n ← 0
while (total が 20 以下)
  n ← n + 1
  total ← total + n
endwhile

これを図にすると、ひし形から下へ伸びる道と、外へ抜ける道の二本ができます。中の処理を終えたら、矢印はもう一度ひし形の上に戻ってきます。

この戻り矢印を描いてみると、条件を確かめるのは毎回ループの先頭だということがはっきりします。最後に n がいくつで止まるのかも、図の上で一周ずつ指でたどると間違えにくくなります。

図と表を組み合わせて、値の動きまで追う

フローチャートで流れの形をつかんだら、次は値の動きを追います。流れは図で、値はトレース表で、と役割を分けるのが効率的です。

先ほどの findMax に、data として {5, 2, 9, 4} を渡した場合を追ってみましょう。

i data[i] data[i] > max か max
開始時 ― ― 5
2 2 いいえ 5
3 9 はい 9
4 4 いいえ 9

戻り値は9です。図のひし形で、はいの道を通ったのは i が3のときだけだと分かります。

このように、図を見ながら表を埋めると、今どの矢印の上にいるのかを見失いません。トレース表の書き方をもっと詳しく知りたい人は、こちらの記事が参考になります。

【関連記事】擬似言語のトレース表の書き方|科目Bで変数の値を追う手順を解説

描き起こしでつまずきやすいところ

慣れないうちは、図にするときに同じところで迷いやすいものです。よくあるつまずきを表にまとめておきます。

つまずき 起きること 対処のしかた
endif の位置を読み違える 合流点がずれて、処理の順番が変わる 字下げの深さを指でなぞって確かめる
ループの戻り先を描き忘れる 1回しか実行しないように見える ループ端を先に上下とも置いておく
初期値を図に入れない 最初の比較の相手が分からなくなる 宣言の行も必ず処理の箱にする
何もかも図にしようとする 図が大きくなり、かえって読めなくなる 分からない部分だけを描く

特に最後のつまずきは、真面目な人ほど陥りがちです。フローチャートは理解のための道具なので、すべてを清書する必要はありません。

科目Bでフローチャートを使うときのコツ

ここまで読んで、本番でも図を描いたほうがいいのか気になった人もいるのではないでしょうか。結論から言うと、本番で毎回きれいな図を描く必要はありません。

科目Bは1問にかけられる時間が限られています。図は練習のときにしっかり使い、本番では迷ったところだけ小さく描く、という使い分けが現実的です。

練習では、最初の数問を図にしてみる

練習の段階では、解いた問題のコードを一度フローチャートに描き直してみてください。最初は時間がかかりますが、数問続けると、コードを見ただけで図の形が浮かぶようになります。

この状態になれば、本番で図を描かなくても頭の中で流れを追えます。図を描く練習は、図を描かずに読めるようになるための準備だと考えると、取り組みやすくなるはずです。

コードをどの順番で読めばいいかという読み方の技術は、次の記事で詳しく解説しています。図に描き起こす前の下準備として、あわせて読んでみてください。

【関連記事】擬似言語の読み方|1行目から追う前に見るべき3か所を解説

本番では、分岐とループだけを小さく描く

本番で図を使うなら、ひし形とループ端だけを描くくらいで十分です。計算の中身まで書き込むと、時間が足りなくなってしまいます。

分かれ道と戻り道だけを描いておけば、流れを見失ったときに戻る場所ができます。それだけで、途中で頭が真っ白になるのを防ぎやすくなります。

逆の方向の練習も効果があります。自分で簡単なフローチャートを描き、それを擬似言語に書き直してみるのです。

手順を図で考えてからコードにする練習は、アルゴリズムの組み立て方そのものを鍛えてくれます。考え方の練習をもっと知りたい人は、こちらも読んでみてください。

【関連記事】アルゴリズムの考え方がわからない人へ|擬似言語で手順に分解する練習

シミュレーターで図と実行結果を見比べる

自分で描いたフローチャートが正しいかどうかは、実際にコードを動かすと確かめられます。Giji Academy の擬似言語シミュレーターなら、擬似言語のコードを実行して、変数の値がどう変わるかを確認できます。

図で予想した流れと、実行した結果が一致すれば理解は正しいということです。ずれていたら、図のどこで道を間違えたのかを探してみてください。

Giji Academy の擬似言語シミュレーターで試してみる

科目Bの全体像や、擬似言語がどのように出題されるかを改めて整理したい人は、親記事に戻って確認しておくと安心です。

【関連記事】基本情報技術者試験の科目Bとは?擬似言語・アルゴリズム対策を初心者向けに解説

まとめ

擬似言語とフローチャートは、同じ手順を文章で書くか図で描くかの違いです。科目Bで出題されるのは擬似言語ですが、フローチャートは理解を助ける強い味方になります。

この記事の要点を、表で振り返っておきます。

ポイント 内容
両者の関係 同じ処理を、文章と図の二つの形で表したもの
描き起こしの順番 端子、初期値、ループ、分岐、矢印の順に描く
役割の分担 流れはフローチャートで、値の動きはトレース表で追う
本番での使い方 迷ったところだけ、分岐とループを小さく描く

文字だけで読むのが苦しいと感じたら、一度ペンを持って図にしてみてください。形が見えた瞬間に、それまで読めなかったコードがすっと頭に入ってくるはずです。

焦らず一問ずつ、図とコードを行き来しながら練習していきましょう。

擬似言語の基礎から応用まで学べる
Giji Academy

Giji Academyでは、擬似言語の基礎からアーキテクチャなどの応用的な内容まで幅広く学べます。
また、ブラウザ上で直接擬似言語コードを試すことができ、実践的なスキルを身につけることが可能です。

Giji Academy の学習画面。左に教材、右にシミュレーター 擬似言語の学習を始める

擬似言語の学習をここから始めよう。