アルゴリズムの表現|順次・分岐・反復とフローチャート・アクティビティ図

公開 2026年11月8日

**アルゴリズム**は、問題を解決するための手順です。プログラムは、アルゴリズムをプログラミング言語で書いたものです。共通テストでは、問題文で説明された手順を正しく読み取り、自分で実行してみる力が繰り返し問われます。

アルゴリズムとは

アルゴリズムは、次の条件を満たす手順です。

料理のレシピも、手順が明確なら一種のアルゴリズムです。

3つの基本構造

どんなアルゴリズムも、次の3つの組合せで表せます。

構造 内容 例
順次 上から順に処理する 材料を切る → 炒める → 盛り付ける
分岐(選択) 条件によって処理を変える 点数が60点以上なら「合格」、そうでなければ「不合格」
反復(繰り返し) 条件を満たす間、同じ処理を繰り返す 全員分の点数を足し終わるまで、1人ずつ足す

プログラムでは、分岐を条件分岐、反復を繰り返しで書きます(「変数・条件分岐・繰り返し」)。

アルゴリズムを図で表す

フローチャート(流れ図)

記号の形 意味
角の丸い長方形(端子) 開始・終了
長方形(処理) 計算や代入などの処理
ひし形(判断) 条件による分岐(Yes / No)
上下の辺が斜めの台形(ループ端) 繰り返しの始まりと終わり
平行四辺形(データ) データの入力・出力

アクティビティ図

UMLという表記法の一つで、処理の流れを表します。黒丸(開始)から始まり、角の丸い四角(アクション)を矢印でつなぎ、ひし形で分岐・合流し、二重丸(終了)で終わります。共通テストの試作問題などでも使われています。

状態遷移図

「待機中」「再生中」「一時停止」のような状態と、ボタンを押すなどの**きっかけ(イベント)**で状態が移り変わる様子を表す図です。自動販売機や信号機の動きを表すのに向いています。

手順を手で実行する

共通テストでは、問題文で説明された手順を自分で実行して表にまとめる問題がよく出ます。

例: 次の手順で、数の並び 5, 3, 8, 6 の最大値を求める。

  1. 最初の数を「最大」とする
  2. 次の数が「最大」より大きければ、「最大」をその数にする
  3. すべての数を調べ終わるまで、2を繰り返す
調べる数 比較 「最大」
5 (最初の数) 5
3 3 > 5 ではない 5
8 8 > 5 8
6 6 > 8 ではない 8

答えは 8 です。表にすると、途中の状態が一目で分かり、計算ミスを防げます。

本試験の例

どれも、手順を表で実行 → 規則を見つける → プログラムにするという流れでした。

アルゴリズムの効率

同じ結果が得られるアルゴリズムでも、処理の回数(速さ)が違うことがあります。

例: 1から n までの和を求める

方法 計算の回数 n = 100 のとき
1, 2, 3, … と順に足していく n 回の足し算 100回
公式 n × (n + 1) ÷ 2 を使う 掛け算1回・足し算1回・割り算1回 3回

データの探索でも、線形探索は最大 n 回、二分探索は最大約 log2n 回と、データが増えるほど大きな差が出ます(「探索と整列」)。

共通テストでの出題

よくある間違い

まとめ

確認問題

問題を準備しています…

この分野が出た過去問

関連する用語