Алгоритми зі структурою вкладених циклів
Будь-який цикл, що містить у собі один або кілька інших циклів, називається вкладеним. Цикл, що охоплює інші цикли, називаєтьсязовнішнім, а інші цикли -внутрішніми. Правила організації як зовнішнього, так внутрішнього циклів такі самі, як й у простого циклу. Параметри цих циклів змінюються одночасно, тобто за одного значення параметра зовнішнього циклу параметр внутрішнього циклу приймає по черзі всі свої значення.
Матриці – зручний приклад для демонстрації алгоритмів із структурою вкладених циклів.
У матриці [A] М стовпців та N рядків. Кожен елемент матриці визначено двома індексами, які вказують на положення цього елемента. На першому місці записується номер рядка, на другому номер стовпця. Наприклад, а23 - елемент матриці [A], розташований у другому рядку третього стовпця.
Якщо необхідно задати значення матриці, то потрібно задати значення всіх її елементів. Назвемо елемент матриці аij. Для всієї матриці загалом i пробігає значення від 1 до N, а j від 1 до М.
Кожен рядок матриці можна як одномірний масив. Введення першого рядка матриці визначає наступну сукупність елементів схеми (рис. 21).
Схема без блоку модифікації
Схема із використанням блоку

Така сама схема повинна бути використана для другого рядка матриці, для третього і так далі до М рядка. Тобто, номер рядка може бути заданий циклом і цей цикл буде зовнішнім по відношенню до циклу по стовпцю. Схема введення матриці [A] без блоку модифікації наведено на рис. 22.
Зовнішній цикл i – блоки 3, 4, 5, 6, 7, 8, 9. Блок 3 – підготовка циклу по i. Блок 8 – зміна параметра циклу. Блок 9 – перевірка умови закінчення циклу. Блоки 4, 5, 6, 7, 8 – тіло циклу. Внутрішній цикл з j– блоки 4, 5, 6, 7. Блок 4 – підготовка циклу j. Блок 6 - Зміна параметра циклу. Блок 7 – перевірка умови закінчення циклу. Блоки 5, 6 – тіло циклу.
При переході до наступного значення i (до наступного рядка) j – відновлює початкове значення 1.


При використанні розробленої схеми алгоритму елементи матриці мають бути введені у наступному порядку: 1, 0, 2, 3, 0, 1, 1, 1, 5, 4, 6, 0.
Для того, щоб ввести елементи матриці по стовпцях (1, 0, 5, 0, 1, 4, 2, 1, 6, 3, 1, 0), потрібно цикл j зробити зовнішнім, а цикл i внутрішнім. У цьому випадку другий індекс змінюється повільніше за перший.
Зустрічаються завдання, у яких немає значення, яким параметром організувати зовнішній і внутрішній цикл. Але трапляються випадки, коли це важливо.
При використанні блоку модифікації схема виглядає так (рис. 23).
Завдання.Задано квадратну матрицю [A], що складається з N рядків і N стовпців. Знайти суму діагональних елементів.
Розробка алгоритму.Вихідні дані: кількість рядків N, кількість стовпців N, елементи матриці.
Діагональні елементи матриці А11, А22, А33, . , аNN задовольняють умові i = j. Необхідно здійснити перебір елементів матриці та підсумувати ті, що відповідають умові i = j.
Блоки 2, 3, 4, 5 – введення матриці [A] (див. рис. 24). Блок 6 – завдання початкового значення суми. Блоки 7, 8 - цикли, що здійснюють перебір елементів матриці. Блок 9 – перевірка умови для підсумовування. Блок 10 – накопичення суми. Блок 11 – виведення суми.

Завдання.Група з N осіб складала в зимову сесію M іспитів. Відомі результати іспитів. Підрахувати середній бал кожного студента у зимову сесію.
Р

Результатом розрахунку буде одновимірний масив S, що складається з елементів N (рис. 25).
лок 6 - цикл по рядках. Завдання i – це номер студента у відомості. Блок 7 - обнулення суми. S – змінна, де накопичується сума оцінок i–го студента. Блок 8 – перебір предметів від 1 до М. Блок 9 – підсумовування оцінок. Блок 10 – визначення середнього. Після того, як цикл j відпрацював, отримана сума ділиться на кількість предметів. Блоки 11, 12 – виведення одновимірного масиву.
З