PDF形式でダウンロードPDF形式でダウンロード

擬似コードの書き方を知りたいと思ったことはありませんか?擬似コードとは、段階的に書いたコードのアウトラインで、自分の使うプログラミング言語に書き換えることができます。つまり、正式なプログラミング構文ではなく、コードの流れをわかりやすい言葉で書いたものだということです。多くのプログラマーは、実際のコードを書く前に疑似コードを使ってアルゴリズムのロジックを考えます。この記事では、コンピュータプログラムの擬似コード文書の書き方を紹介します。

知っておくべきこと

  • 疑似コードは、プログラムの設計やロジックのトラブルシューティングに役立ちます。
  • シンプルなプレーンテキストエディタ、あるいは紙とペンを使って疑似コードを書きましょう。
  • プログラム内のロジックの各行にステートメントを書きましょう。
パート 1
パート 1 の 3:

擬似コードの基本

PDF形式でダウンロード
  1. How.com.vn 日本語: Step 1 なぜ疑似コードが有用なのかを理解する 
    擬似コードを使えば、アルゴリズムがどのように機能するかを示すことができます。プログラマーは、設計の初期段階と実際の実行コードを書く段階の間のプログラミングの中間段階として、擬似コードを使うことがよくあります。擬似コードの他の用途としては、以下のようなものがあります。
    • アルゴリズムがどのように機能するかを記述する:擬似コードを使えば、特定の構成や機構、技法がプログラムのどこに現れるか、あるいは現れなければならないかを示すことができます。
    • 技術的な知識の少ないユーザーに処理の流れを説明する:コンピュータがプログラムを実行するには非常に厳密な入力構文が必要ですが、人間(特に非プログラマー)にとっては、コードの各行の目的を明確にした、より流動的で主観的な言語の方が理解しやすいかもしれません。
    • 集団でコードを設計する:シニアソフトウェアアーキテクト(設計者)は、プログラマーが遭遇する複雑な問題の解決に役立てるために、擬似コードを設計に組み込むことがよくあります。他のプログラマーと一緒にプログラムを開発するのであれば、擬似コードが自分の意図を明確にするのに役立つかもしれません。

    疑似コードは、プログラミング上の問題を解決するための手引きであり、自分の考えを他の人に説明するためのコミュニケーション手段でもあります。

  2. How.com.vn 日本語: Step 2 擬似コードは主観的で特殊なものであることに注意する 
    疑似コードに絶対に使わなければならない決まった構文やルールはありませんが、他のプログラマーが理解しやすい基本的なプログラミング構文を使うことは、プロとしての礼儀です。[1]ただし、自分一人でプロジェクトをコーディングするのであれば、「疑似コードは自分の考えを整理し、計画を実行に移すのに役立つ」ということが最も重要なことです。
    • 同僚やジュニアプログラマー、技術者以外の協力者など、他の人と一緒にプロジェクトを進めるのであれば、他の人に意図を簡単に理解してもらえるように、少なくともある程度の基本的なプログラミング構文を使う必要があります。
    • 大学やプログラミング合宿、企業でプログラミング講座を受講している場合は、教わった疑似コードの「基本」でテストを受けることになるでしょう。この「基本」は、機関や講師によって異なることがよくあります。

    疑似コードの主な目的は「明確にすること」であり、一般的なプログラミング仕様に従って作業を進めるのであれば、疑似コードは役に立つかもしれません。擬似コードを実際のコードにするには、それをプログラミング言語に書き換える必要があるので、このことを念頭に置いてアウトラインを構成するとよいでしょう。

  3. How.com.vn 日本語: Step 3 疑似コードの主な目的に重点を置く 
    疑似コードを書けば、実際のコードを書くのは簡単です。擬似コードの目的、つまりそのプログラムの各行が何をするものなのかを説明することを忘れないようにしましょう。そうすれば、地に足をつけながら擬似コード文書を作成できます。
    広告
パート 2
パート 2 の 3:

良い疑似コードの書き方

