
- •Міністерство освіти Та науки україни Запорізький національний технічний університет
- •Методичні вказівки
- •Загальні положення
- •1 Типи даних та арифметичні вирази
- •1.1 Теоретичні відомості
- •1.2 Порядок виконання роботи
- •1.3 Приклад
- •1.5 Завдання на лабораторну роботу
- •1.6 Контрольні запитання
- •2 Умовні оператори
- •2.1 Теоретичні відомості
- •2.2 Порядок виконання роботи
- •2.3 Приклад
- •2.5 Завдання на лабораторну роботу
- •2.6 Контрольні запитання
- •3 Оператори циклів
- •3.1 Теоретичні відомості
- •3.2 Порядок виконання роботи
- •3.3 Приклад
- •3.5 Завдання на лабораторну роботу
- •3.6 Контрольні запитання
- •4 Масиви
- •4.1 Теоретичні відомості
- •4.2 Порядок виконання роботи
- •4.3 Приклад
- •4.5 Завдання на лабораторну роботу
- •4.6 Контрольні запитання
- •5 Робота з динамічною пам’яттю
- •5.1 Теоретичні відомості
- •5.2 Порядок виконання роботи
- •5.3 Приклад
- •5.5 Завдання на лабораторну роботу
- •5.6 Контрольні запитання
- •6 Функції. Створення та використання
- •6.1 Теоретичні відомості
- •6.2 Порядок виконання роботи
- •6.3 Приклад
- •6.5 Завдання на лабораторну роботу
- •6.6 Контрольні запитання
- •7 Абстрактні типи даних
- •7.1 Теоретичні відомості
- •7.2 Порядок виконання роботи
- •7.3 Приклад
- •7.5 Завдання на лабораторну роботу
- •7.6 Контрольні запитання
- •8 Пошук та сортування
- •8.1 Теоретичні відомості
- •8.2 Порядок виконання роботи
- •8.3 Приклад
- •8.5 Завдання на лабораторну роботу
- •8.6 Контрольні запитання
- •9 Основи ооп
- •9.1 Теоретичні відомості
- •9.2 Порядок виконання роботи
- •9.3 Приклад
- •9.5 Завдання на лабораторну роботу
- •9.6 Контрольні запитання
- •10 Створення похідних класів
- •10.1 Теоретичні відомості
- •10.2 Порядок виконання роботи
- •10.3 Приклад
- •10.5 Завдання на лабораторну роботу
- •10.6 Контрольні запитання
- •11 Основи Об’єктно орієнтованого проектування
- •11.1 Теоретичні відомості
- •11.2 Порядок виконання роботи
- •11.4 Завдання на лабораторну роботу
- •11.5 Контрольні запитання
- •12 СТворення графічного інтерфейсу користувача
- •12.1 Порядок виконання роботи
- •12.3 Завдання на лабораторну роботу
- •12.4 Контрольні запитання
- •Література
- •69039 М. Запоріжжя, знту, друкарня, вул Жуковського, 64
10.2 Порядок виконання роботи
При виконанні лабораторної роботи дотримуйтесь рекомендованого порядку.
Ознайомтесь з прикладом (листінг 10.1), наведеним у підрозділі 10.3.
Отримайте від викладача варіант завдання.
Запишіть програму на мові програмування С++.
Створіть новий проект Visual Studio .NET” та введіть початковий код програми. Проведіть її компіляцію.
Виправить синтаксичні та логічні помилки та запустить на виконання отриманий код.
Проведіть тестування для різних початкових даних.
Запишіть результати роботи програми та проконтролюйте їх коректність.
10.3 Приклад
Завдання. Створити клас для виконання поелементних операцій над масивами логічних значень. Передбачити наступні операції: ініціалізацію, операції AND, OR, NOT. Створити похідний від нього клас, в якому реалізовані функції ініціалізації масиву даних з клавіатури.
class Logic_interface: Logic_basic{ public: Logic_interface():Logic_basic(){}; ~Logic_interface():~Logic_basic(){}; void scan(); void print();} void Logic_interface::scan(){ printf(“Enter elements number\n”); scanf(“%d”, &n); val = new bool[n]; for(int i=0; i<n; i++){ printf(“Enter element %d ”, i); scanf(“%d”, &val[i]);}} void Logic_interface::print(){ if((val == NULL) || (n == 0)){ printf(“Object is empty”); return; } for(int i=0; i<n; i++) if(val[i]) {printf(“%d: true\t”, i);} else {printf(“%d: false\t”, i);} } |
Листінг 10.1 – Приклад виконання індивідуального завдання
10.4 Зміст звіту
Звіт з лабораторної роботи повинен містити:
мету роботи;
завдання на виконання роботи;
схему алгоритму роботи програми;
текст програми;
результати роботи програми для різних початкових даних;
висновки.
10.5 Завдання на лабораторну роботу
На основі класу, розробленого в ході лабораторної роботи №9, створіть похідний клас, реалізувавши в ньому операції консольного і файлового вводу та виводу інформації.
10.6 Контрольні запитання
У чому полягають механізми успадкування?
Роль атрибутів доступу та їх використання. Назвіть критерії, при виконанні яких застосування атрибутів доступу дає позитивний ефект.
Поясніть особливості взаємодії успадкування та атрибутів доступу. Як змінюється атрибут доступу компоненту класу при успадкуванні?
Наведіть синтаксис успадкування класів мовою С++.
Чи може клас-нащадок перевизначити методи базового класу?
Що таке множинне успадкування?
11 Основи Об’єктно орієнтованого проектування
Мета роботи: отримати теоретичні знання та практичні навички об’єктного моделювання в області розробки програмного забезпечення..
11.1 Теоретичні відомості
Об’єктно-орієнтоване проектування – це частина об’єктно-орієнтованої методології, яка дає можливість розробникам програмного забезпечення оперувати поняттям «об’єкт» замість поняття «процедура» при розробці програм.
UML (скор. від англ. Unified Modeling Language – уніфікована мова моделювання) – мова графічного опису для об’єктного моделювання в області розробки програмного забезпечення. UML є мовою широкого профілю, це відкритий стандарт, які використовує графічні позначення для створення абстрактної моделі системи, яка має назву UML моделі.
В UML використовуються наступні види діаграм:
1. Діаграма класів, Class diagram – статична структурна діаграма, що описує структуру системи та демонструє класи системи, їх атрибути, методи та залежності між ними. В залежності від стадії розробки програми діаграма класів може описувати модель предметної області, модель інформаційних об’єктів системи або класи, які використовуються безпосередньо в програмному коді.
2. Діаграма компонентів, Component diagram — статична структурна діаграма, яка показує розбиття програмної системи на структурні компоненти та зв’язки (залежності) між ними. В якості фізичних компонент можуть виступати файли, бібліотеки, модулі, пакети і т.п.
3. Діаграма композитної структури, Composite structure diagram – статична структурна діаграма, яка демонструє внутрішню структуру класів і, по можливості, взаємодію елементів внутрішньої структури класу.
4. Діаграма розгортання, Deployment diagram призначена для моделювання працюючих вузлів програми, та розгорнутих в них класів.
5. Діаграма об’єктів, Object diagram – демонструє повний або частковий знімок системи в певним момент часу. На діаграмі об’єктів позначаються екземпляри класів з вказуванням поточних значень їх атрибутів та зв’язків між об’єктами.
6. Діаграма пакетів, Package diagram – структурна діаграма, основним вмістом якої є пакети і відношення між ними. Діаграми пакетів призначені, в першу чергу, для організації елементів в групи за певною ознакою з метою спрощення структури і організації роботи з моделлю системи.
7. Діаграма діяльності, Activity diagram – діаграмма, на якій показано розкладання повної діяльності на складові частини. Під діяльностю (англ. activity) розуміють специфікацію виконуваної поведінки у вигляді координованого послідовного і паралельного виконання підлеглих елементів – вкладених видів діяльності і окремих дій (англ. action), з’єднаних між собою потоками, які йдуть від виходів одного вузла до входів іншого.
Аналогом діаграм діяльності є схеми алгоритмів за ГОСТ 19.701-90.
8. Діаграма автомату, State Machine diagram (діаграма кінцевого автомату, діаграма стану) – діаграма, на якій представлено кінцевий автомат з простими станами, переходами і композитними станами.
Кінцевий автомат (англ. State machine) – специфікація послідовності станів, через які проходить об’єкт у відповідь на події свого життя, а також відповідні його дії на ці події.
9. Діаграма прецедентів, Use case diagram (діаграма варіантів використання) — діаграма, на якій відображені відношення між дієвими особами та прецедентами. Її основна задача – дати єдиний засіб замовнику, користувачу та розробнику для сумісного обговорення функціональності та поведінки системи
10. Діаграми комунікації и послідовності виражають впорядковану у часі взаємодію об’єктів, послідовність повідомлень, якими вони обмінюються.
11.Діаграма огляду взаємодії, Interaction overview diagram — різновид діаграми діяльності, яки включає в себе фрагменти діаграми послідовності і конструкції потоку управління.
12. Діаграма синхронізації, Timing diagram — альтернативне представлення діаграми послідовності, в якій явним чином показано зміну стану на лінії життя об’єкта з заданою шкалою часу.