「アルゴリズム」という言葉を聞いたことはありますか?SNSのレコメンドから料理のレシピまで、私たちの生活のあらゆる場面に「アルゴリズム」は存在します。
情報Iで必須の概念であり、共通テストでも頻出テーマです。プログラミングの基礎でもあるアルゴリズムを、図解で理解しましょう。
この記事で学べること:
- アルゴリズムの定義と3つの基本構造
- フローチャートの読み方・書き方
- 共通テストでよく問われるアルゴリズムのパターン
本記事は、株式会社数強塾代表・藤原進之介が監修しています。
アルゴリズムとは何か
定義
アルゴリズム(algorithm)とは、ある問題を解くための「手順の集まり」です。料理のレシピ、数学の解き方、コンピュータのプログラム——すべてアルゴリズムの一種と言えます。
アルゴリズムが「良い」とされるためには次の3条件が必要です。
- 有限性:有限の手順で終わること
- 明確性:各手順が曖昧でないこと
- 効果性:実行可能な手順で構成されていること
3つの基本構造とフローチャート
どんなアルゴリズムも、次の3つの基本構造の組み合わせで表せます。
【アルゴリズムの3つの基本構造】
① 順次構造(じゅんじこうぞう):処理を上から順番に実行する
例:STEP1 → STEP2 → STEP3
② 選択構造(せんたくこうぞう):条件によって処理を分岐させる
例:もし x > 0 なら「正の数」と表示、そうでなければ「0以下」と表示
③ 反復構造(はんぷくこうぞう):条件が満たされる間(または指定回数)処理を繰り返す
例:i = 1 から 10 まで、「i × i」を計算して表示する
フローチャートは、これら3つの構造を図形(長方形・菱形・矢印)で表したものです。
フローチャートの主な記号:
- 長方形(□):処理(計算・代入など)
- 菱形(◇):条件判断(はい / いいえで分岐)
- 角丸長方形:開始・終了
- 矢印:処理の流れの方向
よくある誤解——「プログラミングができればアルゴリズムはわかる」は不十分
アルゴリズムとプログラミングは別物です。アルゴリズムは「何をするか」の設計、プログラミングは「どう書くか」の実装です。共通テスト情報Iでは、特定のプログラミング言語の知識より、アルゴリズムの論理を読み解く力が問われます。
数学との接続
アルゴリズムと数学は深くつながっています。
- 反復構造(for文)と等差数列・等比数列の計算は同じ構造を持つ
- 二分探索アルゴリズムは「対数(log)」と深く関係する
- ソートアルゴリズムの計算量は「nlogn」などで表され、数学的に分析できる
共通テスト対策のポイント
共通テスト情報Iのアルゴリズム問題でよく出るパターン:
- フローチャートのトレース:変数の値を追いながら最終結果を求める
- 欠けた処理を埋める:空欄にどんな処理が入るか選ぶ
- 擬似コードの読解:特定の言語に依存しない疑似コードを読む
練習は「手を動かしてトレースする」ことが最も効果的です。頭の中だけで追わず、紙に変数の値を書き出しながら確認しましょう。
まとめ
- アルゴリズムは問題を解く手順の集まり——有限・明確・効果的であることが条件
- 3つの基本構造(順次・選択・反復)の組み合わせで表せる
- 共通テストではフローチャートのトレースが頻出——紙に書いて練習する
学習をさらに深めるために
情報I・AI・データの「仕組み」を理解したい方へ|情報ラボ
AIのアルゴリズム、情報の真偽判断、データ分析の手順——。情報Iで学ぶ内容は、現代を生きるための読解力そのものです。「仕組みを知らずに使っている」状態から、「仕組みを理解した上で使う」状態へ。情報ラボは、そのための場所です。
情報Iを体系的に学びたい方へ|KADOKAWA刊『藤原進之介のゼロから始める情報I』
「どこから勉強すれば良いかわからない」という声に応えて作った参考書です。2進数・暗号・アルゴリズム・データ分析を、ゼロから順に、なぜそうなるのかを丁寧に解説しています。共通テスト対策はもちろん、情報の「仕組み」を本当に理解したい方にお勧めします。
情報I・AIをさらに学ぶためのサイト
免責事項
本記事は教育目的の情報です。運営:株式会社数強塾 / 監修:藤原進之介

コメント