- •Національний університет “Львівська політехніка”
- •Курсова робота з дисципліни "Програмування" Частина 2
- •1 Теоретична частина
- •2. Завдання3 Побудова атд
- •2.1 Постановка задачі
- •3. Завдання 4 Застосування атд список
- •3.1 Постановка задачі
- •3.2.1 Словесний опис алгоритму
- •Список літератури
- •Додаток а Конструювання атд – список
- •Додаток в Завдання 4
2. Завдання3 Побудова атд
2.1 Постановка задачі
Змоделювати абстрактний тип даних (АТД) список , який використати в Завданні 4. Переписати основні операції роботи з АТД і продемонструвати їх застосування при додаванні та вилученні елементів з АТД.
2.2 Динаміка вмісту списку
Вхідна послідовність: 1, -2, -1, -3, 2.
0) Пустий список – не виділено жодної пам’яті
1) Вводимо 1 - додаємо новий елемент 1
prew |
data |
next |
0 |
1 |
0 |
2) Вводимо-2 - намагаємося вилучити елмент 2
prew |
data |
next |
0 |
1 |
0 |
На екран виводиться повідомлення про те, що немає такого елемента в списку.
3) Вводимо -1 – вилучаємо 1
Список пустий
4) Вводимо -3 - намагаємося вилучити елмент 3На екран виводиться повідомлення про те, що список пустий.
5) Вводимо 2 – додаємо новий елемент 2
prew |
data |
next |
0 |
2 |
0 |
6) Вводимо 3 – додаємо новий елемент 3
prew |
data |
next |
0 |
2 |
|
prew |
data |
next |
|
1 |
0 |
2.2 Результат виконання програми
3. Завдання 4 Застосування атд список
3.1 Постановка задачі
Написати програму для роботи з розрідженими матрицями, представленими у виглядізв’язаних списків:
Транспонування матриці.
3.2 Алгоритм розв’язання
3.2.1 Словесний опис алгоритму
down |
data |
next |
0 |
5 |
0 |
down |
data |
next |
|
2 |
|
down |
data |
next |
0 |
3 |
|
down |
data |
next |
0 |
7 |
0 |
down |
data |
next |
|
6 |
|
down |
data |
next |
0 |
5 |
|
down |
data |
next |
0 |
50 |
0 |
down |
data |
next |
0 |
4 |
|
down |
data |
next |
0 |
10 |
|
Як бачимо зі схеми клас elementмістить 3 поля : 1 інформаційне та 2 вказівних.В класіlistбуде реалізовано такий механізм додавання нового елемента.Ми будемо долучати новий елемент в поточний рядок аж поки не стане n елементів у рядку.Після цього ми будемо долучати новий елемент в наступний рядок. При цьому на перший елемент наступного рядка вказуватиме вказівникdown першого елемента з попереднього рядка. Вказівники down інших елементів не вказуватимуть ні нащо. Отже, таким чином я створив список, який абстрактно відповідає точній моделі розрідженої матриці.
3.2.2
Блок-схема алгоритму розв’язку задачі.
3.3 Результат виконання програми
Висновок
Отже, в даній частині курсової роботи я сконструював АТД список. Для виконання індивідуального завдання я сконструював динамічну структуру даних – список, який в точності відповідає розрідженій матриці. Я реалізував транспонування матриці. Таким чином я навчився застосовувати списки для вирішення практичних завдань.
