Псевдокод как писать
Перейти к содержимому

Псевдокод как писать

  • автор:

Pseudocode Conventions

This document explains the conventions and common functions used in some of my articles that use pseudocode.

Symbols

In addition to the familiar + , — , * (multiplication), and / (division) operators, other symbols are defined below.

  • pi is the constant π, the ratio of a circle's circumference to its diameter.
  • nothing indicates the absence of a value. It corresponds to null in Java, C#, and JavaScript, nil in Ruby, and None in Python.
  • true and false are the two Boolean values.
  • == means "is equal to".
  • != means "is not equal to".
  • A minus before a variable means 0 minus that variable. For example, -a means (0 — a) .
  • The << operator in the pseudocode is a bitwise left shift, with both sides of the operator being integers. If each side is 0 or greater, it is the same as multiplying the left-hand side by 2 n , where n is the right-hand side.
  • The >> operator in the pseudocode is a bitwise right shift, with both sides of the operator being integers. If each side is 0 or greater, it is the same as dividing the left-hand side by 2 n , where n is the right-hand side, and discarding the fractional part of the result.
  • The | operator in the pseudocode is a bitwise OR operator between two integers. It combines the bits of both integers so that each bit is set in the result if the corresponding bit is set on either or both sides of the operator.

Loops

Pseudocode may use while loops, which are self-explanatory.

Pseudocode may also use for loops, defined as follows:

  • for X in Y. Z; [[Statements]] ; end is shorthand for X = Y; while X < Z; [[Statements]]; X = X + 1; end .
  • for X in Y. Z: [[Single-Statement]] is shorthand for X = Y; while X < Z; [[Single-Statement]]; X = X + 1; end .

Lists and Files

In the pseudocode, lists are indexed starting with 0. That means the first item in the list has index 0, the second item in the list has index 1, and so on, up to the last item, whose index is the list's size minus 1.

In this context, a list is to be understood as a resizable array of items, not as a linked list.

A list can be expressed by wrapping items in brackets; for example, [0, 1, 2] is a three-item list.

Как писать псевдокод?

Для чего он применяется?
Как должен выглядеть и какими качествами должен обладать хороший псевдокод?

vp_arth's user avatar

Псевдокод — это своеобразная смесь кода и естественного языка.

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

Его должно быть легко понять, но в то же время написать хороший псевдокод может быть довольно сложной задачей.

Псевдокод — это попытка сохранить баланс между понятностью естественного языка и точностью кода.

  • Когда мы описываем алгоритм на естественном языке — высокоуровневость абстракций может излишне усложнить как анализ алгоритма, так и его реализацию на конкректном языке программирования.
  • С другой стороны, когда же мы описываем алгоритм на ЯП, нам приходится тратить много времени на описание деталей алгоритма, который возможно не будет нами реализован(ведь обычно мы анализируем алгоритмы до того, как принимаем решение о том, какой будем реализовывать)

Хороший псевдокод должен:

    Быть похож на хороший код и на простой язык.

Игнорировать несущественные подробности
Если вы задумываетесь, где в вашем псевдокоде поставить запятую — вы что-то делаете не так.

Опускать очевидное
Ни к чему, например, указывать очевидные из контекста типы переменных

Учитывать контекст Выражение Отсортировать массив с помощью quicksort — имеет смысл только если не написано в описании алгоритма quicksort.

А самое главное, следите за результатом, за тем как ваш псевдокод работает на практике.
Если вы обнаружили, что ваш коллега не в состоянии разобрать ваш псевдокод, либо перевести его на ЯП — возможно стоит поработать над псевдокодом.

На мобильных устройствах код сверху может некорректно отображаться: там написано a[i]<a[i+1]

«Python, делай Print»: что такое псевдокод и зачем его писать

«Python, делай Print»: что такое псевдокод и зачем его писать главное изображение

