Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR-POP.doc
Скачиваний:
49
Добавлен:
12.02.2016
Размер:
419.84 Кб
Скачать

Лабораторна робота № 8

Тема роботи: Збереження даних у динамічній пам’яті

Мета роботи: розширити та закріпити практичні вміння роботи з файлами; навчи­тися використовувати динамічну пам’ять для ефективного збере­ження та раціонального опрацювання даних програми.

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

  1. Прочитати умову індивідуального завдання і визначити дані, які мають опрацьовуватися в задачі. Ці дані повинні зберігатись у динамічній пам’яті, кожному з них треба виділити необхідну за обсягом ділянку.

  2. Продумати алгоритм розв’язування задачі. Загалом він має включати такі кроки:

  • введення даних і запис їх у динамічну пам’ять;

  • роздрук введених даних для їхнього наочного відображення та контролю правильності;

  • виконання дій над даними за умовою індивідуального завдання;

  • виведення результатів опрацювання даних;

  • звільнення динамічної пам’яті.

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

  1. Введення вхідних даних реалізувати двома способами: 1) з клавіатури, 2) з файла. Для цього розробити дві версії програми або забезпечити в програмі можливість вибору способу введення даних. Введення з клавіатури має бути пробним (невелика кількість даних), а введення з файла – демон­стра­ційним (більша кількість різноманітних даних, що ілюструють роботу програми за різних умов). Попередньо треба створити в якомусь із текстових редакторів файл з даними потрібної форми.

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

  3. Реалізувати задані в умові задачі перетворення над даними. Якщо якісь дані треба перенести в новий масив, то недоцільно переписувати чи копіювати самі дані – достатньо перенести їхні адреси (вказівники), не змінюючи розташування даних у динамічній пам’яті. Для впорядковування даних теж найкраще переставляти їхні вказівники, не рухаючи значень даних. У разі вилучення окремого елемента, треба звільнити ділянку динамічної пам’яті, яку він займає, і онулити відповідний вказівник або видалити його, підтягнувши всі наступні.

  4. Перед завершенням роботи програми треба обов’язково закрити файл, з якого зчитувалися дані, та звільнити всю зайняту динамічну пам’ять.

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

  6. Оформити звіт з лабораторної роботи, в якому навести тексти програм з коментарями, вхідні дані, що вводилися з клавіатури, та вміст підготованого файла, результати виконання програми для кожного набору даних.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]