Предмет:
Тип роботи:
Курсова робота
К-сть сторінок:
20
Мова:
Українська
Курсова робота з дисципліни
«Основи програмування та алгоритмізація мови»
ЗМІСТ
Вступ 3
1 ТЕОРЕТИЧНА ЧАСТИНА
1. 1 Загальні відомості
1. 2 Опис предметної області та постановки задачі
1. 3 Обґрунтування вибору методу розв’язку задачі
2 ПРАКТИЧНА ЧАСТИНА
2. 1 Інформаційна структура моделі та алгоритму
2. 1. 1 Функціональні частини програми
2. 1. 3 Опис алгоритму
2. 2 Тестування моделі
2. 3 Інтерфейс та керівництво користувача
Висновок
Список використаної літератури
Додаток 1. Лістинг програми
Розвиток обчислювальної техніки супроводжується створенням нових і вдосконаленням існуючих мов програмування – засобів спілкування програмістів з ЕОМ.
З розширенням областей застосування обчислювальної техніки виникла необхідність формалізувати уявлення постановки і рішення нових класів задач. Натомість було створено такі мови програмування, які використовуючи в даній області позначення та термінологію, дозволяють описувати необхідні алгоритми рішення для поставлених завдань, ними стали проблемно – орієнтовані мови. Ці мови, мови орієнтовані на вирішення певних проблем, повинні забезпечити програміста засобами, що дозволяють коротко і чітко формулювати завдання і отримувати результати у необхідній формі.
Завдання на курсову роботу передбачає розробку програмного забезпечення: «АРМ». Дана тема є поширеною та актуальною, так як включає у собі роботу над базами даних. АРМ широко застосовують у всіх сферах масового виробництва та реалізації товарів. Данe програму можливо модифікувати і використовувати в реальних цілях.
До по початкової версії програми було внесено суттєві зміни щодо покращення продуктивності ПЗ.
1. Теоретична частина
1. 1 Загальні відомості
Об'єктно-орієнтоване програмування (ООП) – це методика, яка концентрує основну увагу програміста на зв'язках між об'єктами, а не на деталях їх реалізації. У цій главі основні принципи ООП (інкапсуляція, спадкування, поліморфізм, створення класів і об'єктів) інтерпретуються і доповнюються новими поняттями і термінологією, прийнятими інтегрованої середовищем візуальної обробки C++ Builder. Наводиться опис розширень мови новими можливостями (компоненти, властивості, обробники подій) і останніх доповнень стандарту ANSI C (шаблони, простору імен, явні і непостійні оголошення, ідентифікація типів при виконанні програми, виключення).
Клас не має фізичної сутності, його найближчій аналогією є оголошення структури. Пам'ять виділяється тільки тоді, коли клас використовується для створення об'єкта. Цей процес також називається створенням екземпляра класу (class instance). Будь-який об'єкт мови C++ має однакові атрибути і функціональність з іншими об'єктами того ж класу. За створення своїх класів і поведінку об'єктів цих класів повну відповідальність несе сам програміст. Працюючи в деякому середовищі, програміст отримує доступ до великих бібліотек стандартних класів (наприклад, до Бібліотеки Візуальних Компонент C++ Builder). Зазвичай, об'єкт знаходиться в деякому унікальному стані, обумовленому поточними значеннями його атрибутів. Функціональність об'єктного класу визначається можливими операціями над екземпляром цього класу.
Визначення класу в мові C++ містить інкапсуляцію членів даних і методів, що оперують з членами даних і визначають поведінку об'єкта. Повертаючись до нашого прикладу, відзначимо, що рідкокристалічний дисплей годин «Casio» представляє член даних цього об'єкта, а кнопки управління – об'єктні методи. Натискаючи кнопки годин, можна оперувати з установками часу на дисплеї, тобто слідуючи термінології ООП, методи модифікують стан об'єкта шляхом зміни членів даних. C++ Builder вводить поняття компонент (components) – спеціальних класів, властивості яких представляють атрибути об'єктів, а їх методи реалізують операції над відповідними екземплярами компонентних класів. Поняття метод зазвичай використовується в контексті компонентних класів і зовні не відрізняється від терміна функція-член звичайного класу. C++ Builder дозволяє маніпулювати виглядом і функціональною поведінкою компонентів не тільки за допомогою методів (як це роблять функції-члени звичайних класів), а й за допомогою властивостей і подій, властивих тільки класам компонент. Працюючи в середовищі C++ Builder, напевно помітyj, що маніпулювати з компонентним об'єктом можна як на стадії проектування додатку, так і під час його виконання.
Інкапсуляція є об'єднання в єдиному об'єкті даних і кодів, що оперують з цими даними. У термінології ООП дані називаються членами даних (data members) об'єкта, а коди – об'єктними методами або функціями-членами (methods, member functions).
Інкапсуляція дозволяє в максимальному ступені ізолювати об'єкт від зовнішнього оточення. Вона суттєво підвищує надійність розроблюваних програм, тому що локалізовані в об'єкті функції обмінюються з програмою порівняно невеликими обсягами даних, причому кількість і тип цих даних звичайно ретельно контролюються. В результаті заміна або модифікація функцій і даних, інкапсульованих в об'єкт, як правило, не тягне за собою погано простежуються наслідків для програми в цілому (з метою підвищення захищеності програм в ООП майже не використовуються глобальні змінні). Іншим важливим наслідком інкапсуляції є легкість обміну об'єктами, переносу їх з однієї програми в іншу. Простота і доступність принципу інкапсуляції ООП стимулює програмістів до розширення Бібліотеки Візуальних Компонент, що входить до складу C++ Builder.
Однією з найбільш чудових особливостей живої природи є її здатність породжувати потомство, що володіє характеристиками, подібними з характеристиками попереднього покоління. Запозичена у природи ідея спадкування вирішує проблему модифікації поведінки об'єктів і додає ООП виняткову силу і гнучкість. Спадкування дозволяє, практично без обмежень, послідовно будувати і розширювати класи, створені вами або кимось ще. Починаючи з найпростіших класів, можна створювати похідні класи по зростаючій