Курсовая работа: Об’єктно-орієнтована програма обліку продуктового магазину
- додавання нового елемента в кінець стека;
- видалення останнього елемента зі стека;
- доступ до останнього елемента.
Таким чином, операції додавання і видалення елемента виконується тільки в кінці списку.
Черга ж являє собою лінійний список, у якого елементи додаються і видаляються з початку списку (як черга в магазині).
Двохстороння черга - лінійний список, у якого операції додавання і видалення елементів та доступ до них можливий як на початку так і в кінці списку.
Використовуючи вказівники можливо побудувати багато інших корисних різновидів зв’язних структур даних, таких як дерева, графи, мережі.
? ???????????? ???????? ???????????????? ??????, ? ??????? - ??????????? ?????? ? ????????? ?????????. ?? ???????????? ? ?????????, ???? ?? ?????????? ???????? ?? ??? ??????????? ???????, ??, ?????????, ???????? ???????????? ? ???????? ???????. ?? ????????? ??????? ? ???????? ??????????? ??????????, ?????????, ????????? ?? ????? ???? ????????, ?? ??? ????????? ??? ??????? ?????? ????????? ??????.2.1 Програмна модель
Програма, створена на мові програмування С++, в середовищі програмування BorlandС++Builder6.0.При розробці моделі програми було створено наступні класи:
1. Table
2. Data
3. Record
4. Iterator
5. Number
6. MyTable<Number>
7. MyData
8. Main
Кожин з цих класів має свою будову. Наприклад, будова класу Tableпредставлена на мал.2.
Мал. 2 - Клас Table
Крім цього, кожен клас так чи інакше взаємодіє з іншими класами. Зв’язок класів представлений на мал. 3 у вигляді діаграм Буча.
Мал. 3
З діаграми видно, що кілька класів використовуються одним класом. Наприклад класи Data, Record, Iteratorвикористовуються класом Table, і крім того, використовуються між собою. Стрілочки на діаграмі означають відношення “наслідування” класів, а зв’язок через рисочку, що виходить з кружечка, означає використання одного класу іншим.
Клас зазвичай представляють аморфним об'єктом, на зразок хмарки. Хмарку було взято з матеріалів корпорації Intel, що документувала свою оригінальну об'єктно-орієнтовану архітектуру iAPX432. Форма цього образу натякає на розпливчатість меж абстракції, від яких не очікується гладкості і простоти. Пунктирний контур символізує те, що клієнти оперують зазвичай з екземплярами цього класу, а не з самим класом.
Крім класів, програма складається з об’єктів, а разом вони утворюють модулі. Діаграма модулів показує розподіл класів і об'єктів по модулях у фізичному проектуванні системи.
Кожна окрема діаграма модулів представляє деякий ракурс структури модулів системи.
Діаграма модулів використовується при розробці для того, щоб показати фізичне ділення архітектури програми по шарах і розділах.
Кожен модуль програми по обліку товарів магазину має ім'я - це ім'я відповідного фізичного файлу в каталозі проекту (Main.h і Main.cpp, Data.hiData.cpp, Number.hiNumber.cpp, Table.h та ін.).
Кожне ім'я файлу унікальне в програмі. Сам модуль містить або опис, або визначення класів і об'єктів, а також інші конструкції мови. "Розкривши" значок будь-якого модуля з діаграми, потрапляємо всередину відповідного файлу. Розглядаючи структуру програми з іншого боку, маємо наступну будову: програма містить всобі три форми.