В предыдущем параграфе мы рассмотрели понятие алгоритма. Каждый алгоритм должен обладать следующими свойствами:
1) дискретность – процесс решения задачи должен быть разбит на последовательность отдельных шагов;
2) понятность – алгоритм должен быть понятен исполнителю и исполнитель должен быть в состоянии выполнить его команды;
3) точность – алгоритм не должен содержать команды, смысл которых может восприниматься неоднозначно;
4) результативность – процесс решения задачи должен прекратиться за конечное число шагов и при этом должен быть получен ответ задачи;
5) массовость – возможность использовать алгоритм для решения однотипных задач.
Теперь более подробно рассмотрим возможности использования блок-схем и псевдокодов при разработке алгоритмов.
Блок-схема алгоритма представляет собой диаграмму, на которой изображена последовательность действий, выполняемых программой. На этой диаграмме разными геометрическими фигурами представлены разные типы процессов. Например, ромб означает процесс принятия решения, а параллелограмм — ввод и вывод данных. Линии со стрелками представляют последовательность выполнения компьютером действий, соединенных этими линиями. В блок-схемах используется много разных геометрических фигур, наиболее часто применимые показаны на рис. 2.
Терминатор.Определяет начальную и конечную точки алгоритма. Терминатор соединен с другими фигурами только одной линией: из начальной точки выходит линия со стрелкой, а в конечную — входит. | |
Ввод и вывод данных.Фрагмент программы, в котором пользователь вводит данные или алгоритм выводит результаты. | |
Обработка данных.Отображает любую операцию, выполняемую алгоритмом, например присваивание переменной значения. | |
Структура принятия решения.Фрагмент алгоритма, в котором принимается решение о направлении вычислительного процесса. В ромб всегда входит одна линия, а выходит две. Одна из выходящих линий отмечается словом "Да" ("Истина"); а другая — "Нет" ("Ложь"). | |
Предопределенный процесс.Эта фигура отображает группу операций, например вычисление факториала. | |
Линия.Соединяет две фигуры блок-схемы и показывает последовательность выполняемых алгоритмом операций. |
Рис. 2. Геометрические фигуры, используемые в блок-схемах.
На примере блок-схем мы рассмотрим основные алгоритмические структуры. Ими являются следование, развилка и цикл (рис.3):
Структура “следование” | Полная развилка | Неполная развилка |
Цикл с предусловие (цикл ПОКА) | Цикл с постусловием (цикл ДО) | Цикл с параметром |
Рис.3. Основные алгоритмические структуры.
Для иллюстрации основных алгоритмических структур рассмотрим следующие примеры: