ВУЗ:
Составители:
29
6. АЛГОРИТМЫ СО СТРУКТУРОЙ ВЛОЖЕННЫХ ЦИКЛОВ
Любой цикл, содержащий внутри себя один или несколько других цик-
лов, называется вложенным.
Цикл, охватывающий другие циклы, называется внешним, а остальные
циклы – внутренними. Правила организации как для внешнего, так и внутрен-
него циклов такие же, как и для простого цикла. Параметры этих циклов изме-
няются не одновременно, т. е. при одном значении параметра внешнего цикла
параметр цикла принимает по очереди все свои значения.
6.1. Вычислить сумму положительных элементов каждой строки матрицы
)810( ×
A
.
Для вычисления суммы положительных элементов одной строки матрицы
необходимо организовать цикл с целью перебора всех элементов строки, по-
этому параметром этого цикла следует выбрать номер столбца
j
. Перед циклом
нужно задать начальное значение суммы
0
=
S . После окончания цикла резуль-
тат необходимо вывести на печать. Если действия повторить во внешнем цикле,
изменяя индекс строки
i , то будут вычислены все 10 сумм. Схема алгоритма
решения этой задачи приведена на рис.19.
В рассмотренной задаче внешний цикл обязательно должен быть по
i (ин-
дексу строки), так как в противном случае были бы вычислены суммы положи-
тельных элементов каждого столбца. Часто встречаются задачи, в которых не
имеет значения, по какому параметру организовать внешний и внутренний
цикл.
Все приемы программирования, изложенные выше, можно использовать и
при организации вложенных циклов.
6.2. Упорядочить элементы массива
),...,,(
10021
xxx , расположив их в поряд-
ке возрастания в том же массиве. Для решения этой задачи требуется найти
наименьший элемент. Поэтому перед внутренним циклом необходимо задать
начальное значение наименьшего, а внутри цикла искать наименьшее и его по-
рядковый номер. После окончания цикла необходимо записать наименьший
элемент в первую ячейку, а первый – в ячейку, где ранее был наименьший. По-
вторяя эти действия начиная со второго, затем третьего элемента и т. д., можно
добиться того, что элементы массива будут упорядочены по возрастанию.
Схема алгоритма решения задачи представлена на рис.20. Внешний цикл
повторяется 99 раз, так как находить наименьший элемент из одного элемента
100
x не имеет смысла. Блок 4 задает начальные значения
min
x и номер n наи-
меньшего элемента. Блоки 6,7 находят наименьший элемент и его порядковый
номер. Блок 8 записывает k-й элемент в n-ю ячейку и наименьший элемент в k-
ю ячейку.
6.3. Вычислить значения функции
∑∑
==
=
10
11
)(sin
i
n
k
i
k
k
x
z
, где
i
x заданы масси-
вом .,..,2,1),...,,(
1021
nkxxx =