Псевдокод (язык описания алгоритмов)
Псевдоко́д — компактный, зачастую неформальный язык описания алгоритмов, использующий ключевые слова императивных языков программирования, но опускающий несущественные для понимания алгоритма подробности и специфический синтаксис. Предназначен для представления алгоритма человеку, а не для компьютерной трансляции и последующего исполнения программы.
Назначение и особенности
Главная цель использования псевдокода — обеспечить понимание алгоритма человеком, сделать описание более воспринимаемым, чем исходный код на языке программирования. Псевдокод широко используется в учебниках и научно-технических публикациях, а также на начальных стадиях разработки компьютерных программ. Блок-схемы и дракон-схемы можно рассматривать как графическую альтернативу псевдокоду.
В отличие от языков программирования, на синтаксис псевдокода не устанавливается стандартов, и автор каждой публикации может применять свой оригинальный псевдокод. На практике авторы обычно заимствуют нужные им конструкции из одного или нескольких широко известных и распространённых языков программирования. Сейчас обычно заимствуют элементы синтаксиса таких языков как Паскаль, Си, Java, в более старых публикациях часто использовался Алгол.
Из псевдокода исключаются технические элементы, такие как описание переменных, системно-зависимый код, операции выделения и освобождения памяти, если только они не являются существенными элементами рассматриваемого алгоритма. Математические выражения часто включаются в псевдокод в том виде, как их принято записывать в математике, а не в языках программирования, а некоторые фрагменты псевдокода могут быть фразами естественного языка (русского, английского и т. д.).
Другие варианты псевдокода
В ряде случаев псевдокодом называют систему команд абстрактной машины, например, P-код, псевдокод вымышленной машины MIX и т. д. В отличие от псевдокода неформального характера, такой псевдокод уже строго формализован, труднее для понимания человеком, но может быть транслирован в работающую программу и запущен в программе-эмуляторе данной гипотетической машины.
Базовые управляющие структуры
Название структуры | Псевдокод |
---|---|
присваивание, ввод, вывод | переменная = 0, ввод (переменная), вывод (переменная) |
ветвление | если условие то (серия1 иначе серия 2) |
цикл ПОКА | пока условие нц серия кц |
Пример программы «Привет, Мир!»
алг ПРИВЕТМИР
нач
вывод ('Привет, Мир!')
конч алг ПРИВЕТМИР
См. также
Примечания
Литература
- А. Б. Борковский, Англо-русский словарь по программированию и информатике (с толкованиями), М.: «Русский язык», 1989.
- Webster’s New Word Dictionary of Computer Terms, 4th Ed, Prentice Hall, 1992.
- Дж. Макконнелл, Основы современных алгоритмов, М.: «Техносфера», 2004, С. 10-11.
- Трофимов М. И., Трофимова М. П. В поисках компьютерного эсперанто // Открытые системы. — 1997. — № 3.
- Pseudocode Guidelines, PDF file.