忍者ブログ

プログラミングの練習

プログラミングの問題やプログラミング関連知識、ソフトウェアのテストについてのブログです

【プログラミング基礎】アルゴリズム表現の共通言語「疑似コード(Pseudocode)」の読み方・書き方ガイド

アルゴリズムの解説書や基本情報技術者試験などでよく使われる「疑似コード(Pseudocode)」の書き方・読み方の基本ガイドです。

特定のプログラミング言語に依存せず、処理のロジックを直感的に表現するための共通文法を分かりやすくまとめました。





1. 入出力と関数の宣言

アルゴリズムの前提条件(入力)と、最終的に得られる結果(出力)を明記するための記述です。


  • Input / Output / return

    Input: 〇〇     // 入力や関数の引数などを記述

    Output: 〇〇    // 出力や関数の返り値を記述



    return 値       // 関数の返り値として、値を返す



2. 制御構造(繰り返し・条件分岐)

処理の流れ(ループや分岐)を構造化して表現します。


  • ① for文(指定回数の繰り返し)

    for 変数 = 値1 to 値2 do

        処理

    end for
    変数の値を「値1」から「値2」まで、1ずつ増やしながら処理を実行します。

  • ② while文(条件を満たす間の繰り返し)

    while 条件 do

        処理

    end while
    条件が「真(True)」の間、処理を実行し続けます。

  • ③ if文(条件分岐)

    if 条件 then

        処理1

    else

        処理2

    end if
    条件が真ならば「処理1」を、偽(False)ならば「処理2」を実行します。



3. 演算子とデータ構造

代入、比較、論理演算、および配列の参照方法です。


  • 代入・比較・論理演算・配列

    # 代入演算

    変数 = 値              // 変数に値を代入



    # 比較演算

    値1 == 値2            // 値1と値2が等しければ真、異なれば偽

    値1 != 値2            // 値1と値2が等しくなければ真、等しければ偽



    # 論理演算

    条件1 and 条件2       // 条件1と条件2がともに真のとき真(AND)

    条件1 or 条件2        // 条件1または条件2のいずれかが真のとき真(OR)



    # 配列構造

    配列名[添字]           // 配列の指定された添字(インデックス)番目の要素を参照



4. 補足:疑似コードを実際のプログラムに落とし込む例


【疑似コードを使ったアルゴリズム例(配列の合計値を求める)】

文法例を組み合わせて作成したサンプル疑似コードです。



Input: 配列 A, 要素数 N

Output: 合計値 total



total = 0

for i = 0 to N - 1 do

    total = total + A[i]

end for

return total


■ 疑似コードを使うメリット

Python、Java、C言語など、言語ごとに異なる文法差異を気にせず、「アルゴリズムの本質的なロジック(解法手順)」だけに集中して設計・共有できるのが最大の強みです。



5. まとめ


  • ・基本構文:for / while による繰り返しと if ... else による条件分岐を明示する。

    ・終了タグ:end for や end if でスコープの終わりを明確にする。

    ・演算と参照:== や != で比較し、配列名[添字] で要素を取り出す。

アルゴリズムを学ぶ際やアイデアをコードに落とし込む前の整理に、ぜひ疑似コードを活用してみましょう!


PR