Розробити алгоритм та написати програму обчислення множини:
Проектування рішення задачі
Проект рішення задачі представляється в формі принципової блок-схеми.
Обчислення: |
Процедура RIZ |
і | Невідсортований список,(А) | Відсортований список,(В) |
0 | 7, 2, 21, 17, 6, 1, 13, 5, 8. | |
1 | 2, 21, 17, 6, 1, 13, 5, 8. | 7 |
2 | 21, 17, 6, 1, 13, 5, 8. | 2, 7 |
3 | 17, 6, 1, 13, 5, 8. | 2, 7, 21 |
4 | 6, 1, 13, 5, 8. | 2, 7, 17, 21 |
5 | 1, 13, 5, 8. | 2, 6, 7, 17, 21 |
6 | 13, 5, 8. | 1, 2, 6, 7, 17, 21 |
7 | 5, 8. | 1, 2, 6, 7,13, 17, 21 |
8 | 8. | 1, 2, 5, 6, 7,13, 17, 21 |
9 | 1, 2, 5, 6, 7, 8, 13, 17, 21 |
2.5.1.3. Алгоритм рішення задачі.
Алгоритм процедури SYS.
Алгоритм призначений для впорядкування чисел методом простого виключення.
Вхід: А- масив невідсортуваних даних;
n- кількість елементів масиву.
Вихід: В- масив відсортуваних даних.
Трудоємність алгоритма .
Крок 1: Визначити перші два елемента масива В.
Крок 2: Організувати цикл по
Крок 3: Провірити умови
Перехід на крок 6.
Крок 4: Організувати цикл по
Крок 5: Провірити умови
Крок 6: Завершення циклу по
Крок 7:Кінець.
2.5.1.4. Блок-схема.
так
ні
так
Мал.3. Блок-схема процедури SYS.
2.5.2. Опис процедури OBED.
2.5.2.1. Постановка задачі.
Задані дві множини A={а
Потрібно отримати множину С=А
2.5.2.2. Математична модель
Об’єднання визначається наступним чином
2.5.2.3. Алгоритм рішення задачі.
Алгоритм вирішення задачі базується на методі злиття двох множин. Приведемо загальний опис вирішення алгоритму задачі.
1
2
3
4
Блок 1:використовуємо ProcedureSYS ,яка описана в лабораторній pоботі №1.
Блок 2,3: не відсортовані масиви; відсортовані масиви.
Блок 4: алгоритм OBED
Алгоритм OBED:
Призначений для об’єднання двох відсортованих множин А і В з використанням методу злиття.
Крок1. Присвоїти
Крок2. Перевірити умову
Крок3. Перевірити умову
інакше: записати в кінці масиву С елементи масиву В,
які залишились нерозглянуті; кінець.
Якщо
Крок4. Перевірити
Крок5. Перевірити умову j