Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
прогр часть 1.doc
Скачиваний:
21
Добавлен:
07.06.2015
Размер:
1 Мб
Скачать
☆

Лабораторна робота 3 вкладені цикли. Обробка двовимірних масивів

Мета роботи: виробити практичні навички в складанні алгоритмів на селективну обробку двовимірних масивів.

Загальні вказівки Вкладені цикли

Вкладені цикли використовуються при роботі з багатомірними функціями і множинами. При цьому потрібно стежити, щоб не було перехрещування циклів. Його не буде, якщо цикли закриваються в порядку, зворотному відкриванню (див. приклад 10).

Приклад 10. У матриці a(4,5) знайти добуток позитивних елементів.

Блок-схема

Порядок роботи:

Крок 1. Уводимо матрицю a(4,5).

Крок 2. Задаємо початкове значення добутку p=1.

Крок 3. Організовуємо цикл, що перебирає рядки матриці (тобто індекс i), починаючи з 1-го і закінчуючи 4-м.

Крок 4. Організуємо цикл, що перебирає стовпці матриці (тобто індекс j), починаючи з 1-го і закінчуючи 5-м.

Крок 5. Якщо aij > 0, тоді привласнюємо p = p aij.

Крок 6. Якщо цикл за j не закінчився, йдемо на початок циклу, тобто на крок 4.

Крок 7. Якщо цикл за i не закінчився, йдемо на початок циклу, тобто на крок 3.

Крок 8. Друкуємо p.

Крок 9. Останов.

Обробка заданого рядка (стовпця) матриці

Приклад 11. Знайти суму парних елементів третього рядка матриці a(4,5).

Порядок роботи:

Крок 1. Уводимо матрицю a(4,5).

Крок 2. Установлюємо початкове значення суми s = 0.

Крок 3. Задаємо номер оброблюваного рядка i = 3.

Крок 4. Організовуємо цикл, що перебирає стовпці матриці (тобто індекс j), починаючи з 1-го і кінчаючи 5-м.

Крок 5. Якщо aij парне, тоді привласнюємо s = s + aij.

Крок 6. Якщо цикл за j не закінчився, йдемо на початок циклу, тобто на крок 4.

Крок 7. Друкуємо s.

Крок 8. Останов.

Обробка заданої діагоналі матриці

Приклад 12. Знайти суму парних елементів головної діагоналі матриці a(5,5).

Порядок роботи:

Крок 1. Уводимо матрицю a(5,5).

Крок 2. Установлюємо початкове значення суми s=0.

Крок 3. Організовуємо цикл, що перебирає рядки матриці (тобто індекс i), починаючи з 1-го і закінчуючи 5-м.

Крок 4. Організовуємо цикл, що перебирає стовпці матриці (тобто індекс j), починаючи з 1-го і закінчуючи 5-м.

Крок 5. Якщо aij парне й i = j, привласнюємо s = s + aij.

Крок 6. Якщо цикл за j не закінчився, йдемо на початок циклу , тобто на крок 4.

Крок 7. Якщо цикл за i не закінчився, йдемо на початок циклу, тобто на крок 3.

Крок 8. Друкуємо s.

Крок 9. Останов.

Селективна обробка рядка (стовпця) матриці, що задовольняє заданій умові

Обробка рядка (стовпця) здійснюється після його знайдення шляхом перевірки кожного рядка на відповідність заданій умові.

Приклад 13. У матриці a(4,5) знайти кількість парних елементів у рядку, у якому другий елемент позитивний (якщо таких рядків декілька, результат роздрукувати окремо для кожного).

Порядок роботи:

Крок 1. Уводимо матрицю a(4,5).

Крок 2. Організовуємо цикл, що перебирає рядки матриці (тобто індекс i), починаючи з 1-го і закінчуючи 4-м.

Крок 3. Якщо ai2 > 0, то йдемо на крок 4, інакше беремо інший рядок, тобто йдемо на крок 9.

Крок 4. Установлюємо початкове значення кількості k=0.

Крок 5. Організовуємо цикл, що перебирає стовпці матриці (тобто індекс j), починаючи з 1-го і закінчуючи 5-м.

Крок 6. Якщо aij парне, тоді привласнюємо k = k + 1.

Крок 7. Якщо цикл за j не закінчився, йдемо на початок циклу, тобто на крок 5.

Крок 8. Друкуємо k.

Крок 9. Якщо цикл за i не закінчився, йдемо на початок циклу, тобто на крок 2.

Крок 10. Останов.

Приклад 14. У матриці a(4,5) знайти кількість парних елементів у рядку, у якого сума елементів позитивна (якщо таких рядків декілька, результат роздрукувати окремо для кожного).

Порядок роботи:

Крок 1. Уводимо матрицю a(4,5).

Крок 2. Організовуємо цикл, що перебирає рядки матриці (тобто індекс i), починаючи з 1-го і закінчуючи 4-м.

Крок 3. Установлюємо початкове значення суми s = 0.

Крок 4. Організовуємо цикл, що перебирає стовпці матриці (тобто індекс j), починаючи з 1-го і закінчуючи 5-м.

Крок 5. Привласнюємо s = s + aij.

Крок 6. Якщо цикл за j не закінчився, йдемо на початок циклу, тобто на крок 4.

Крок 7. Якщо s > 0, то йдемо на крок 8, інакше - беремо інший рядок, тобто йдемо на крок 13.

Крок 8. Установлюємо початкове значення кількості k=0.

Крок 9. Організовуємо цикл, що перебирає стовпці матриці (тобто індекс j), починаючи з 1-го і кінчаючи 5-м.

Крок 10. Якщо aij парне, тоді привласнюємо k = k + 1.

Крок 11. Якщо цикл за j не закінчився, йдемо на початок циклу, тобто на крок 9.

Крок 12. Друкуємо k.

Крок 13. Якщо цикл за i не закінчився, йдемо на початок циклу, тобто на крок 2.

Крок 14. Останов.