
- •Міністерство освіти Та науки україни Запорізький національний технічний університет
- •Методичні вказівки
- •Загальні положення
- •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
9.2 Порядок виконання роботи
При виконанні лабораторної роботи дотримуйтесь рекомендованого порядку.
Ознайомтесь з прикладом (листінг 9.1), наведеним у підрозділі 9.3.
Отримайте від викладача варіант завдання.
Розробіть схему алгоритму роботи програми.
Запишіть програму на мові програмування С++.
Створіть новий проект Visual Studio .NET” та введіть початковий код програми.
Проведіть її компіляцію з використанням середовища “Visual Studio .NET”.
Виправить синтаксичні та логічні помилки. Та повторіть компіляцію.
Запустить на виконання отриманий код.
Проведіть тестування для різних початкових даних.
Запишіть результати роботи програми та проконтролюйте їх коректність.
9.3 Приклад
Завдання. Створити клас для виконання поелементних операцій над масивами логічних значень. Передбачити наступні операції: ініціалізацію, операції AND, OR, NOT.
class Logic_basic{ protected: int n; bool* val; public: Logic_basic(); Logic_basic(int num, bool* src); Logic_basic(Logic* src); ~Logic_basic(); void setVal(int num, bool* src); int getVal(bool* dst); bool getElement(int i); bool setElement(int i, bool v); int length(); int and(Logic* src); int or(Logic* src); int not(); }; Logic_basic::Logic_basic(){ val = NULL; n = 0; } Logic_basic::Logic_basic(int num, bool* src){ val = new bool[num]; n = num; for(int i = 0; i < n; i++) val[i] = src[i]; }
Logic_basic::Logic_basic(Logic_basic* src){ n = src->length(); if(n != 0){ val = new bool[n]; src->getVal(val); } else{ val = NULL; } }
Logic_basic::~Logic_basic(){ if(val != NULL) delete val; } void Logic_basic::setVal(int num, bool* src){ if(val != NULL) delete val; val = new bool[num]; n = num; for(int i = 0; i < n; i++) val[i] = src[i]; } int Logic_basic::getVal(bool* src){ if((val == NULL) || (n == 0)) return -1; for(int i = 0; i < n; i++) src[i] = val[i]; return n; } bool Logic_basic::getElement(int i){ if((val == NULL) || (n == 0)) return false; if(i >= n) return false; return val[i]; } bool Logic_basic::setElement(int i, bool v){ if((val == NULL) || (n == 0)) return false; if(i >= n) return false; bool tmp = val[i]; val[i] = v; return tmp; }
int Logic_basic::length(){ return n; }
int Logic_basic::and(Logic_basic* src){ if((val == NULL) || (n == 0)) return -1; if(n != src->length()) return -1; for(int i = 0; i < n; i++){ val[i] = val[i] && src->getElement(i); } return n; }
int Logic_basic::or(Logic_basic* src){ if((val == NULL) || (n == 0)) return -1; if(n != src->length()) return -1; for(int i = 0; i < n; i++) val[i] = val[i] || src->getElement(i); return n; } int Logic_basic::not(){ if((val == NULL) || (n == 0)) return -1; for(int i = 0; i < n; i++) val[i] = !val[i]; return n; } |
Листінг 9.1 – Приклад виконання індивідуального завдання
9.4 Зміст звіту
Звіт з лабораторної роботи повинен містити:
мету роботи;
завдання на виконання роботи;
схему алгоритму роботи програми;
текст програми;
результати роботи програми для різних початкових даних;
висновки.