Псевдокод — это построчное неформальное описание кода будущей программы. Он полезен, когда нужно:

  • Описать работу алгоритма. С помощью псевдокода можно объяснить, где и как в программе появляется определенная структура, механизм или прием.
  • Объяснить устройство программы пользователям, которые плохо разбираются в разработке. При написании программы используется строгий синтаксис — иначе она не смогла бы правильно работать. Людям, особенно новичкам, проще воспринимать код на более простом и естественном языке, где понятна задача каждой строки.
  • Работать над кодом в команде. Сеньор-разработчики часто используют псевдокод для решения сложных проблем, с которыми сталкиваются мидлы и джуны, или просто чтобы объяснить свои действия.

Псевдокод будет действительно полезен и упростит разработку, если его правильно написать. Разберем основные правила работы с ним.

Описываем цель программы

Писать псевдокод лучше в простом текстовом редакторе, ему не потребуется сложное форматирование.

Сначала нужно обозначить цель кода в одной или двух строках. Краткое описание цели позволяет структурировать документ и объясняет задачи программы каждому читателю псевдокода.

Позднее такой псевдокод будет преобразован в код на языке программирования, что необходимо учитывать при обдумывании его структуры.

Составляя псевдокод, легко забыться и перейти на язык программирования. Чтобы этого не произошло, нужно всегда помнить про задачи псевдокода — объяснять, для чего нужна каждая строка программы.

Используем стандартные конструкции разработки

Хотя единых требований к псевдокоду не существует, проще понять текст, в котором используются конструкции из языков программирования. Команды «если» ( if ), «то» ( then ), «пока» ( while ), «иначе» ( else ) и «цикл» ( loop ) можно применять так же, как и в любом языке программирования. Часто используются следующие конструкции:

  • Если Условие , то Инструкция — инструкция выполняется только при соблюдении условия. Она означает действие, выполняемое программой. Условие формулирует требования, в соответствии с которыми выполняется действие.
  • Пока Условие выполнять Инструкцию — инструкция повторяется многократно, пока выполняется условие. Программа проверяет условие, а затем выполняет инструкцию.
  • Выполнять Инструкцию пока Условие — Эта конструкция похожа на предыдущую, но программа сначала выполняет инструкцию и только потом проверяет условие. Поэтому Инструкция выполняется один раз без проверки условия.
  • Функция Имя (Аргументы): Инструкция — При каждом упоминании в коде указанного имени запускается инструкция. Аргументы обозначают список переменных, которые уточняют инструкцию.

Делаем разделы текста заметнее

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

Каждая строка псевдокода содержит один оператор, который описывает одно действие. Если список задач составлен грамотно, каждая из них соответствует одной строке псевдокода. Полезно составить список задач, написать псевдокод, а затем постепенно преобразовать его в исполняемый код программы.

Используем пустые строки и отступы

Чтобы читать псевдокод было проще, рекомендуем эффективно использовать свободное пространство. Пустые строки позволяют разделить псевдокод на отдельные фрагменты, а отступы — обозначить отношения между этими фрагментами.

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

Для удобства можно сразу выделять ключевые команды заглавными буквами и записывать их на английском языке. В зависимости от требований к псевдокоду или целей его использования, так можно поступать с командами, которые останутся в неизменном виде при переходе на язык программирования.

Если в псевдокоде используются команды «если» и «то», их можно сразу заменить на IF и THEN : « IF ввод числа THEN вывод результата ».

Подробно и последовательно описываем действия программы

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

Каждый этап процесса должен быть подробно описан. Операторы псевдокода похожи на предложения на естественном языке. Обычно в них не используются переменные. Вместо этого псевдокод описывает действия программы с реальными объектами, такими как номера счетов, имена или суммы операций.

Последовательность действий в псевдокоде очень важна. Хотя для пошагового описания лучше использовать простые формулировки, они должны идти именно в том порядке, в котором они выполняются.

