Warning: session_name(): Cannot change session name when session is active in /home/stalko/rodina-ru.com/docs/dokuwiki/inc/init.php on line 231

Warning: session_set_cookie_params(): Cannot change session cookie parameters when session is active in /home/stalko/rodina-ru.com/docs/dokuwiki/inc/init.php on line 232
======Псевдокод (язык описания алгоритмов)====== **Псевдоко́д** — компактный (зачастую неформальный) язык описания [[алгоритм|алгоритмов]], использующий ключевые слова [[императивное-программирование|императивных]] [[язык-программирования|языков программирования]], но опускающий несущественные подробности и специфический синтаксис. Псевдокод обычно опускает детали, несущественные для понимания алгоритма человеком. Такими несущественными деталями могут быть описания переменных, системно-зависимый код и подпрограммы. Главная цель использования псевдокода — обеспечить понимание алгоритма человеком, сделать описание более воспринимаемым, чем [[исходный-код|исходный код]] на языке программирования. Псевдокод широко используется в учебниках и научно-технических публикациях, а также на начальных стадиях разработки [[компьютерная-программа|компьютерных программ]]. [[блок-схема|Блок-схемы]] и [[дракон|дракон-схемы]] можно рассматривать как графическую альтернативу псевдокоду. В отличие от стандартизации синтаксиса языков программирования, на синтаксис псевдокода обычно не устанавливается стандартов, так как последний непосредственно не компилируется в исполняемую программу. Поэтому можно сказать, что обычно автор каждой публикации применяет свой оригинальный псевдокод, однако чтобы быть максимально понятным читателям, авторы публикаций содержащих псевдокод, как правило, заимствуют нужные им конструкции из какого-либо языка программирования. Зачастую источником псевдокода служат несколько языков, и таким образом псевдокод часто не содержит специфических признаков конкретного языка программирования. Кроме того, математические выражения часто включаются в псевдокод в том виде, как их принято записывать в математике, а не в языках программирования, а некоторые фрагменты псевдокода могут быть фразами естественного языка (русского, английского и т. д.). Однако при этом конструкции некоторых языков программирования чаще используются для псевдокода. Так, например, очень часто используется синтаксис, похожий на синтаксис языка [[паскаль-язык-программирования-|Паскаль]]. Это объясняется тем, что Паскаль создавался как язык, ориентированный на задачи обучения программированию, и поэтому синтаксис этого языка особенно приспособлен для восприятия человеком. Часто используются и другие языки: [[си-язык-программирования-|Си]], [[алгол|Алгол]], [[фортран|Фортран]] и другие. Их использование можно объяснить как личными симпатиями автора, так и распространенностью на момент написания публикации. В случае русскоязычных публикаций в качестве псевдокода часто используется перевод ключевых слов языков программирования с английского на русский. Такой подход практикуется, в частности, в учебниках по информатике. На практике же программист может выбирать язык, который максимально подробно описывает то, что ему нужно //точно// получить от машины, чтобы избежать разногласий с заказчиком. В ряде случаев псевдокодом называют систему команд абстрактной машины, например, [[p-код|P-код]], псевдокод вымышленной машины [[mix|MIX]] и т. д. В отличие от псевдокода неформального характера, такой псевдокод уже строго формализован, труднее для понимания человеком, но может быть [[транслятор|транслирован]] в работающую программу и запущен в [[эмуляция|программе-эмуляторе]] данной гипотетической машины. =====Базовые управляющие структуры===== {| ! Название структуры ! Псевдокод |- | присваивание, ввод, вывод | переменная = 0, ввод (переменная), вывод (переменная) |- | ветвление | __если__ условие __то__ (серия1 __иначе__ серия 2) |- | цикл ПОКА | __пока__ условие __нц__ серия __кц__ |} ====Пример программы «Здравствуй, Мир!»====
__алг__ ЗДРАВСТВУЙМИР\\ __нач__\\ вывод ('Здравствуй, Мир!')\\ __кон__ __алг__ ЗДРАВСТВУЙМИР
=====См. также===== * [[алгоритмический-язык|Алгоритмический язык]] =====Литература===== * А. Б. Борковский, Англо-русский словарь по программированию и информатике (с толкованиями), М.: «Русский язык», 1989. * Webster’s New Word Dictionary of Computer Terms, 4th Ed, Prentice Hall, 1992. * Дж. Макконелл, Основы современных алгоритмов, М.: «Техносфера», 2004, С. 10-11. * //Трофимов М. И., Трофимова М. П.// [[http://www.osp.ru/os/1997/03/179161/|В поисках компьютерного эсперанто]] // Открытые системы. — 1997. — № 3. * [[http://www.cs.cornell.edu/Courses/cs482/2003su/handouts/pseudocode.pdf|Pseudocode Guidelines]], PDF file. \\
{{tag>Алгоритмы "Компьютерные языки"}}