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

Лабораторна робота 2 селективна обробка масивів

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

Загальні вказівки Селективна (вибіркова) обробка інформації

Селективна обробка полягає в обробці тільки тієї інформації, що задовольняє заданій умові.

Приклад 5. Підрахувати кількість позитивних елементів у масиві x(10).

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

Крок 1. Уводимо масив x(10).

Крок 2. Задаємо початкове значення кількості k = 0.

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

Крок 4. Якщо xi > 0, тоді привласнюємо k = k + 1.

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

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

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

Знаходження екстремального значення

Приклад 6. Знайти мінімальний елемент з інтервалу [5,12] у масиві x(15).

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

Крок 1. Уводимо масив x(15).

Крок 2. Задаємо початкове значення мінімального елемента xmin=10 20.

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

Крок 4. Якщо xi не належить інтервалу [5,12], тоді йдемо на крок 6.

Крок 5. Якщо xi < xmin, тоді привласнюємо xmin = xi.

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

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

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

Приклад 7. Знайти максимальний елемент і його номер у масиві x(30) .

Блок-схема

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

Крок 1. Уводимо масив x(30).

Крок 2. Задаємо початкові значення максимального елемента і його номера: xmax = x1, nmax = 1.

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

Крок 4. Якщо xi>xmax, тоді привласнюємо: xmax=xi, nmax=i.

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

Крок 6. Друкуємо xmax, nmax.

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

Формування одномірного робочого масиву

У робочий масив з вихідного вибираються тільки ті елементи, що задовольняють поставленій умові.

Приклад 8. Сформувати новий масив з позитивних елементів вихідного масиву x(15).

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

Крок 1. Уводимо масив x(15).

Крок 2. Установлюємо вихідний індекс робочого масиву j=0.

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

Крок 4. Якщо xi 0, то йдемо на крок 7.

Крок 5. Встановлюємо індекс наступного елемента робочого масиву j = j + 1.

Крок 6. Привласнюємо елементу робочого масиву значення елемента вихідного масиву yj = xi.

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

Крок 8. Друкуємо j елементів робочого масиву y.

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

Сортування елементів масиву

Сортування - це упорядкування безлічі за убуванням чи зростанню ознаки, загальної для всіх елементів безлічі. Сортування зручно робити методом виштовхування. Якщо треба відсортувати частину масиву, що задовольняє заданим умовам, то спочатку відбирають потрібні елементи у робочий масив, а потім його сортують. Якщо робочий масив не сформувався, то виводять про це повідомлення і зупиняють програму.

Приклад 9. Знайти суму двох найбільших негативних елементів масиву x(15).

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

Крок 1. Уводимо масив x(15).

Крок 2. Установлюємо вихідний індекс робочого масиву j=0.

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

Крок 4. Якщо xi 0, то йдемо на крок 7.

Крок 5. Встановлюємо індекс наступного елемента робочого масиву j = j + 1.

Крок 6. Привласнюємо елементу робочого масиву значення елемента вихідного масиву yj = xi.

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

Крок 8. Якщо j < 2, то видаємо повідомлення «Масив не сформований» і йдемо на крок 17.

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

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

Крок 11. Якщо перший елемент не більше другого, то йдемо на крок 13.

Крок 12. Змінюємо два елемента місцями:

c = yi; yi = yi+1; yi+1 = c.

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

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

Крок 15. Обчислюємо суму s = yj + yj-1.

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

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