- •Об’єкто-орієнтоване
- •Методичні рекомендації та модульні завдання
- •§1. Об’єкт. Структура. Клас.
- •§2. Управління доступом до членів класу
- •§3. Перезавантаження функцій
- •§4. Шаблони функцій
- •§5. Конструктори
- •§6. Статичні члени класу
- •§7. Деструктори
- •§8. Перезавантаження операцій
- •§9. Друзі класу
- •§10. Бінарні й унарні операції
- •§11. Створення класів з підкласами. Агрегація
- •Файл реалізації “Stack.Cpp”
- •§12. Успадкування
- •§13. Ієрархія успадкування класів
- •Модуль 1 (20 балів)
- •Лабораторна робота №1 (6 балів)
- •Тема: Структури. Зовнішні функції і функції-члени структури.
- •Завдання
- •Варіанти завдань
- •Лабораторна робота №2 (6 балів) Тема: Перезавантаження операцій і функцій Завдання
- •Варіанти завдань
- •Лабораторна робота №3 (8 балів) Тема: Структури та класи Завдання
- •Варіанти завдань
- •Варіанти завдань
- •Визначити функції:
- •Визначити функції:
- •Визначити функції:
- •Визначити функції:
- •Визначити функції:
- •Варіанти завдань
- •Лабораторна робота №6 (8 балів) Тема: Абстрактні класи Завдання
- •Варіанти завдань
- •Модуль контроль (15 балів) Теоретичні питання
- •Теоретичні питання
- •Модуль контроль підсумковий (30 балів)
- •Тематика задач
- •Теоретичні питання
- •Розподіл балів і годин
- •Список літератури
- •Навчальне видання
- •Методичні рекомендації та модульні завдання
- •58012, Чернівці, вул. Коцюбинського, 2
Модуль 1 (20 балів)
Лабораторна робота №1 (6 балів)
Тема: Структури. Зовнішні функції і функції-члени структури.
Завдання
Структурою-парою називається структура, яка складається з двох полів, що зазвичай мають імена first і second. Необхідно реалізувати тип даних за допомогою такої структури. В усіх завданнях обов’язково повинні бути присутні:
ввід з клавіатури read.
функція check, яка повинна забезпечувати перевірку введених функцією read значень на коректність.
вивід на екран введеної інформації і результату (функція display).
При передачі помилкових значень параметрів слід вивести відповідне повідомлення і припинити виконання програми. Програму реалізувати у двох варіантах: спочатку необхідні функції описати як звичайні зовнішні функції, а потім переробити їх на функції-члени структури.
Варіанти завдань
Поле first – дробове число; поле second – ціле число, показник степені. Реалізувати метод power() – піднесення числа first до степені second. Метод повинен працювати вірно для усіх допустимих значень first та second.
Поле first – дробове число; поле second – дробове число, показник степені. Реалізувати метод power() – піднесення числа first до степені second. Метод повинен працювати вірно для усіх допустимих значень first та second.
Поле first – додатне ціле число, чисельник; поле second – додатне ціле число знаменник. Реалізувати метод ipart() – виділення цілої частини дробу first/second. Метод повинен перевіряти не рівність знаменника нулю.
Поле first – додатне ціле число, номінал купюри; номінал може приймати значення 1, 2, 5, 10, 50, 100, 500, 1000, 5000. Поле second – додатне ціле число, кількість купюр даного номіналу . Реалізувати метод summa() – обчислення грошової суми.
Поле first – додатне дробове число, ціна товару; поле second – додатне ціле число, кількість одиниць товару. Реалізувати метод cost() – обчислення вартості товару.
Поле first – додатне ціле число, калорійність 100 г. продукту; поле second – додатне дробове число, маса продукту в кілограмах. Реалізувати метод power() – обчислення загальної калорійності продукту.
Поле first – дробове число, ліва межа діапазону; поле second – дробове число, права межа діапазону. Реалізувати метод rangecheck() – перевірку заданого числа на належність діапазону.
Поле first – ціле число, ліва межа діапазону, належить діапазону; поле second – ціле число, права межа діапазону, не належить діапазону. Пара чисел задає напіввідкритий інтервал [first, second). Реалізувати метод rangecheck() – перевірку заданого числа на належність діапазону.
Поле first – додатне ціле число, години; поле second – додатне ціле число, хвилини. Реалізувати метод minutes() – переведення часу у хвилини.
Лінійне рівняння y=Ax+B. Поле first – дробове число, коефіцієнт A; поле second – дробове число, коефіцієнт B. Реалізувати метод function() – обчислення для заданого x значення функції y.
Лінійне рівняння Ax+B=0. Поле first – дробове число, коефіцієнт A; поле second – дробове число, коефіцієнт B. Реалізувати метод root() – обчислення кореня лінійного рівняння. Метод повинен перевірити нерівність коефіцієнта A нулеві.
Поле first – дробове число, координата x точки на площині; поле second – дробове число, координата y точки на площині. Реалізувати метод distance() – відстань від точки до початку координат.
Поле first – додатне дробове число, катет а прямокутного трикутника; поле second – додатне дробове число, катет b прямокутного трикутника. Реалізувати метод hypotenuse() – обчислення гіпотенузи.
Поле first – додатне дробове число, оклад; поле second – додатне ціле число, кількість відпрацьованих днів в місяці. Реалізувати метод summa() – обчислення нарахованої суми за дану кількість днів для заданого місяця:
оклад / дні місяця * відпрацьовані дні.
Поле first – додатне ціле число, тривалість телефонної розмови у хвилинах; поле second – додатне дробове число, вартість однієї хвилини в гривнях. Реалізувати метод cost() – обчислення загальної вартості розмови.
Поле first – дробове число, ціла частина числа; поле second – додатне дробове число, дробова частина числа. Реалізувати метод multiply() – множення його на довільне дробове число типу double. Метод повинен працювати коректно для будь-яких допустимих значеннях first і second.
Поле first – додатне ціле число, координати курсору по горизонталі; поле second – додатне ціле число, координати курсору по вертикалі. Реалізувати метод changex() – зміни горизонтальної координати курсору; реалізувати метод changey() – зміни вертикальної координати курсору. Методи повинні перевіряти вихід за межі екрану.
Поле first – додатне ціле число, ціла частина числа; поле second – додатне ціле число, дробова частина числа. Реалізувати метод multiply() – множення на довільне ціле число типу int. Метод повинен працювати вірно для усіх допустимих значень first та second.
Кількість можливих вибірок з n об’єктів по k об’єктів (k<n) обчислюється за формулою
C(n,k)=n! / ((n-k)!*k!)
Поле first – додатне ціле число, k; поле second – додатне ціле число, n. Реалізувати метод combination() – обчислення C(n,k).
Елемент aj геометричної прогресії обчислюється за формулою
aj = a0rj, j = 0, 1, 2, ..
Поле first – дробове число, перший елемент прогресії a0; поле second – додатне ціле число, r. Реалізувати метод element() – для обчислення заданого елементу прогресії.
Поле first – додатне ціле число, рік, поле second – додатне ціле число від 1 до 12 – номер місяця. Реалізувати метод DaysCount() – для обчислення кількості днів заданого місяця (врахувати, що рік може бути високосним).
Поля first та second – дійсні числа, які визначають координати точки в полярній системі координат. Реалізувати методи GetX() та GetY(), які обчислюють координати в прямокутній системі координат по відповідних осях.
Поля first та second – дійсні числа, які визначають відповідно число і його окіл. Реалізувати метод Check(), якій перевіряє чи попадає задане число в окіл.