- •Рейтингова система оцінювання знань та умінь з ооп 2012-2013 н.Р.
- •Вимоги до звіту з лабораторних робіт
- •Класи потоків Лабораторна робота 1
- •1.1 Теоретичні відомості
- •1.1.1. Методи класів потоків
- •1.1.2. Маніпулятори
- •1.1.3. Деякі методи класів файлових потоків
- •1.2 Приклад програми Умова задачі
- •Алгоритм задачі
- •Текст програми
- •Результати виконання програми
- •1.3 Варіанти завдань
- •1.4 Контрольні запитання
- •Інкапсуляція. Інтерфейси класів . Діаграми прецедентів і класів Лабораторна робота 2
- •2.1 Теоретичні відомості Етапи об’єктно-орієнтованого проектування та моделювання
- •Діаграма варіантів використання(use-case diagram)
- •Ідентифікація класів
- •Ідентифікація атрибутів
- •Ідентифікація операцій (методів)
- •Типові схеми uml діаграм
- •2.2 Програма роботи
- •2.3 Варіанти завдань
- •2.4 Приклад виконання роботи Задача
- •Об’єктно-орієнтоване проектування Зображення класів в uml
- •Ідентифікація атрибутів
- •Структура проекту
- •Інтерфейси та реалізації класів програми
- •2.5 Контрольні запитання
- •Конструктори та деструктори класів Діаграми прецедентів і класів Лабораторна робота 3
- •3.1 Теоретичні відомості
- •3.2 Програма роботи
- •3.3 Варіанти завдань
- •3.4 Приклад виконання роботи Задача
- •Реалізація конструкторів і деструкторів деяких класів
- •3.5 Контрольні запитання
- •Методи класів: аксесори, ітератори, утілити, предикатні функції . Діаграми класів, діяльності, послідовності Лабораторна робота № 4
- •4.1 Теоретичні відомості
- •4.2 Програма роботи
- •4.3 Варіанти завдань
- •4.4 Приклад виконання роботи Задача
- •Реалізація деяких методів-аксесорів, предикатних функцій, функцій-утілит, методів, які забезпечують функціональність об’єктів
- •Результати виконання роботи
- •4.5 Контрольні запитання
- •Константні та статичні члени класів. Вбудовані функції. Діаграми класів, послідовності Лабораторна робота № 5
- •5.1 Теоретичні відомості
- •5.2 Програма роботи
- •5.3 Варіанти завдань
- •5.4 Приклад виконання роботи Задача 5_1
- •Приклади деяких константних елементів даних і методів класів
- •Фрагмент результатів виконання роботи
- •Задача 5_2
- •Приклади деяких статичних елементів даних і методів класів
- •Фрагмент результатів виконання роботи
- •5.5 Контрольні запитання
- •Перевантаження операцій та функцій. Дружні функції Діаграми класів, станів і переходів Лабораторна робота 6
- •6.1 Теоретичні відомості
- •6.2 Програма роботи
- •6.3 Варіанти завдань
- •6.4 Приклад виконання роботи
- •6.5 Контрольні запитання
- •Просте успадкування класів. Поліморфізм. Віртуальні функції Діаграма класів, кооперацій. Лабораторна робота 7
- •7.1 Теоретичні відомості
- •7.2 Програма роботи
- •9.2. Приклад програми Умова задачі 9
- •Алгоритм задачі 9
- •Текст програми 9
- •Результати роботи програми 9
- •9.3. Варіанти завдань
- •9.4. Контрольні запитання
- •Методи внутрішнього сортування (сортування масивів) Лабораторна робота 10
- •Методи зовнішнього сортування (сортування файлів) Лабораторна робота 11
1.1.2. Маніпулятори
Маніпулятори це функції, які використовуються для управління прапорами потоку та включаються у ланцюг операцій << або >>. Визначення маніпуляторів подано в файлі iomanip.h (табл. 1.2).
Таблиця 1.2 Формати маніпуляторів
Прості маніпулятори |
Дії маніпуляторів |
|
|
endl |
Символ '\n' розмістити у вихідний потік і викликати маніпулятор flush |
ends |
Символ '\0' розмістити у вихідний потік |
flush |
Очистити потік |
dec |
Встановити основу системи числення 10 |
hex |
Встановити основу системи числення 16 |
oct |
Встановити основу системи числення 8 |
ws |
Ігнорувати пробіли, що йдуть попереду при введенні даних |
Параметризовані маніпулятори |
Дії маніпуляторів |
setbase(int ) |
Задається основа для перетворення в іншу систему |
setfill(int) |
Задається символ, що заповнює |
setprecision(int) |
Задається точність дійсних чисел |
setw(int) |
Задається ширина поля (максимальна при введенні, мінімальна при виведенні) |
setiosflags(long) |
Встановлюються прапори у відповідності до параметра |
resetiosflags(long) |
Ігноруються прапори у відповідності до параметра |
1.1.3. Деякі методи класів файлових потоків
Для операцій з вхідними та вихідними файлами використовуються класи ifstream, ofstream, fstream, які є похідними від класів istream, ostream, тобто успадковують операції <<, >>, маніпулятори, прапори формату, стану потоків тощо. Формати деяких методів обробки файлів подано в табл. 1.3.
Таблиця 1.3 Методи класів обробки файлів
Формат метода |
Призначення метода |
void ifstream::open (const char *name, int m=ios::in, int prot=filebuf::openprot); |
Відкрити файл для зчитування |
void ofstream::open (const char *name, int m=ios::out, int prot=filebuf::openprot); |
Відкрити файл для запису |
istream& istream::seekg(long p,seek_dir point) |
Встановити покажчик потоку get із зміщенням р від позиції point |
istream& istream::get(char*, int len, char = '\n'); |
Вибрати символи з потоку кількістю len до заданого символу, що є розділяючим. |
long istream::tellg(); |
Повернути поточне значення покажчика get |
istream& istream::get(char&); istream& istream::get(); |
Читати символ або <enter> |
istream& istream::read(char*, int); |
Читати символи заданої кількості без символу '\n' |
ostream& ostream::write(const char*, int n); |
Записати до файлу вміст буфера кількістю n компонентів |
ostream& ostream::seekp(long p, seek_dir point) |
Розмістити покажчик на область put із зміщенням p від позиції point |
long ostream::tellp(); |
Повернути поточне значення покажчик put |
ostream& ostream::operator<<(тип); |
Вставити в потік об’єкти заданого типу |
Відкрити файли для читання або запису можна за допомогою конструктора при оголошенні покажчика на файл або за допомогою методу open() відповідних класів