Все алгоритмические процессы обработки данных делятсяна линейный, разветвляющийся и циклический.
Линейный процесс – это вычислительный процесс,в которомдействия выполняются последовательно, т.е. в порядке ихзаписи.(Линейный процесс не содержит логических условий.)
Разветвляющийся процесс – это процесс, в котором порядок выполнения действий зависит от исходных условий или промежуточных результатов.
Каждое направление вычислений в таком процессе называется ветвью вычислений. Проверка выполнения логического условия определяет ветвь вычисления. Вычислительный процесс выполняется только по одной ветви. Количество условий определяет количество точек ветвления.
Циклический процесс–это процесс, в котором группа команд многократно повторяется до тех пор, пока выполняется заданное
условие.
Последовательность команд, которая повторяется пока выполняется заданное условие, называетсяциклом. Циклический процесс сокращает длину записи алгоритма, так как не надо повторять запись одних и тех же команд несколько раз.
Например, алгоритм вычисления Х = А20 можно записать как АА, A'-A, ..., А^А, тогда вычислительный процесс будет линейным. Алгоритм можно записать короче, для этого надо оформить цикл и контролировать его окончание.
Основными критериями качества алгоритмов признаются следующие:
1. Связность алгоритма - определяется количеством промежуточных результатов, которые должны одновременно храниться в памяти исполнителя. Естественно, что алгоритм тем лучше, чем меньше его связность, т .к. при этом уменьшается количество ячеек, занятых в оперативной памяти.
2. Объем алгоритма - количество операций (шагов), которые необходимо выполнить для получения конечного результата.
Естественно, что чем меньше трудоемкость, Т.е. чем меньше операций нужно предусмотреть составителю алгоритма, а значит, меньше времени затратить на его написание и исполнение, тем выше качество алгоритма.
Уменьшение количества шагов экономит не только время составителя алгоритма, но и время исполнителя, сокращает длительность решения задачи.
3. Длительность решения определяется количеством шагов алгоритма, а также сложностью этих шагов. Если все операции достаточно просты и наглядны, длительность решения сокращается, и наоборот. Конечно, время выполнения любой операции определяется прежде всего быстродействием самого исполнителя, но для одной и той же операции время выполнения условно можно считать равным некоторой константе. Тогда алгоритм тем лучше, чем быстрее он выполняется.
4. Разветвленность алгоритма характеризует логическую сложность и определяется количеством путей, по которым может реализоваться процесс вычислений. Значительная разветвленность увеличивает сложность алгоритма, а значит, и трудоемкость его разработки и исполнения.
5. Цикличность алгоритма заключается в том, что фактическое количество операций, которые должны быть выполнены в ходе процесса реализации, превышает количество операций, содержащихся в записи алгоритма. Происходит это благодаря тому, что те или иные группы операций могут повторяться многократно (циклически) и поэтому их можно не включать каждый раз в алгоритм. Цикличность повышает качество алгоритма из-за сокращения числа шагов.