- •Лабораторна робота № 1
- •Завдання для самостійної роботи Рівень 1.
- •Рівень 2.
- •Лабораторна робота № 2
- •Завдання для самостійної роботи
- •Лабораторна робота № 3
- •Завдання для самостійної роботи
- •Лабораторна робота № 4
- •Завдання для самостійної роботи
- •Лабораторна робота № 5
- •Завдання для самостійної роботи
- •Лабораторна робота № 6
- •Завдання для самостійної роботи
- •Лабораторна робота № 7
- •Завдання для самостійної роботи
- •Лабораторна робота № 8
- •Завдання для самостійної роботи
- •Лабораторна робота № 9
- •Завдання для самостійної роботи
- •Лабораторна робота № 10
- •Завдання для самостійної роботи
- •Лабораторна робота № 11
- •Завдання для самостійної роботи
- •Лабораторна робота № 12
- •Завдання для самостійної роботи
- •Лабораторна робота № 13
- •Завдання для самостійної роботи
- •Лабораторна робота № 14
- •Завдання для самостійної роботи
- •Лабораторна робота № 15
- •Завдання для самостійної роботи
- •Лабораторна робота № 16
- •Завдання для самостійної роботи
- •Лабораторна робота № 17
- •Завдання для самостійної роботи
- •Лабораторна робота № 18
- •Завдання для самостійної роботи
- •Лабораторна робота № 19
- •Завдання для самостійної роботи
- •Лабораторна робота № 20
- •Завдання для самостійної роботи
- •Лабораторна робота № 21
- •Завдання для самостійної роботи
- •Лабораторна робота № 22
- •Завдання для самостійної роботи
- •Лабораторна робота № 23
- •Завдання для самостійної роботи
Лабораторна робота № 10
Тема: Опис класів у С#. Конструктори, створення об’єктів. Статичні та члени та члени тільки для читання. Області видимості членів.
Мета роботи: Набуття навичок використання об’єктно-орієнтованого підходу до розробки програмного забезпечення.
Теоретичні відомості: матеріали лекцій (тема 17).
Завдання для самостійної роботи
Завдання 1.
-
Об’єкт “Текст”
поля
для зберігання послідовності символів;
для зберігання тематики вказаного тексту;
методи
визначення кількості букв у тексті;
визначення кількості пробілів (між словами один пробіл);
заміни кожного входження однієї букви на іншу;
видалення слова з вказаним порядковим номером.
Об’єкт “Вектор”
поля
для зберігання координат вектора;
для зберігання розмірності вектора;
методи
введення елементів вектора;
виведення елементів вектора у рядку;
визначення довжини вектора;
нормування вектора.
Об’єкт “Матриця”
поля
для зберігання елементів матриці;
для зберігання розмірності матриці;
методи
введення елементів матриці;
виведення елементів матриці;
знаходження найбільшого елемента;
знаходження найменшого елемента.
Об’єкт “Число”
поля
для зберігання натурального числа;
методи
введення числа;
виведення числа;
знаходження кількості цифр;
знаходження суми цифр.
Об’єкт “Число – масив цифр”
поля
для зберігання кількості цифр;
для зберігання натурального числа, як масиву цифр;
методи
введення числа;
виведення числа;
знаходження кількості входження деякої цифри;
знаходження суми цифр;
порівняння з іншим числом-масивом.
Об’єкт “Арифметична прогресія ”
поля
для зберігання першого члена;
для зберігання різниці;
методи
введення та виведення першого члена;
виведення та виведення різниці;
знаходження -го члена прогресії;
знаходження суми перших членів прогресії.
Об’єкт “Геометрична прогресія ”
поля
для зберігання першого члена;
для зберігання знаменника;
методи
введення та виведення першого члена;
виведення та виведення знаменника;
знаходження -го члена прогресії;
знаходження суми перших членів прогресії.
Об’єкт “Пряма на площині ”
поля
для зберігання коефіцієнтів канонічного рівняння прямої;
методи
введення та виведення коефіцієнтів;
знаходження точки перетину з іншою прямою;
встановлення паралельності з іншою прямою;
встановлення належності деякої точки прямій.
Об’єкт “Площина ”
поля
для зберігання рівняння площини;
методи
введення та виведення коефіцієнтів рівняння площини;
перевірка належності точки площині;
знаходження проекції точи на площину;
знаходження точки перетину прямої з площиною;
встановлення паралельності з іншою площиною.
Об’єкт “Множина цифр”
поля
для зберігання множини цифр;
методи
додавання нової цифри;
виведення цифр, які входять у множину на екран;
знаходження найбільшої цифри;
знаходження суми цифр.
Об’єкт “Стек” (реалізація стеку за допомогою одновимірного масиву цілих чисел)
поля
для зберігання вершини стеку (номера останнього доданого елемента);
масив елементів;
методи
виведення на екран;
додавання нового елементу;
видалення елементу;
знаходження суми елементів.
Об’єкт “Черга” (реалізація стеку за допомогою одновимірного масиву цілих чисел)
поля
для зберігання номерів першого та останнього елементів черги;
масив елементів;
методи
виведення на екран;
додавання нового елементу;
видалення елементу;
знаходження суми елементів.
Об’єкт “Впорядкований масив” (елементами масиву є цілі числа, які завжди впорядковані за зростанням)
поля
для зберігання кількості елементів масиву;
масив елементів;
методи
виведення на екран;
додавання нового елемента;
видалення вказаного елемента;
знаходження елемента, з використанням бінарного пошуку.
Об’єкт “Многокутник ” (зберігаються координати вершин)
поля
для зберігання кількості вершин;
масив вершин;
методи
введення/виведення координат вершин;
знаходження периметру;
знаходження площі;
належності точки ребру многокутника.
Завдання 2.
-
Об’єкт “Неорієнтований граф” (зберігається за допомогою матриці суміжності)
поля
для зберігання кількості вершин;
матриця суміжності;
методи
виведення на екран кількості вершин;
виведення на екран ребер графа;
додавання нового ребра;
видалення ребра;
пошук шляхів між двома заданими вершинами.
Об’єкт “Орієнтований граф із зваженими ребрами” (задається матриця вагів)
поля
для зберігання кількості вершин;
матриця вагів;
методи
виведення на екран кількості вершин;
виведення на екран ребер графа;
додавання нового ребра;
видалення ребра;
пошук найкоротшого шляху між двома заданими вершинами.
Об’єкт “Працівник” (використати члени-класи)
поля
прізвище та ініціали;
дата народження (член-клас);
дата прийняття на роботу (член-клас);
розмір заробітної плати;
методи
визначення стажу роботи працівника;
визначення віку працівника на даний момент;
визначення загальної виплаченої суми коштів протягом всього періоду роботи.
Об’єкт “Автомобіль” (використати члени-класи)
поля
марка;
відомості про виробника (член-клас) (назва фірми, рік заснування, номер телефону, обсяги виробництва);
відомості про продавця (член-клас) (назва фірми, рік заснування, номер телефону, обсяги продажу);
відомості про власника (член-клас) (прізвище та ініціали, ідентифікаційний код)
колір;
номер;
дата випуску (член-клас);
методи
визначення віку автомобіля;
зміни власника.
Об’єкт “Адреса мандрівника” (використати члени-класи)
поля
країна;
область;
місто/село;
вулиця;
номер будинку;
дата заповнення (член-клас);
термін перебування (кількість днів);
відомості про мандрівника (член-клас) (прізвище та ініціали, професія, дата народження (член-клас));
методи
визначення того, чи не закінчився термін перебування;
визначення кількості днів до закінчення терміну;
визначення кількості місяців перебування (на основі вказаної кількості днів).
Об’єкт “Студент ”
поля
прізвище та ініціали;
дата народження;
дата вступу;
курс
бали:
розмір стипендії;
методи
визначення середнього балу;
виведення дисциплін, бал з яких є нижчим за середній;
знаходження віку студента;
знаходження року закінчення навчання.
Об’єкт “Оператвина пам’ять ”
поля
фірма виробник;
дата виробництва;
об’єм (у Мб);
вартість;
методи
визначення об’єму у байтах, кілобайтах, гігабайтах;
встановлення того, чи поміститься інформація, об’єм якої вказано у різних одиницях виміру;
визначення часу, що пройшов з часу виробництва.
Об’єкт “Монітор”
поля
фірма виробник;
дата виробництва;
дата купівлі;
вартість;
тип монітора;
розміри монітора
методи
визначення «віку» монітора;
визначення того, чи можна вивести зображення на моніторі без масштабування;
визначення коефіцієнтів масштабування при виведенні зображення як із збереженням пропорції так і без збереження пропорції.
Об’єкт “Аудіо файл”
поля
формат файлу;
дата створення;
тривалість;
частота дискретизації;
глибина кодування;
методи
визначення «віку» файлу;
визначення кількості точок збереження за вказаний проміжок часу;
визначення об’єму файлу з вказаною тривалістю.
Об’єкт “Графічний файл ”
поля
назва (ім’я і розширення);
дата створення;
дата останнього редагування;
розміри;
глибина кольору;
методи
визначення часу з останнього редагування;
визначення об’єму файлу за вказаними розмірами;
зміни імені;
зміни розширення;
визначення кількості відтінків, які можна зберегти.
Об’єкт “Телефонний тариф”
поля
назва тарифу;
дата створення;
дата закінчення дії;
абонплата;
вартість хвилини;
методи
визначення часу до закінчення дії тарифу;
визначення вартості звінка за вказаною тривалістю;
визначення суми сплаченої абонплати між вказаними датами.
Об’єкт “Камери схову” (представити за допомогою одновимірного масиву комірок, як членів-класів, які містять на (зайнята чи вільна логічного типу та масиву відомостей про багаж) (використати члени-класи)
поля
кількість комірок для зберігання багажу;
одновимірний масив комірок, як членів-класів, які містять такі поля:
для визначення того чи зайнята комірка;
кількість одиниць багажу;
одновимірний масив, який містить інформацію про багаж як член-клас (дата отримання багажу, вага, термін зберігання, ідентифікаційний номер власника);
методи
виведення на екран кількості вільних та зайнятих комірок;
визначення кількості вільних комірок через вказану кількість днів (за умови, що новий багаж надходити не буде);
заповнення та звільнення комірок;
визначення загальної ваги вантажу;
визначення ваги вантажу, який належить власнику, ідентифікаційний номер якого надається.
Об’єкт “Готель” (використати члени-класи)
поля
назва готелю;
тип готелю;
кількість послуг та інформація про послуги як масив (для кожної послуги зберігається: назва послуги, вартість, тривалість);
кількість та масив інформації про кімнати (порядковий номер, кількість місць, вартість кімнати на одну добу, дата заїзду та дата виїзду жильців);
методи
виведення на екран послуг, які можуть бути виконані за вказану суму грошей та вказаний термін часу;
виведення на екран вільних номерів з вказаною кількістю місць;
визначення суми грошей, яку повинні заплати жильці вказаної кімнати при від’їзді;
визначення вказаної кількості кімнат за умови, що нових жильців приймати не будуть.
Об’єкт “Фірма” (використати члени-класи)
поля
назва фірми;
дата заснування (рік, місяць);
послуги (назва послуги, вартість, термін виконання);
адреси філіалів (країна, місто, вулиця, номер будинку);
методи
визначення кількості років існування фірми;
виведення всіх філіалів фірми у вказаному місті;
виведення на екран послуг, що можуть бути виконані за вказану суму грошей та вказаний термін часу;
Контрольні запитання
Що таке клас?
Для чого використовують класи?
Наведіть загальну схему опису класу та його реалізації.
Що таке поля, методи, члени класу?
Як здійснюється доступ до членів класу?
Що таке об’єкт?
Що таке конструктор?
Що таке конструктор за замовчування?
Що таке деструктор?
