Свойства алгоритмов. Основные алгоритмические структуры

 

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

1) дискретность – процесс решения задачи должен быть разбит на последовательность отдельных шагов;

2) понятность – алгоритм должен быть понятен исполнителю и исполнитель должен быть в состоянии выполнить его команды;

3) точность – алгоритм не должен содержать команды, смысл которых может восприниматься неоднозначно;

4) результативность – процесс решения задачи должен прекратиться за конечное число шагов и при этом должен быть получен ответ задачи;

5) массовость – возможность использовать алгоритм для решения однотипных задач.

Теперь более подробно рассмотрим возможности использования блок-схем и псевдокодов при разработке алгоритмов.

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

Терминатор.Определяет начальную и конечную точки алгоритма. Терминатор соединен с другими фигурами только одной линией: из начальной точки выходит линия со стрелкой, а в конечную — входит.
Ввод и вывод данных.Фрагмент программы, в котором пользователь вводит данные или алгоритм выводит результаты.
Обработка данных.Отображает любую операцию, выполняемую алгоритмом, например присваивание переменной значения.
Структура принятия решения.Фрагмент алгоритма, в котором принимается решение о направлении вычислительного процесса. В ромб всегда входит одна линия, а выходит две. Одна из выходящих линий отмечается словом "Да" ("Истина"); а другая — "Нет" ("Ложь").
Предопределенный процесс.Эта фигура отображает группу операций, например вычисление факториала.
Линия.Соединяет две фигуры блок-схемы и показывает последовательность выполняемых алгоритмом операций.

Рис. 2. Геометрические фигуры, используемые в блок-схемах.

На примере блок-схем мы рассмотрим основные алгоритмические структуры. Ими являются следование, развилка и цикл (рис.3):

  Структура “следование”   Полная развилка   Неполная развилка
Цикл с предусловие (цикл ПОКА) Цикл с постусловием (цикл ДО)   Цикл с параметром

Рис.3. Основные алгоритмические структуры.

Для иллюстрации основных алгоритмических структур рассмотрим следующие примеры: