C言語のアルゴリズムとフローチャートとは?基礎をわかりやすく解説
アルゴリズムとは、問題を解決するために役立つ、段階的に実行される手順のことです。この手順を英語のような文章形式で記述したものを「疑似コード(PSEUDO CODE)」と呼びます。
アルゴリズムが満たすべき5つの特性
正しいアルゴリズムには、以下の5つの特性が備わっている必要があります。
- 入力(Input)
- 出力(Output)
- 有限性(Finiteness)
- 明確性(Definiteness)
- 有効性(Effectiveness)
アルゴリズムの例
3つの数値の平均を求めるアルゴリズムは、以下のように記述できます。
- 開始する
- 3つの数値 a、b、c を読み込む
- 合計 = a + b + c を計算する
- 平均 = 合計 ÷ 3 を計算する
- 平均値を出力する
- 終了する
フローチャートとは
アルゴリズムを図式(ダイアグラム)で表現したものをフローチャートと呼びます。処理の流れを視覚的に把握できるため、プログラム設計の際に非常に役立ちます。
フローチャートで使用される主な記号
フローチャートでは、用途に応じて決まった記号が使われます。主な記号とその意味は以下のとおりです。
| 名称 | 記号の形状 | 用途 |
|---|---|---|
| 端子(ターミネータ) | 楕円形 | 開始・停止・始まり・終わりを表す |
| 入出力 | 平行四辺形 | データの入力・出力を表す |
| 処理 | 長方形 | 実行するあらゆる処理を表す |
| 判断 | ひし形(ダイヤモンド) | 条件を評価し、どちらの経路に進むかを決める判断操作を表す |
| コネクタ | 円形 | フローチャート内の異なる部分を接続する |
| フロー線 | 矢印 | 2つの記号を結び、処理の実行順序(流れ)を表す |
| 事前定義済みプロセス | 両側に二重線のある長方形 | 別の場所で定義されたモジュールやサブルーチンを表す |
| ページコネクタ | 五角形 | 異なるページ間のフローチャートを接続する |
| forループ記号 | 六角形 | ループ変数の初期化・条件・増分を表す |
| ドキュメント | 印刷用紙の形状 | 印刷準備が整ったデータを表す |
フローチャートの例
以下は、3つの数値の平均を求める処理をフローチャートで表現したものです。

-
C言語の型変換入門:暗黙的変換と明示的変換(キャスト)の違いを徹底解説
あるデータ型を別のデータ型へ変換することを「型変換(type conversion)」と呼びます。C言語における型変換には、主に以下の2種類があります。 暗黙的な型変換(implicit conversion) 明示的な型変換(explicit conversion) 暗黙的な型変換とは 演算対象(オペランド)同士のデータ型が異なる場合、コンパイラが自動的に行う型変換です。 プログラマが特に指示しなくても、小さいデータ型から大きいデータ型への変換が自動的に実行されます。これを「型の昇格」とも呼びます。 int i,x; float f; double d; long int l;
-
アルゴリズムとフローチャートの違いとは?特徴と具体例を徹底解説
プログラミングやシステム設計の現場でよく耳にする「アルゴリズム」と「フローチャート」。どちらも問題解決に欠かせない重要な概念ですが、それぞれの役割や特性は大きく異なります。この記事では、両者の違いを具体例とともにわかりやすく解説します。 アルゴリズムとは アルゴリズムとは、明確に定義された手順の連なりとして定義されます。これらの手順は、目の前の問題を解決するための方法を提供するものであり、処理が段階的に定義された、体系的かつ論理的なアプローチです。 主な特徴 特定の問題に対する解決策を提示する。 解決策は機械語に変換され、システムが実行することで適切な出力が得られる。 多くの単純な操作を組み
楕円形
平行四辺形
長方形
ひし形(ダイヤモンド)
円形
矢印
両側に二重線のある長方形
五角形
六角形
印刷用紙の形状