
Алгоритмизация
Под алгоритмом понимают описание целенаправленной последовательности действий. Каждый алгоритм состоит из конечного числа простых действий и предназначен для решения некоторой обобщенной задачи.
Простое действие – действие однозначно понятное исполнителю алгоритма. Алгоритмы обычно преобразовывают исходные данные в данные – результаты.
Алгоритм – описание целенаправленной последовательности действий, позволяющее чисто механически решить любую конкретную задачу из некоторого класса однотипных задач, обладающих свойствами конечности, дискретности, конструктивности, определенности, детерминированности и универсальности.
Конечность – алгоритм обладает конечным числом шагов.
Дискретность – преобразование данных выполняется последовательно (шаг за шагом).
Конструктивность – цепочка выполняемых действий образует алгоритмический процесс, который для конкретно введенных данных имеет решение за конечное число шагов.
Определенность – каждый шаг алгоритма должен быть элементарным (понятным для исполнителя) и исполнимым. После исполнения шага должно быть однозначно понятно, какой шаг следующий.
Универсальность – нацеленность алгоритма на решение обобщенной задачи. Универсальность определяет полезность и массовость применения алгоритма.
Детерменированность – исполнение алгоритма с зафиксированными исходными данными не должно зависеть ни от исполнителя, ни от внешних условий: каждый раз должен происходить один и тот же алгоритмический процесс и каждый раз должен приводить к одинаковым результатам, и наоборот – применение одного алгоритма к разным исходным данным должно приводить к разным результатам.
Защищенность – поведение алгоритма с некорректными входными данными (желательное но необязательное свойство).
Блок-схемы
Представление алгоритма в виде последовательности шагов, когда каждый шаг записывается в отдельной строке, неудобно для анализа. По нему сложно определить, как взаимосвязаны различные действия и группы действий, какие действия выполняются много раз, а какие могут не выполняться вообще.
Более наглядные графические изображения алгоритмов, отображающие их структуру, они называются схемами алгоритмов или блок-схемами. Их элементы-блоки, обозначающие различные типы действий и линии- стрелки, обозначающие переходы от блока к блоку.
Типы блоков
Б
локи начала/конца
В алгоритме должен быть только один блок начала и желателен только один блок конца. Из блока начала может выходить, а в блок конца входить только одна линия
2
.
Блок простого процесса
Содержит описание простого действия, понятного исполнителю. В такие блоки входят и выходят по одной линии.
3. Блок предопределенного процесса.
С
одержит
ссылку на вспомогательный алгоритм.
Содержит задание исполнителю, которое
тот выполнять не умеет, но в блоке
указывается, где это задание расписано
детально. Обычно блок используется для
обозначения подпрограмм.
4. Блок выбора (решения или условия)
В
нём записывается проверка некоторого
условия. От того, выполнится условие
или нет, зависит дальнейший ход выполнения
алгоритмов. В этот блок входит только
одна линия, а выходить может одна и более
линий-стрелок. Обычно выходят две линии.
Одна из них указывает, что делать, если
условие выполняется, другая – если не
выполняется.
5
.
Блок ввода/вывода
Используется для общения алгоритма с окружающей средой.
6. Блок модификации (циклов)
Используются для задания циклически повторяющихся процессов (более детально будет рассмотрен позднее)
7. Внутристраничные соединители
С
остоят
из двух частей. Служат для того, чтобы
соединять блоки, не используя длинные
ломаные стрелки. Парные соединители
обозначаются одинаковыми буквами или
цифрами.
8
.
Межстраничные соединители
И
спользуются
для соединения схемы на разных страницах.
Используются парами, внутри пишется
номер страницы и номер блока, на который
осуществляется переход. Все блоки в
схемах нумеруются (для возможности
ссылаться на них) сверху вниз, слева
направо. Номера ставятся над блоком
левее его середины.
9. Комментарии
С
одержит
пояснения к блок-схемам.
Однотипные простые действия можно объединять в один блок.
Линии, ведущие сверху вниз или слева направо, обозначают стандартные направления. Другие линии считаются нестандартными. Линии, идущие по нестандартным направлениям рекомендуется заводить не в блок, а в линию, ведущую в него. Если такую линию провести сложно, используются соединители. В конце нестандартных линий ставится стрелка. Любые ломаные линии также считаются нестандартными.