Псевдокод, як випливає з назви, не є реальним кодом, але виглядає як код. Це допомагає людям краще зрозуміти проблемну область або рішення, не потребуючи додавання всього необхідного багажу під час використання справжньої мови.
Якщо коротко: він використовується лише в ілюстративних цілях.
Псевдокод і програмування
Немає визначення чи фіксованого правила псевдокоду, воно може бути різним щоразу. Це не (справжня) мова програмування, і ніхто її не вважатиме. Вона не може бути складена або використана як реальна мова програмування: якщо ви могли це зробити, вона перестає бути псевдокодом. Псевдокод не повинен бути детермінованим (необхідність компіляції комп'ютерів), його потрібно зрозуміти людям. Щоб використовувати псевдокод, вам доведеться перетворити його на улюблену мову програмування. Цей процес перетворення може бути різним кожен раз, і для нього не можна давати жодних правил, оскільки, знову ж таки, псевдокод схожий на вільну мову: він може приймати будь-яку форму.
Використання
Це зазвичай використовується, особливо на етапі розробки проектів, щоб допомогти зрозуміти певний підхід до проблеми. Він також часто використовується в розробці алгоритмів, або коли вчителі щось малюють на дошці. У всіх цих випадках не потрібно складати код, ви просто хочете зрозуміти проблему / рішення.
Типи псевдокоду
Псевдокод може бути, але не повинен бути певного типу, тобто, ви можете мати псевдокод на основі стека для ілюстрації MSIL, ви можете мати імперативний псевдокод для ілюстрації Java, C #, C ++, Python, ви може мати функціональний псевдокод для ілюстрації F #, Haskell, SQL тощо
Приклади
Зверху в голові, але все що завгодно, бо псевдокод можна винайти на місці:
Псевдокод XML, що показує голову + структуру тіла, яка дозволяє мати декілька p-елементів:
<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?
Наведені вище приклади, очевидно, нагадують певну (тип) мову, але насправді не є цією мовою і неможливо компілювати. Вони швидше ілюструють щось, що ви хочете пояснити.