fancyのブログ

EdrawSoft日本向けの広報担当者です。Edraw Max紹介や作図ソフトのおすすめとか、ダイアグラム作成方法とか、仕事の効率を向上させるいいコツなど発表していきたいと思います。創造力を活かし、より視覚的に

アルゴリズムとフローチャート

アルゴリズムとフローチャートは、プログラムのプロセスを図解する2つのツールです。このページでは、アルゴリズムの基本事項、アルゴリズムフローチャートの違い、アルゴリズムを視覚的に説明するためのフローチャートの書き方について説明します。
アルゴリズムフローチャートは、特にコンピュータプログラミングでプログラムを作成するためによく使用される2つの手法です。アルゴリズムとは、「問題を解決する考え方」です。フローチャートとはアルゴリズムを図式に表現して、広く普及している代表的な記法です。このため、アルゴリズムを説明する前に、フローチャートについて簡単に説明しなければならないのです。
 
フローチャートは、プロセスまたはプログラムを示すために、基本処理の長方形、条件分岐処理の菱形、流れの矢印など標準記号を組み合わせて、さらに矢印の助けを借りて、アルゴリズムを記述する図式な表現です。 フローチャートを介して、データの流れ、アルゴリズムやプロセス、プログラムを一見して理解することができます。フローチャートの作成は、定義されたルールに従って、JIS規格で定められている標準記号を使用することも必要です。フローチャート標準記号には以下のようなものがあります:
  • 端子 - プログラムの始まり及び終わりを表す。

  f:id:edrawfancy:20170608105624p:plain

  • 処理 - 計算、代入などの処理を示す。

  f:id:edrawfancy:20170608105645p:plain

  • 判断 - 菱形で表現され、条件による分岐を表す。

  f:id:edrawfancy:20170608105706p:plain

  • サブルーチン - 定義済み処理とも言えます。

  f:id:edrawfancy:20170608105721p:plain

  f:id:edrawfancy:20170608105730p:plain

 
アルゴリズムとは、問題を解決するための論理的な段階的な方法を書くことであり、「算法」とも呼ばれます。アルゴリズムはコンピューターのプログラミングによく用いられるけど、それに限ったことではありません。数学、言語学、さらに生活における様々なことにおいても、問題や課題を解くための図式な表現として広く活用されます。アルゴリズムには、計算、推論、及びデータ処理が含まれます。アルゴリズムの記述手法と言うと、自然言語擬似コードフローチャートプログラミング言語などが考えられます。その中、自然言語表現は冗長であいまいになる傾向があるため、複雑なアルゴリズムや技術的な場面では単独にほとんど使用されません。アルゴリズムを構造的に明確に表現、記述するために広く使われるのは擬似コードフローチャート、及びプログラミング言語です。
 
アルゴリズムの基本構造
アルゴリズムには、構造化プログラミング手法として、普及された基本構造が3つあります。順次処理、分岐処理、反復処理という3つのアルゴリズムの基本構造では、簡単であろうと、複雑であろうと、何のプロセスや手順もフローチャートの形で視覚的に表現してきます。

f:id:edrawfancy:20170608105857p:plain

前が書いたように、フローチャートアルゴリズムを図式に表現する記法です。で、どうやってフローチャートを使ってアルゴリズムを記述しますか。以下のとおり、二つの例で説明させていただきます。
例 1: 1-20を出力する
ステップ 1: 初期値Xを0に設定する。
ステップ 2: Xに1を加算する。
ステップ 3: Xを出力する。
ステップ 4:Xが20未満の場合は、ステップ2に戻る。

f:id:edrawfancy:20170608105806p:plain

例 2: 華氏(℉)から摂氏(℃)に変換する
ステップ 1: 華氏(℉)の温度値を読み込む。
ステップ 2: 公式C = 5/9 *(F-32)で温度値を計算する。
ステップ 3:摂氏(℃)の温度値を出力する

f:id:edrawfancy:20170608105816p:plain

 
Edraw フローチャートソフトにおけるアルゴリズムフローチャートのテンプレートと例を見て、フローチャートアルゴリズムを記述する方法をより明らかにしましょう。

f:id:edrawfancy:20170608105834p:plain

f:id:edrawfancy:20170608105848p:plain

 
まとめ
上記から、フローチャートアルゴリズムの図式表現であり、アルゴリズムフローチャートを用いて表現され、分析されて得るものだという結論に至ることができます。アルゴリズムは最終的な解決に達するようにすべての手順を文字で表現します。それに比べて、フローチャートは標準記号、矢印などを介して各ステップを接続してプロセスをより論理的にします。
さあ、フローチャートソフトをダウンロードして、アルゴリズムを作成しましょう。