Le pseudocode n'est pas, comme son nom l'indique, du vrai code, mais il ressemble à du code. Il aide les gens à mieux comprendre un domaine ou une solution à un problème sans avoir à ajouter tous les bagages nécessaires lors de l'utilisation d'une vraie langue.
En bref: il est utilisé uniquement à des fins d'illustration.
Pseudocode et programmation
Il n'y a pas de définition ou de règle fixe de pseudocode, il peut être différent à chaque fois. Ce n'est pas un (vrai) langage de programmation et personne ne le considérera comme tel. Il ne peut pas être compilé ou utilisé comme un véritable langage de programmation: si vous pouviez le faire, il cesserait d'être un pseudocode. Le pseudocode n'a pas besoin d'être déterministe (une nécessité pour les ordinateurs de compiler), il doit plutôt être compris par les humains. Pour utiliser le pseudocode, vous devrez le convertir dans votre langage de programmation préféré. Ce processus de conversion peut être différent à chaque fois et aucune règle ne peut être donnée car, encore une fois, le pseudocode est comme la liberté d'expression: il peut prendre n'importe quelle forme.
Utilisations
Il est couramment utilisé, en particulier dans la phase de conception des projets pour aider à comprendre une certaine approche d'un problème. Il est également couramment utilisé dans la conception d'algorithmes ou lorsque les enseignants dessinent quelque chose au tableau. Dans tous ces cas, il n'est pas nécessaire de compiler le code, vous voulez juste comprendre le problème / la solution.
Types de pseudocode Le
pseudocode peut être, mais ne doit pas nécessairement être d'un certain type, c'est-à-dire que vous pouvez avoir un pseudocode basé sur la pile pour illustrer MSIL, vous pouvez avoir un pseudocode impératif pour illustrer Java, C #, C ++, Python, vous peut avoir un pseudocode fonctionnel pour illustrer F #, Haskell, SQL etc.
Exemples
Du haut de ma tête, mais tout se passe, car le pseudocode peut être inventé sur place:
Pseudocode XML, montrant une structure tête + corps qui permet plusieurs éléments p:
<head ...
<title ...
</
<body ...>
(<p>...)+
</
Pseudocode impératif, montrant le problème du diamant dans les langues qui prennent en charge l'héritage multiple:
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?
Les deux exemples ci-dessus ressemblent évidemment à un (type de) langage, mais ne sont pas vraiment ce langage et ne peuvent pas être compilés. Ils illustrent plutôt quelque chose que vous voulez expliquer.