PDF形式でダウンロード
  1. How.com.vn 日本語: Step 1 プレーンテキストエディタを使う 
    ワードプロセッサ(Microsoft Wordなど)または同様のソフトウェアを使ってリッチテキスト文書を作成したくなるかもしれませんが、擬似コードはできるだけ書式設定を少なくしてシンプルに保つ必要があります。
    • 紙とペンを使って擬似コードを書くこともできます。さまざまな形式を試してみて、自分のプログラミング制作に合ったものを見つけましょう。

    プレーンテキストエディタには、「メモ帳」(Windows)や「テキストエディット」(Mac)などがあります。

  2. How.com.vn 日本語: Step 2 まずは処理の目的を書く 
    冒頭に1,2行を割いてコードの目的を説明すると、文書の残りの部分を構成するのに役立ちますし、疑似コードを見せる相手にプログラムの機能を説明する手間を省くこともできます。
  3. How.com.vn 日本語: Step 3 1行に1つのステートメントしか書かない 
    擬似コードの各ステートメントは、コンピュータに対する1つの操作のみを表したものとなります。ほとんどの場合、タスクリストが適切に書かれていれば、各タスクがそれぞれ1行の疑似コードに対応します。タスクリストを書き出し、そのリストを擬似コードに書き換え、その擬似コードを徐々に実際のコンピュータが読めるコードにしていくようにしましょう。
  4. How.com.vn 日本語: Step 4 ホワイトスペースとインデントを効果的に使う 
    テキストの「ブロック」間にホワイトスペースを入れることで、擬似コードの各種構成要素を分離できます。また、各ブロックの諸々をインデントすることで、それらのコード部分がインデントの少ないセクションの中にあることがわかるようになります。
    • 例えば、数値の入力について説明しているセクションはすべて同じ「ブロック」、次のセクション(出力について説明しているセクションなど)は別のブロックとなります。
  5. How.com.vn 日本語: Step 5 必要に応じて主要なコマンドを大文字にする 
    疑似コードの要件や疑似コードを共有する環境によっては、実際のコードに残すコマンドを大文字にする必要があるかもしれません。
    • 例えば、擬似コードの中で「if」コマンドと「then」コマンドを使っている場合は、「IF」と「THEN」に書き換えるとよいでしょう(例:「IF<条件>THEN<出力結果>」)。
  6. How.com.vn 日本語: Step 6 簡単な用語を使って書く 
    コードそのものを要約するのではなく、そのプロジェクトが何をするものなのかについて書くものだということを忘れないようにしましょう。これは、コードの書き方を知らない人向けのデモンストレーションとして疑似コードを書く場合や、初心者プログラマー向けのプロジェクトとして疑似コードを書く場合に特に重要です。

    プログラミングコマンドを一切排除して、各行の処理をわかりやすい言葉で定義するだけでもよいかもしれません。例えば、「入力が奇数なら「Y」を出力する」は「ユーザーが奇数を入力したら「Y」を表示する」となります。

  7. How.com.vn 日本語: Step 7 擬似コードを適切な順序に並べておく 
    擬似コードの書き換えに使う言語はシンプルなものですが、それでも擬似コードの各部分は実行すべき順序に並べておく必要があります。
    • こうすることで、コードがトップダウンで実行されるため、実際のコードが書きやすくなります。
  8. How.com.vn 日本語: Step 8 すべてを完全に記述する 
    その処理で起こることはすべて完全に記述しなければなりません。疑似コードのステートメントは、簡単な日本語の文に近いものです。擬似コードでは通常変数を使いませんが、その代わりに変数や口座番号、名前、取引金額などのデータをプログラムがどのように扱うかを記述します。[2]
  9. How.com.vn 日本語: Step 9 プログラミングの基本構文を使う 
    たとえ擬似コードに「基本」というものが存在しなくても、既存の逐次プログラミング言語の構文を使えば、他のプログラマーに工程を理解してもらいやすくなります。「if」、「then」、「while」、「else」、「loop」といった用語は、自分の好きなプログラミング言語と同じように使いましょう。以下の構文を例に説明します。
    • if 条件 then 命令:これは、ある条件が真である場合にのみ、ある命令が実行されることを意味します。この例の場合、「命令」はプログラムが行う操作を意味し、「条件」はプログラムが操作を行う前に、データがある一定の条件を満たさなければならないことを意味します。[3]
    • while 条件 do 命令:これは、条件が真でなくなるまで命令を何度も繰り返すことを意味します。[4]
    • do 命令 while 条件:これは、「while 条件 do 命令」と非常によく似ています。「while 条件 do 命令」の場合は、命令が実行される前に条件がチェックされますが、「do 命令 while 条件」の場合は、命令が最初に実行されます。つまり、「do 命令 while 条件」の場合は、「命令」が少なくとも1回は実行されるということです。
    • function 名前 (引数): 命令:これは、コード内で特定の関数名が使われるたびに、それが特定の命令の省略形であることを意味します。「引数」は、命令を明確にするための変数のリストです。
  10. How.com.vn 日本語: Step 10 擬似コードのセクションを整理する 
    同じブロック内に他のコードを定義した大量のコードがある場合は、括弧などの識別子を使ってすべてをまとめておいた方がよいでしょう。
    • 角括弧(例:[コード])と波括弧(例:{コード})は、セグメントの長くなったコードをまとめるのに役立ちます。
    • コーディングの際、「//」を入力することで、その右側にコメントを追加できます(例://これは、仮の工程です)。疑似コードを書くときも同じ方法で、コードに当てはまらないメモ書きをコメントとして残すことができます。
  11. How.com.vn 日本語: Step 11 擬似コードが読みやすく、明瞭であるかどうかをもう一度確認する 
    文書を書き終えるまでに、以下の質問に答えられるようにしましょう。
    • その擬似コードは、その処理に詳しくない人でも理解できますか?
    • その擬似コードは、コンピュータ言語に書き換えやすいように書かれていますか?
    • その擬似コードは、処理全体を抜け漏れなく記述していますか?
    • その擬似コードで使われているすべてのオブジェクト名は、対象となる読者にはっきりとわかるようになっていますか?
    • 擬似コードのセクションに詳細な説明が必要であったり、他の人が忘れてしまいそうな工程が明示されていなかったりした場合は、そのセクションに戻って必要な情報を追加しましょう。
    広告
パート 3
パート 3 の 3:

擬似コード文書の作成例

PDF形式でダウンロード
  1. How.com.vn 日本語: Step 1 プレーンテキストエディタを開く 
    新しいプレーンテキストエディタをインストールしたくない場合は、デフォルトのプレーンテキストエディタである「メモ帳」(Windows)または「テキストエディット」(Mac)を使いましょう。
  2. How.com.vn 日本語: Step 2 プログラムを定義する 
    必須ではありませんが、文書の冒頭に1,2文書くことで、プログラムの目的を最初から明確にできます。
    このプログラムは、ユーザーに挨拶を求めるプログラムです。挨拶が特定の返事と一致すればその返事を行い、一致しなければ拒否を行います。
  3. How.com.vn 日本語: Step 3 最初のステートメントを書く 
    最初のコマンド(プログラムが実行されたときに最初に行うこと)は、最初の行に書くものです。
    挨拶を出力"おや、お久しぶりですね"
  4. How.com.vn 日本語: Step 4 次の行を追加する 
    Enterキーを押して改行し、次の行のコードを書きます。次の例では、ユーザーがダイアログの次の行を呼び出す必要があります。
    プロンプトを出力"Enter"を押して続行する<ユーザーが"Enter"を押す>
  5. How.com.vn 日本語: Step 5 コールトゥアクションを追加する 
    次の例では、ユーザーに挨拶を求めるメッセージが表示されます。
    コールトゥアクションを出力"ご機嫌いかがですか?"
  6. How.com.vn 日本語: Step 6 ユーザーに返事のリストを表示する 
    次の例では、先ほど Enterキーを押したことで、ユーザーに選択可能な返事のリストが表示されるはずです。
    選択可能な返事を表示"1. 元気だよ。""2. すごく良いよ!""3. あまり良くないな。"
  7. How.com.vn 日本語: Step 7 ユーザーに入力を求める 
    ここで、プログラムはユーザーに返事の入力を求めます。
    入力を求めるメッセージを表示"最も当てはまる番号を入力してください:"
  8. How.com.vn 日本語: Step 8 ユーザーの入力に対する「if」コマンドを作成する 
    ユーザーが選択できる返事は複数あるので、ユーザーが選択した返事に基づいて複数の結果を追加するとよいでしょう。
    if "1"返事を出力"良好!"if "2"返事を出力"素晴らしい!"if "3"返事を出力"元気出して!"
  9. How.com.vn 日本語: Step 9 エラーメッセージを追加する 
    ユーザーが間違った返事を選択したときのために、エラーメッセージを用意しておきましょう。
    if 入力が認識できない返事を出力"あまり指示に従ってくれないんですね?"
  10. How.com.vn 日本語: Step 10 プログラムのその他の構成要素を追加する 
    文書に目を通し、詳細を加えたり肉付けをしたりして、自分と文書を読む人の両方がその意味を理解できるようにしましょう。この方法の例に従うと、最終的な擬似コード文書は以下のようになるはずです。
    このプログラムは、ユーザーに挨拶を求めるプログラムです。挨拶が特定の返事と一致すればその返事を行い、一致しなければ拒否を行います。挨拶を出力"おや、お久しぶりですね!"プロンプトを出力"Enter"を押して続行する<ユーザーが"Enter"を押す>コールトゥアクションを出力"ご機嫌いかがですか?"選択可能な返事を表示"1. 元気だよ。""2. すごく良いよ!""3. あまり良くないな。"入力を求めるメッセージを表示"最も当てはまる番号を入力してください:"if "1"返事を出力"良好!"if "2"返事を出力"素晴らしい!"if "3"返事を出力"元気出して!"if 入力を認識できない返事を出力"あまり指示に従ってくれないんですね?"
  11. How.com.vn 日本語: Step 11 文書を保存する 
    Ctrl+S(Windows)または Command+S(Mac)キーを押し、名前を入力し、保存をクリックします。
    広告

