Pseudocode ist, wie der Name schon sagt, kein echter Code, sondern sieht aus wie Code. Es hilft den Menschen, eine Problemdomäne oder -lösung besser zu verstehen, ohne das gesamte Gepäck hinzufügen zu müssen, das für die Verwendung einer echten Sprache erforderlich ist.
Kurz gesagt: Es wird nur zu Illustrationszwecken verwendet.
Pseudocode und Programmierung
Es gibt keine Definition oder feste Regel für Pseudocode. Sie kann jedes Mal anders sein. Es ist keine (echte) Programmiersprache, und niemand wird sie für eine halten. Es kann nicht kompiliert oder als echte Programmiersprache verwendet werden. Wenn Sie dies tun könnten, wäre es kein Pseudocode mehr. Pseudocode muss nicht deterministisch sein (eine Notwendigkeit für die Kompilierung von Computern), sondern muss vom Menschen verstanden werden. Um Pseudocode zu verwenden, müssen Sie ihn in Ihre bevorzugte Programmiersprache konvertieren. Dieser Umwandlungsprozess kann jedes Mal anders sein und es können keine Regeln dafür angegeben werden, da Pseudocode wiederum wie freie Rede ist: Er kann jede Form annehmen.
Verwendung
Diese Methode wird häufig verwendet, insbesondere in der Entwurfsphase von Projekten, um einen bestimmten Ansatz für ein Problem zu verstehen. Es wird auch häufig im Algorithmus-Design verwendet oder wenn Lehrer etwas an die Tafel zeichnen. In all diesen Fällen ist es nicht notwendig, den Code zu kompilieren, Sie möchten nur das Problem / die Lösung verstehen.
Arten von Pseudocodes
Pseudocodes können, müssen aber nicht von einer bestimmten Art sein, dh Sie können einen stapelbasierten Pseudocode zur Veranschaulichung von MSIL verwenden, Sie können einen zwingenden Pseudocode zur Veranschaulichung von Java, C #, C ++, Python und anderen verwenden kann einen funktionalen Pseudocode haben, um F #, Haskell, SQL usw. zu veranschaulichen.
Beispiele
Von oben, aber alles geht, denn Pseudocode kann vor Ort erfunden werden:
XML-Pseudocode mit einer Kopf-Körper-Struktur, die mehrere p-Elemente zulässt:
<head ...
<title ...
</
<body ...>
(<p>...)+
</
Imperativer Pseudocode, der das Diamantenproblem in Sprachen zeigt, die Mehrfachvererbung unterstützen:
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?
Die obigen zwei Beispiele ähneln offensichtlich einer (Art von) Sprache, sind aber nicht wirklich diese Sprache und können möglicherweise nicht kompiliert werden. Sie veranschaulichen eher etwas, das Sie erklären möchten.