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

К основным способам описания алгоритмов можно отнести следующие:

· словесно-формульный (пошаговый);

· структурный или блок-схемный;

· с помощью граф-схем;

· с помощью сетей Петри.

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

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

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

Шаг 1. Ввести три числа a, b, c.

Шаг 2. Вычислить дискриминант Основные способы описания алгоритмов - student2.ru

Шаг 3. Проверить условие: если d<0, то идти на шаг 8, иначе идти на шаг 4.

Шаг 4. Вычислить 1-й корень Основные способы описания алгоритмов - student2.ru

Шаг 5. Вычислить 2-й корень Основные способы описания алгоритмов - student2.ru

Шаг 6. Вывести два числа x1, x2.

Шаг 7. Идти на шаг 9.

Шаг 8. Вывести текст "Уравнение не имеет действительных корней".

Шаг 9. Конец.

Блок-схема – это ориентированный граф, вершины которого могут быть одного из трех типов, представленных на рис. 13.1.

Функциональная вершина используется для представления функции f: X→Y.

Предикатная вершина используется для представления функции (или предиката) p: X→(T, F), то есть логического выражения, передающего управление по одной из двух возможных ветвей.

Объединяющая вершина представляет передачу управления от одной из двух входящих ветвей к одной выходящей ветви.

Структурная блок-схема – это блок-схема, которая может быть выражена как композиция из четырех элементарных блок-схем (рис. 13.1).

Любая программа для машины может быть представлена структурной блок-схемой.

 
  Основные способы описания алгоритмов - student2.ru

S1
S1
Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru
S2
Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru

Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru

S1
Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru Основные способы описания алгоритмов - student2.ru

Композиция (следование) Выбор (ветвление) Итерация (цикл)
     
Рис. 13.1 – Базовые структуры алгоритма

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

Структурное программирование – процесс разработки алгоритмов с помощью структурных блок-схем.

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

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

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

· принцип модульности;

· принцип нисходящей разработки программы;

· сквозной структурный контроль;

· принцип простой структуры программы.

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

Наши рекомендации