ポイント

  • 疑似コードは、数百から数千行にも及ぶ複雑なプログラムに最適です。
広告

注意事項

  • 疑似コードは、プログラムを作成するときに実際のコードと置き換えることはできません。疑似コードは、そのコードが何をするものなのかの参考としてのみ使うことができます。
広告

このHow.com.vn記事について

How.com.vn 日本語: How.com.vn編集チーム
共著者 ::
How.com.vnスタッフライター
この記事は、経験豊富なHow.com.vnの編集者と調査員から成るチームによって執筆されています。調査員チームは内容の正確性と網羅性を確認しています。

How.com.vnのコンテンツ管理チームは、編集チームが編集した記事を細心の注意を払って精査し、すべての記事がHow.com.vnの高品質基準を満たしているかどうかを確認しています。 この記事は1,809回アクセスされました。
カテゴリ: コンピューター
このページは 1,809 回アクセスされました。

この記事は役に立ちましたか?

⚠️ Disclaimer:

Content from Wiki How 日本語 language website. Text is available under the Creative Commons Attribution-Share Alike License; additional terms may apply.
Wiki How does not encourage the violation of any laws, and cannot be responsible for any violations of such laws, should you link to this domain, or use, reproduce, or republish the information contained herein.

Notices:
  • - A few of these subjects are frequently censored by educational, governmental, corporate, parental and other filtering schemes.
  • - Some articles may contain names, images, artworks or descriptions of events that some cultures restrict access to
  • - Please note: Wiki How does not give you opinion about the law, or advice about medical. If you need specific advice (for example, medical, legal, financial or risk management), please seek a professional who is licensed or knowledgeable in that area.
  • - Readers should not judge the importance of topics based on their coverage on Wiki How, nor think a topic is important just because it is the subject of a Wiki article.

広告