アルゴリズムの表現│フローチャート・アクティビティ図・状態遷移図を解説【情報Ⅰ】

アルゴリズムの表現│フローチャート・アクティビティ図・状態遷移図を解説【情報Ⅰ】

アルゴリズムは、問題を解決するための手順を明確に表したものです。

情報Ⅰでは、このアルゴリズムを正しく理解し、他者に伝えるための「表現方法」を学びます。

特に、制御構造や図による表現は、プログラミングや問題解決の基礎として重要です。

本記事では、アルゴリズムの基本から、代表的な表現方法までを体系的に整理します。

目次

アルゴリズムとは何か

アルゴリズムの意味

アルゴリズムとは、問題を解決するための具体的で明確な手順のことです。

情報Ⅰでは、コンピュータに処理をさせるための手順として扱います。

つまり、「何をどの順番で行うか」を論理的に整理したものがアルゴリズムです。

アルゴリズムを表現する目的

アルゴリズムを表現する目的は、次の通りです。

  • 処理の流れを明確にするため
  • 他者と共有できるようにするため
  • 誤りや抜けを発見しやすくするため

アルゴリズムは、考えるだけでなく「見える形」にすることが重要です。

制御構造とは何か

アルゴリズムは、基本的に3つの制御構造で構成されます。

これは、どのようなプログラムでも共通する基本的な考え方です。

順次構造

順次構造とは、処理を上から順番に実行していく構造です。

  • 手順通りに処理が進む
  • 分岐や繰り返しは含まれない

例として、次のような処理があります。

  • 挨拶を表示する
  • 今日の天気を表示する
順次構造

分岐構造

分岐構造とは、条件によって処理が分かれる構造です。

  • 条件が真か偽かで処理が変わる
  • 「もし〜ならば」という形で表現される

例としては次の通りです。

  • 点数が60点以上なら合格
  • それ以外は不合格
分岐構造

反復構造

反復構造とは、同じ処理を繰り返す構造です。

  • 条件を満たすまで繰り返す
  • 一定回数繰り返す

例としては次の通りです。

  • 挨拶を30回表示する
反復構造

アルゴリズムを図で表す方法

アルゴリズムは、文章だけでなく図で表すことで理解しやすくなります。

ここでは代表的な3つの図を扱います。以下では、フローチャート、アクティビティ図、状態遷移図を挙げますが、アルゴリズムの表現方法は他にも存在します。

フローチャート

フローチャート

フローチャートは、処理の流れを図で表したものです。フローチャートは、上の表のような記号を用いて表します。

特徴は次の通りです。

  • 処理の順序が矢印で示される
  • 条件分岐や繰り返しを表現できる
  • 記号(開始、処理、判断など)を使う

上のフローチャートの例は、電圧が3Vより高い場合には高電圧、電圧が3V以下の場合には低電圧と判定し、この判定結果を表示するアルゴリズムを表現したものです。

フローチャートは、アルゴリズムの基本的な表現方法として広く用いられます。

私が携わっている業務では、最も多く使用されているのがフローチャートです。

フローチャートの記号は、JISで定義されていますが、会社や業界ごとに微妙に形状が異なっていたりします。

アクティビティ図

アクティビティ図は、処理の流れや作業の手順を表す図です。アクティビティ図は、上の表のような記号を用いて表します。

特徴は次の通りです。

  • フローチャートに似ている
  • 並行処理(同時に進む処理)も表せる
  • UMLという統一された表記法に基づく

上のアクティビティ図の例は、人によって入力されたID・パスワードが正しいかどうかを認証し、この認証結果を表示装置に表示することで、認証結果を人に認識させるアルゴリズムを表現したものです。

複雑な処理や業務の流れを表す際に有効です。

状態遷移図

状態遷移図は、状態の変化を中心に表す図です。状態遷移図は、上の表のような記号を用いて表します。

特徴は次の通りです。

  • 「状態」と「変化」を表す
  • 入力や条件によって状態が変わる
  • システムの動作を表現するのに適している

上の状態遷移図の例は、信号機の色の変化のアルゴリズムを表現したものです。

状態遷移図は、信号機や自動販売機などの動作の表現に使われます。

フローチャートやアクティビティ図に比べると、覚える記号が少なくて楽です。

また、複雑な条件分岐などを表現しなくていい場合が多く、比較的簡易にアルゴリズムを表すことができます。

アルゴリズムの表現で注意したい点

条件の書き方を曖昧にしない

条件は必ず明確に書きます。

  • 「高い」ではなく「60点以上」など具体的にする

処理の順序を明確にする

順序が曖昧だと、正しく動作しません。

  • 実行される順番を意識する

図の目的に合った表現を選ぶ

すべてを同じ図で表す必要はありません。

  • 内容に応じて適切な図を選ぶことが重要です

確認問題

【問題1】アルゴリズムとは何か、最も適切なものを選びなさい。
1. コンピュータの部品の名称
2. 問題を解決するための手順
3. データの保存方法
4. ネットワークの仕組み

【問題2】次のうち、制御構造に含まれないものはどれか。
1. 順次構造
2. 分岐構造
3. 反復構造
4. 並列構造

【問題3】次の処理はどの制御構造に当てはまるか答えなさい。

「テストの点数が60点以上なら合格、そうでなければ不合格と表示する」

答え:【問題1】2 【問題2】4 【問題3】分岐構造

まとめ

アルゴリズムは、問題解決の手順を明確にしたものです。

その基本は、順次構造、分岐構造、反復構造の3つです。

また、フローチャートやアクティビティ図、状態遷移図などを用いることで、処理の内容を分かりやすく表現できます。

目的に応じて適切な表現方法を選び、論理的に整理する力が重要です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次