Спецификации процессов
Спецификации процессов могут быть представлены в виде псевдокодов, блок-схем алгоритмов, Flow-форм, диаграмм Насси-Шнейдермана или просто краткого текстового описания. Наиболее часто используются схемы алгоритмов и псевдокоды.
При структурном программировании различают три вида вычислительного процесса: линейный, разветвленный и циклический:
- линейная структура – выполнение операторов последовательно;
- разветвленная структура – в зависимости от выполнения некоторого условия выполняется та или иная последовательность операторов;
- циклическая структура – многократное выполнение одинаковой последовательности операторов.
1.1. Схемы алгоритмов
Для изображения схем алгоритмов разработан ГОСТ 19.701-90 (см. табл. 1)
Любой, сколь угодно сложный алгоритм, можно представить с использованием трех основных конструкций, которые получили название базовых:
· следование – обозначает последовательное выполнение действий (рис. 1 а);
Таблица 1. Обозначения блоков в схемах алгоритмов программ
| Название | Обозначение | Назначение | ||
| Терминатор |
| Начало, завершение программы или подпрограммы | ||
| Процесс |
| Обработка данных (вычисления, пересылки и т. п.) | ||
| Данные |
| Операции ввода-вывода | ||
| Решение |
| Ветвление, выбор, поисковые и итерационные циклы | ||
| Подготовка |
| Счетные циклы | ||
| Граница цикла |
| Любые циклы | ||
| Предопределенный процесс |
| Вызов процедур | ||
| Соединитель |
| Маркировка разрывов линий | ||
| Комментарий |
| Пояснения к операциям |
· ветвление – соответствует выбору одного из двух вариантов действий (рис. 1, б);
· цикл-пока – определяет повторение действий, пока не будет нарушено некоторое условие, выполнение которого проверяется в начале цикла (рис. 1, в).

Рис 1. Базовые алгоритмические структуры:
а - следование; б - ветвление; в - цикл-пока
Помимо базовых, процедурные языки программирования высокого уровня обычно используют еще три конструкции, которые можно составить из базовых:
· выбор – обозначает выбор одного варианта из нескольких в зависимости от значения некоторой величины (рис. 2, а);
· цикл-до – обозначает повторение некоторых действий до выполнения заданного условия, проверка которого осуществляется после выполнения действий в цикле (рис. 2, б);
· цикл с заданным числом повторений (счетный цикл) – обозначает повторение некоторых действий указанное количество раз (рис. 2, в).
Любая из дополнительных конструкций легко реализуется с помощью базовых. Перечисленные шесть конструкций были положены в основу структурного программирования.

Рис. 2. Дополнительные структуры алгоритмов:
а - выбор; б - цикл-до; в - цикл с заданным числом повторений
Пример схемы алгоритма с использованием базовых и дополнительных алгоритмических структур приведен на рис. 3:

Рис. 3. Пример схемы алгоритма поиска максимального элемента массива
1.2. Псевдокоды.
Псевдокод – формализованное текстовое описание алгоритма (текстовая нотация). В литературе были предложены несколько вариантов псевдокодов. Один из них приведен в табл. 2.
Таблица 2 Псевдокоды
| Структура | Псевдокод | Структура | Псевдокод |
| Следование | <Действие1> <Действие2> | Выбор | Выбор <код> <код1>:<Действие1> <код2>: <Действие2> … Все-выбор |
| Ветвление | Если <Условие> то <Действие1> иначе <Действие2> Все-если | Цикл с заданным количеством повторений | Для<индекс> = <n>,<k>,<h> <Действие> Все-цикл |
| Цикл-пока | Цикл-пока <Условие> <Действие> Все-цикл | Цикл-до | Выполнять <Действие> До <Условие> |
Пример алгоритма поиска нужных значений, записанного псевдокодом: