Псевдокод (язык описания алгоритмов)


Псевдоко́д — компактный, зачастую неформальный язык описания алгоритмов, использующий ключевые слова императивных языков программирования, но опускающий несущественные для понимания алгоритма подробности и специфический синтаксис. Предназначен для представления алгоритма человеку, а не для компьютерной трансляции и последующего исполнения программы.

Главная цель использования псевдокода — обеспечить понимание алгоритма человеком, сделать описание более воспринимаемым, чем исходный код на языке программирования. Псевдокод широко используется в учебниках и научно-технических публикациях, а также на начальных стадиях разработки компьютерных программ. Блок-схемы и дракон-схемы можно рассматривать как графическую альтернативу псевдокоду.

В отличие от языков программирования, на синтаксис псевдокода не устанавливается стандартов, и автор каждой публикации может применять свой оригинальный псевдокод. На практике авторы обычно заимствуют нужные им конструкции из одного или нескольких широко известных и распространённых языков программирования. Сейчас обычно заимствуют элементы синтаксиса таких языков как Паскаль, Си, Java, в более старых публикациях часто использовался Алгол.

Из псевдокода исключаются технические элементы, такие как описание переменных, системно-зависимый код, операции выделения и освобождения памяти, если только они не являются существенными элементами рассматриваемого алгоритма. Математические выражения часто включаются в псевдокод в том виде, как их принято записывать в математике, а не в языках программирования, а некоторые фрагменты псевдокода могут быть фразами естественного языка (русского, английского и т. д.).

В ряде случаев псевдокодом называют систему команд абстрактной машины, например, P-код, псевдокод вымышленной машины MIX и т. д. В отличие от псевдокода неформального характера, такой псевдокод уже строго формализован, труднее для понимания человеком, но может быть транслирован в работающую программу и запущен в программе-эмуляторе данной гипотетической машины.