Иногда можно отказаться от команд на языке программирования и описать порядок действий на человеческом языке. Вместо «если ввод равен нечетному числу, вывод ‘Y’» можно написать «если пользователь вводит нечетное число, на экране отображается ‘Y’».

Проверяем себя

После завершения работы над документом нужно проверить, насколько он понятен и легко ли читается. Для этого можно задать себе следующие вопросы:

  • Понятен ли псевдокод человеку, который не знаком с процессом?
  • Легко ли будет преобразовать псевдокод в код на вашем языке программирования?
  • Описан ли процесс полностью, с учетом всех деталей?
  • Понятны ли читателям имена всех объектов?

Если какой-то раздел псевдокода не доработан или шаг пропущен, нужно вернуться к тексту и добавить необходимую информацию.

Так выглядит псевдокод — пример нахождения факториала:

Продолжайте учиться: На Хекслете есть несколько больших профессий, интенсивов и треков для джуниоров, мидлов и даже сеньоров: они позволят не только узнать новые технологии, но и прокачать уже существующие навыки

Как написать псевдокод (определение, компоненты и плюсы)

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

В этой статье мы дадим определение псевдокода, рассмотрим его основные конструкции, объясним, как его писать, и приведем пример.

Что такое псевдокод?

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

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

Зачем использовать псевдокод?

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

Программисты часто используют псевдокод в качестве справочника перед написанием реального кода программы. Это позволяет определить оптимальный способ написания алгоритмов и спланировать компоновку большого программного проекта.

Первичные конструкции псевдокода

Чтобы правильно представить алгоритм, псевдокод включает в себя представления нескольких элементов логики программирования, называемых конструкциями. Написание конструкций псевдокода в верхнем регистре может проинформировать читателя о том, что фраза описывает критическое действие для алгоритма. Основные конструкции, которые вы можете использовать в псевдокоде, включают:

SEQUENCE

Последовательность — это порядок выполнения задач в алгоритме. В псевдокоде элементы в серии находятся каждый на последовательных отдельных строках. Все инструкции псевдокода линейны, выполняются по порядку. Некоторые типичные команды, которые программисты используют в псевдокоде, следующие:

IF-THEN-ELSE

IF-THEN-ELSE — это конструкция, описывающая часть алгоритма с двумя возможными исходами. Это условное утверждение, которое включает в себя объяснение того, что произойдет, если одно событие произойдет или не произойдет. Команды IF-THEN-ELSE могут быть разновидностью последовательности, поскольку сначала вы рассматриваете условие, а затем выбираете один результат. Вот пример:

ЕСЛИ возраст пользователя старше 21 года THEN

Отображение приветственного сообщения

Вывести сообщение с отказом

CASE — это конструкция для условных утверждений с несколькими исходами. Это означает в случае. Если IF-THEN-ELSE используется для алгоритмов с двумя возможностями, то CASE — для инструкций с несколькими вариантами. Вы используете псевдокод, чтобы объяснить, что происходит при наступлении каждого результата. Вот пример:

CASE количество сообщений

Меньше 100: отображение значка новичка

101-1000: Отображение промежуточного значка

Более 1000: отображение значка эксперта

FOR — это команда, которая показывает повторяющееся действие или цикл. Вы используете конструкцию FOR для применения инструкций алгоритма к каждому элементу в наборе данных. Чтобы использовать это действие, вы можете определить границы набора данных, например, список чисел. Затем вы можете описать действие, которое вы хотите применить к каждому из этих чисел. Вот пример:

ДЛЯ каждого дня в месяце

Подсчет количества активных ежедневных пользователей

ПОВТОРЯТЬ ДО ТЕХ ПОР, ПОКА

Конструкция REPEAT-UNTIL — это цикл, который продолжается до тех пор, пока не произойдет определенная ситуация. Он похож на FOR, но вместо применения действий к определенному набору данных, он зацикливает действия, пока алгоритм не достигнет цели. Вы можете перечислить последовательность для повторения, а затем объяснить, когда программа ее завершает. Вот пример:

