Руководство по написанию псевдокода для начинающих

1
1499
views

Перевод статьи «How to write Pseudocode: A beginner’s guide».

Зачем вообще писать псевдокод?

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

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

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

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

Есть ли альтернатива написанию псевдокода?

Да, есть и другие варианты. Вы можете пользоваться диаграммами UML, блок-схемами, а также языком ДРАКОН. Все это может быть использовано с теми же целями, но потребует больше ресурсов по сравнению с псевдокодом.

Операторы

Операторы это инструкции, предписывающие компьютеру выполнить определенное действие.

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

Математические операторы

Математические операторы — неотъемлемая часть разработки решения. Они позволяют нам производить различные манипуляции с хранимыми значениями. Вот как используются распространенные математические символы:

Присваивание: ← или :=
Пример: c ← 2πr, c := 2πr  
Сравнение: =, ≠, <, >, ≤, ≥
Арифметические действия: +, −, ×, /, mod
Пол/потолок: ⌊, ⌋, ⌈, ⌉
Пример: a ←    ⌊b⌋    + ⌈c⌉
Логические: and, or
Сумма, произведение: Σ Π
Пример: h ←    Σa∈A    1/a 

Ключевые слова

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

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

START: это начало вашего псевдокода.
INPUT: это данные, полученные от пользователя (путем ввода на клавиатуре или через устройство ввода).
READ / GET: это input, используемый при чтении данных из файла.
PRINT, DISPLAY, SHOW: Вывод вашего output на экран или соответствующее устройство вывода.
COMPUTE, CALCULATE, DETERMINE: Эти слова используются для вычисления результата выражения.
SET, INIT: используются для инициализации значений.
INCREMENT, BUMP: используются для увеличения значения переменной.
DECREMENT: используется для уменьшения значения переменной. 

Условия

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

Вот некоторые распространенные условия, используемые в псевдокоде:

IF — ELSE IF — ELSE

При помощи этих слов указывается, что инструкции должны быть выполнены при соблюдении определенных условий. (Сами слова в буквальном переводе означают IF — «если», ELSE IF — «еще если», ELSE — «в противном случае», THEN — «тогда, в таком случае», — прим. перев.). Условий при этом может быть несколько, как и переменных.

Вот if-блок с одним условием:

IF вы счастливы
    THEN улыбайтесь
ENDIF 

Вот if-блок с разделом else. ELSE позволяет запустить выполнение каких-то инструкций, если первое условие, заданное при помощи IF, не соблюдено.

IF вы счастливы THEN
     улыбайтесь
ELSE
     хмурьтесь
ENDIF 

Мы можем добавлять дополнительные условия для выполнения разных инструкций.

IF вы счастливы THEN
     улыбайтесь
ELSE IF вам грустно
     хмурьтесь
ELSE
     сохраняйте обычное выражение лица
ENDIF 

CASE

Case-структуры используются, если нужно проверить одну переменную на совпадение с несколькими условиями.

INPUT цвет
CASE цвет —
     красный: PRINT "красный"
     зеленый: PRINT "зеленый"
     синий: PRINT "синий"
OTHERS
     PRINT "Пожалуйста, введите значение цвета"
ENDCASE 

Вариант OTHERS опционален. Условия обычно бывают в виде чисел или букв.

Итерации

«Итерировать» означает повторять набор инструкций, чтобы получить последовательность результатов (для достижения какой-то цели).

Структура FOR

Цикл FOR принимает группу элементов и запускает код в цикле для каждого отдельного элемента.

FOR каждый месяц года
     Вычислить количество дней
ENDFOR 

Структура WHILE

Цикл WHILE похож на цикл FOR. Но цикл FOR это способ повторять блок кода до того момента, как определенное условие станет истиной. В отличие от цикла FOR, цикл WHILE длится, пока какое-то условие является истиной.

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

PRECONDITION: переменная X равна 1
WHILE Население < Ограничение
     Compute Население as Население + Рождения - Смерти
ENDWHILE 

Функции

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

Function очисти монитор
   Pass In: ничего
   Укажи операционной системе очистить монитор
   Pass Out: ничего
Endfunction 

Чтобы имитировать вызов функции в псевдокоде, используется ключевое слово Call.

call: очисти монитор

Обертывание программ

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

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

PROGRAM сделайчашкучая
END

Обработка исключений

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

BEGIN 
     инструкции 
EXCEPTION 
     WHEN тип исключения
         инструкции для обработки исключения
     WHEN другой тип исключения
         инструкции для обработки исключения
END

Заключение

Для написания псевдокода нет каких-то технических правил. Главное — писать псевдокод так, чтобы людям было легко его читать, а ход программы был понятен.

Есть различные руководства по написанию псевдокода, более специфичного для какого-то определенного языка программирования. Например, есть правила стиля псевдокода для языков Fortran, Pascal, C, Basic.

1 КОММЕНТАРИЙ

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

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here