Введение
В информатике псевдокод — это описание шагов алгоритма с использованием сочетания общепринятых конструкций языков программирования (таких как оператор присваивания, условный оператор, цикл) и неформальной, как правило, понятной без дополнительных пояснений, записи действий и условий. Хотя псевдокод имеет общие черты с полноценными языками программирования, он предназначен для восприятия человеком, а не для непосредственного исполнения машиной. Псевдокод обычно не содержит деталей, необходимых для машинной реализации алгоритма. Язык программирования дополняется описаниями на естественном языке, где это целесообразно, или компактными математическими обозначениями. Преимущество использования псевдокода заключается в его большей понятности по сравнению с кодом на языке программирования, а также в том, что он представляет собой эффективное и не зависящее от конкретной среды описание основных принципов алгоритма. Он широко используется в учебниках и научных публикациях для документирования алгоритмов, а также при разработке программного обеспечения и других алгоритмов. Строгого стандарта синтаксиса псевдокода не существует, поскольку программа, написанная на псевдокоде, не является исполняемой; однако существуют некоторые ограниченные стандарты (например, для учебных целей). Псевдокод можно сравнить со скелетными программами, которые могут быть скомпилированы без ошибок. Блок-схемы, диаграммы Дракона и диаграммы Унифицированного языка моделирования (UML) можно рассматривать как графические альтернативы псевдокоду, но они требуют больше места для записи. Языки, такие как HAGGIS, сближают псевдокод и код, написанный на языках программирования.
In computer science, pseudocode is a description of the steps in an algorithm using a mix of conventions of programming languages (like assignment operator, conditional operator, loop) with informal, usually self explanatory, notation of actions and conditions. Although pseudocode shares features with regular programming languages, it is intended for human reading rather than machine control. Pseudocode typically omits details that are essential for machine implementation of the algorithm. The programming language is augmented with natural language description details, where convenient, or with compact mathematical notation. The purpose of using pseudocode is that it is easier for people to understand than conventional programming language code, and that it is an efficient and environment independent description of the key principles of an algorithm. It is commonly used in textbooks and scientific publications to document algorithms and in planning of software and other algorithms. No broad standard for pseudocode syntax exists, as a program in pseudocode is not an executable program; however, certain limited standards exist (such as for academic assessment). Pseudocode resembles skeleton programs, which can be compiled without errors. Flowcharts, drakon charts and Unified Modelling Language (UML) charts can be thought of as a graphical alternative to pseudocode, but need more space on paper. Languages such as HAGGIS bridge the gap between pseudocode and code written in programming languages.
Применение
В учебниках и научных публикациях по информатике и вычислительной математике часто используется псевдокод при описании алгоритмов, чтобы они были понятны всем программистам, даже если они не владеют одними и теми же языками программирования. Обычно в учебниках дается вводная часть, объясняющая принятые соглашения. В некоторых случаях уровень детализации псевдокода может приближаться к уровню формализованных языков программирования общего назначения. Программист, которому необходимо реализовать конкретный алгоритм, особенно незнакомый, часто начинает с описания на псевдокоде, а затем "переводит" его на целевой язык программирования и адаптирует для корректного взаимодействия с остальной частью программы. Программисты также могут начать проект с предварительного наброска кода на псевдокоде на бумаге, прежде чем писать его на конкретном языке, используя подход "сверху вниз" и последовательность шагов для последующей доработки. Псевдокод также применяется при разработке стандартов. Например, стандарты MPEG в значительной степени используют псевдокод, формально напоминающий язык C, и их невозможно понять без детального изучения этого кода.
Грамматика естественного языка в языках программирования
Различные попытки привнести элементы грамматики естественного языка в компьютерное программирование привели к появлению таких языков программирования, как HyperTalk, Lingo, AppleScript, SQL, Inform и, в некоторой степени, Python. В этих языках скобки и другие специальные символы заменяются предлогами, что приводит к довольно многословному коду. Эти языки, как правило, динамически типизированы, что означает, что объявления переменных и другой шаблонный код могут быть опущены. Такие языки могут облегчить понимание кода человеку, не знакомому с языком, и, возможно, даже помочь ему в его изучении. Однако сходство с естественным языком обычно скорее внешнее, чем подлинное. Правила синтаксиса могут быть столь же строгими и формальными, как и в традиционном программировании, и не обязательно упрощают разработку программ.