Отправить письмо новым клиентам

UNTIL 1000 ответов

WHILE

WHILE — это элемент цикла, который объясняет границы цикла в начале оператора. REPEAT-UNTIL перечисляет условия цикла в нижней части кода, а WHILE описывает условия в верхней части кода.

При использовании команды WHILE цикл выполняется только в том случае, если указанное вами состояние истинно. Если состояние ложно, программа пропускает цикл. Вот пример:

КОГДА количество ежедневных активных пользователей меньше 100

Еженедельно отправлять электронные письма с напоминаниями

Другие конструкции псевдокода

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

Преимущества псевдокода

Существует несколько преимуществ использования псевдокода в проекте по программированию, в том числе:

Оценка: Написание псевдокода может помочь вам оценить логику алгоритма и решить проблемы, прежде чем тратить время и ресурсы на написание технического кода.

Сотрудничество: Простой язык псевдокода делает его ценным инструментом для объяснения сложных технических деталей членам команды, которые могут иметь мало знаний в области программирования.

Перевод: После того, как вы завершите свой псевдокод, вы можете использовать его как четкий план для перевода каждой строки на язык программирования.

Документация: Сохранение документов псевдокода может помочь вам записать цели проекта, лучшие практики и идеальные результаты проекта.

Недостатки псевдокода

Работа с псевдокодом может быть сопряжена с некоторыми трудностями. Понимание этих вопросов может помочь вам оценить полезность псевдокода в проекте. У каждого человека могут быть свои предпочтения или стиль написания, что затрудняет понимание членов команды.

Создание псевдокода может потребовать времени и планирования, что может задержать написание реального кода. Своевременное планирование проекта и использование последовательной практики псевдокода — это стратегия потенциального преодоления этих трудностей.

Лучшие практики написания псевдокода

Вы можете использовать лучшие практики написания псевдокода, чтобы улучшить его функциональность и читабельность. Вы можете разработать свой стиль написания псевдокода, соблюдая основные правила, чтобы другим было легко интерпретировать ваши кодовые инструкции или работать над алгоритмами. Некоторые правила псевдокода включают:

Записывайте ключевое слово конструкции с большой буквы.

Применяйте одну конструкцию в строке, если только она не используется в паре с конструкцией типа IF-THEN.

Отступы в коде при использовании нескольких конструкций.

Используйте простой язык, описывающий проблему.

Используйте фразу END плюс ключевое слово construct, чтобы показать, что элемент псевдокода завершен, например ENDFOR и ENDWHILE.

Как писать псевдокод

Точный процесс написания псевдокода зависит от цели вашего алгоритма, но он включает в себя одни и те же основные шаги. Вот обзор того, как написать полезный псевдокод, который может стать руководством к успешному программированию:

1. Создайте блок-схему

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

2. Запишите действие

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

3. Установите ограничения

Вы можете использовать конструкции, чтобы установить границы для первого действия в вашей блок-схеме. Ограничения могут помочь вам решить, какой тип последовательности, цикла или условий вам необходим для того, чтобы ваш код функционировал. Например, если ваш алгоритм печатает определенные документы, вы можете использовать конструкцию FOR для объяснения количества напечатанных страниц.

4. Комбинируйте конструкции

Вы можете изменять и комбинировать конструкции для создания собственного псевдокода, описывающего сложные операции. Использование отступов позволяет упорядочить группы конструкций, особенно при вложении одной конструкции в другую.

Например, вы можете начать с конструкции IF-THEN-ELSE, которая указывает алгоритму распечатать тесты учеников. Программа может печатать тесты учеников четвертого класса на синей бумаге, а тесты учеников пятого класса — на зеленой бумаге. Вы можете добавить конструкцию REPEAT-UNTIL, чтобы дать программе указание продолжать печать до тех пор, пока не будет получено 100 тестов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *