擬似コードは、その名前が示すとおり、実際のコードではありませんが、コードのように見えます。実際の言語を使用するときに必要なすべての荷物を追加することなく、問題のドメインまたはソリューションをよりよく理解するのに役立ちます。
要するに、それは説明目的のためだけに使用されます。
擬似コードとプログラミング擬似コード
の定義や固定ルールはありません。毎回異なる可能性があります。これは(実際の)プログラミング言語ではなく、誰もそれを考慮しません。コンパイルしたり、実際のプログラミング言語として使用したりすることはできません。それができれば、擬似コードではなくなります。擬似コードは決定論的である必要はなく(コンピューターがコンパイルする必要がある)、むしろ人間が理解する必要があります。擬似コードを使用するには、お好みのプログラミング言語に変換する必要があります。この変換プロセスは毎回異なる可能性があります。また、擬似コードは言論の自由のようなものであるため、ルールを指定することはできません。あらゆる形式を取ることができます。
用途
これは、一般的に、特に問題に一定のアプローチを理解するために、プロジェクトの設計段階で、使用されています。また、アルゴリズムの設計や、教師がボードに何かを描くときにもよく使用されます。これらのすべての場合、コードをコンパイルする必要はありません。問題/解決策を理解したいだけです。
擬似
コードの種類擬似コードは可能ですが、特定の種類である必要はありません。つまり、MSILを説明するスタックベースの擬似コードを使用できます。Java、C#、C ++、Pythonを説明する命令型擬似コードを使用できますF#、Haskell、SQLなどを説明する機能的な擬似コードを持つことができます。
例
私の頭の上からですが、その場で擬似コードを発明できるため、何でもあります:
複数のp要素を許可するhead + body構造を示すXML擬似コード:
<head ...
<title ...
</
<body ...>
(<p>...)+
</
多重継承をサポートする言語のダイヤモンドの問題を示す命令型擬似コード:
class A() { readFile(); }
class B() : A {} // overrides readFile in A
class C() : A {} // overrides readFile in A
class D() : B, C {} // what definition of readFile should be used?
上記の2つの例は明らかにいくつかの(タイプの)言語に似ていますが、実際にはその言語ではなく、コンパイルできない可能性があります。むしろ、あなたが説明したいことを説明しています。