Завдання лабораторної роботи

1. З умови індивідуального завдання визначити, які дані будуть вводитися і опрацьовуватися в задачі. Як і в попередній лабораторній роботі, треба розробити два варіанти програми (або один з можливістю альтерна­тивного вибору), що відрізнятимуться способом введення даних. У першому варіанті, який буде пробним, введення даних має здійснюватися з клавіатури. Другий варіант програми має бути демон­стра­ційним, а дані повинні зчитуватися з попередньо підготованого файла. Формуючи цей файл (або файли), треба так підібрати вхідні дані, щоб якнайповніше продемон­струвати функ­ціо­нальні можливості та правильність роботи програми.

2. Розробити алгоритм реалізації задачі з індивідуального завдання. Для переважної більшості задач він має складатися з таких основних кроків:

1) зі заданих вхідних даних сформувати у динамічній пам’яті список вказаної конфігурації;

2) надрукувати створений список;

3) виконати над елементами списку перетворення, вказані в індиві­дуальному завданні;

4) надрукувати змінений список (або отримані списки);

5) звільнити всю зайняту динамічну пам’ять.

Залежно від умови конкретної задачі, в алгоритмі розв’язування можуть бути ті чи інші зміни й доповнення.

3. Програмна реалізація алгоритму повинна містити вказану в завданні функцію. Крім цього треба розробити власні функції для виконання основних операцій над елементами списку, наприклад: доповнення списку новим елементом, роздруку даних зі списку, пошуку і/або вилучення заданого елемента, виконання необхідних обчислень або перетворень над елементами списку, витирання всього списку та інші.

4. У процесі формування списку треба по одному вводити вхідні дані у виділене для них місце в динамічній пам’яті, формувати з них елементи списку та встановлювати зв’язки між елементами з урахуванням конфігурації списку: одно- чи двозв’язний список, стек, черга чи кільцевий список, впоряд­кований чи невпорядкований список тощо.

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

6. У процесах доповнення списку новими елемен­тами, вилучення окремих елементів чи переставляння елементів місцями треба обов’язково звертати особливу увагу на коректне перемикання зв’язків, щоб не допустити випадкового розірвання списку.

7. Якщо завдання вимагає перенесення елементів (даних) у новий список, то недоцільно виділяти для таких елементів (даних) нові ділянки динамічної пам’яті. Найкраще вилучити такі елементи зі старого списку, не витираючи їх з пам’яті, а потім під’єднати відокремлені елементи (дані) у відповідному місці до нового списку.

8. Наприкінці роботи програми треба обов’язково витерти всі створені списки, звільнивши повністю зайняту динамічну пам’ять. Якщо дані списку зберігаються у пам’яті окремо, то треба спочатку звільнити пам’ять, зайняту даними, а вже потім витирати елемент списку, де ці дані були зареєстровані.

9. Оформити звіт до лабораторної роботи згідно з вимогами.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: