Вложенные циклы
Возможны случаи, когда внутри тела цикла необходимо повторять некоторую последовательность операторов, т. е. организовать внутренний цикл. Такая структура получила название цикла в цикле или вложенных циклов. Глубина вложения циклов (то есть количество вложенных друг в друга циклов) может быть различной.
При использовании такой структуры для экономии машинного времени необходимо выносить из внутреннего цикла во внешний все операторы, которые не зависят от параметра внутреннего цикла.
Пример вложенных циклов
Вычислить сумму элементов заданной матрицы А(5,3).
Циклы "накопления" конечнойсуммы (или произведения)
Часто в ММ встречаются макрооперации многоместного суммирования или многоместного произведения однотипных слагаемых (множителей), сконструированных на элементах заданного числового массива:
где ∑ - операция многоместной суммы;
П - операция многоместного произведения; i -счетчик операндов (слагаемых или множителей), меняется всякий раз на 1;
i = 1 - номер первого операнда; п - его последний номер. Так можно изобразить сумму (или произведение) однотипных операндов, построенных по какому-либо правилу на элементах заданного числового массива конечной длины.
В алгоритмах знаки микроопераций ∑ и П. не употребляются (не считаются элементарными). В развернутом виде формулу записывать крайне не желательно из-за громоздкости, а заменять часть операндов по формуле многоточием в алгоритме недопустимо. Поэтому для алгоритмизации вычислений подобного типа существует прием циклического "накопления" результата последовательным добавлением к предыдущей частичной сумме нового слагаемого или последовательным домножением предыдущего частичного произведения на новый множитель.
Циклов получается ровно столько, сколько операндов, а операндов ровно столько, сколько элементов в заданном массиве. Таким образом, цикл должен быть организован по счетчику циклов. Для выполнения операции накопления вводится дополнительная переменная "накопления", которая предварительно (перед телом цикла) обнуляется при накоплении суммы или получает значение 1 при накоплении произведения. В основе тела цикла лежит операции "накопления". Пусть S - переменная накопления, тогда операция "накопления":
для суммы для произведения
S=S+<i-e слогаемое> S=S*<i-й множитель>