Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP_Посібник (1).doc
Скачиваний:
8
Добавлен:
01.05.2019
Размер:
544.77 Кб
Скачать

Модуль 1 (20 балів)

Лабораторна робота №1 (6 балів)

Тема: Структури. Зовнішні функції і функції-члени структури.

Завдання

Структурою-парою називається структура, яка складається з двох полів, що зазвичай мають імена first і second. Необхідно реалізувати тип даних за допомогою такої структури. В усіх завданнях обов’язково повинні бути присутні:

  • ввід з клавіатури read.

  • функція check, яка повинна забезпечувати перевірку введених функцією read значень на коректність.

  • вивід на екран введеної інформації і результату (функція display).

При передачі помилкових значень параметрів слід вивести відповідне повідомлення і припинити виконання програми. Програму реалізувати у двох варіантах: спочатку необхідні функції описати як звичайні зовнішні функції, а потім переробити їх на функції-члени структури.

Варіанти завдань

  1. Поле first – дробове число; поле second – ціле число, показник степені. Реалізувати метод power() – піднесення числа first до степені second. Метод повинен працювати вірно для усіх допустимих значень first та second.

  2. Поле first – дробове число; поле second – дробове число, показник степені. Реалізувати метод power() – піднесення числа first до степені second. Метод повинен працювати вірно для усіх допустимих значень first та second.

  3. Поле first – додатне ціле число, чисельник; поле second – додатне ціле число знаменник. Реалізувати метод ipart() – виділення цілої частини дробу first/second. Метод повинен перевіряти не рівність знаменника нулю.

  4. Поле first – додатне ціле число, номінал купюри; номінал може приймати значення 1, 2, 5, 10, 50, 100, 500, 1000, 5000. Поле second – додатне ціле число, кількість купюр даного номіналу . Реалізувати метод summa() – обчислення грошової суми.

  5. Поле first – додатне дробове число, ціна товару; поле second – додатне ціле число, кількість одиниць товару. Реалізувати метод cost() – обчислення вартості товару.

  6. Поле first – додатне ціле число, калорійність 100 г. продукту; поле second – додатне дробове число, маса продукту в кілограмах. Реалізувати метод power() – обчислення загальної калорійності продукту.

  7. Поле first – дробове число, ліва межа діапазону; поле second – дробове число, права межа діапазону. Реалізувати метод rangecheck() – перевірку заданого числа на належність діапазону.

  8. Поле first – ціле число, ліва межа діапазону, належить діапазону; поле second – ціле число, права межа діапазону, не належить діапазону. Пара чисел задає напіввідкритий інтервал [first, second). Реалізувати метод rangecheck() – перевірку заданого числа на належність діапазону.

  9. Поле first – додатне ціле число, години; поле second – додатне ціле число, хвилини. Реалізувати метод minutes() – переведення часу у хвилини.

  10. Лінійне рівняння y=Ax+B. Поле first – дробове число, коефіцієнт A; поле second – дробове число, коефіцієнт B. Реалізувати метод function() – обчислення для заданого x значення функції y.

  11. Лінійне рівняння Ax+B=0. Поле first – дробове число, коефіцієнт A; поле second – дробове число, коефіцієнт B. Реалізувати метод root() – обчислення кореня лінійного рівняння. Метод повинен перевірити нерівність коефіцієнта A нулеві.

  12. Поле first – дробове число, координата x точки на площині; поле second – дробове число, координата y точки на площині. Реалізувати метод distance() – відстань від точки до початку координат.

  13. Поле first – додатне дробове число, катет а прямокутного трикутника; поле second – додатне дробове число, катет b прямокутного трикутника. Реалізувати метод hypotenuse() – обчислення гіпотенузи.

  14. Поле first – додатне дробове число, оклад; поле second – додатне ціле число, кількість відпрацьованих днів в місяці. Реалізувати метод summa() – обчислення нарахованої суми за дану кількість днів для заданого місяця:

оклад / дні місяця * відпрацьовані дні.

  1. Поле first – додатне ціле число, тривалість телефонної розмови у хвилинах; поле second – додатне дробове число, вартість однієї хвилини в гривнях. Реалізувати метод cost() – обчислення загальної вартості розмови.

  2. Поле first – дробове число, ціла частина числа; поле second – додатне дробове число, дробова частина числа. Реалізувати метод multiply() – множення його на довільне дробове число типу double. Метод повинен працювати коректно для будь-яких допустимих значеннях first і second.

  3. Поле first – додатне ціле число, координати курсору по горизонталі; поле second – додатне ціле число, координати курсору по вертикалі. Реалізувати метод changex() – зміни горизонтальної координати курсору; реалізувати метод changey() – зміни вертикальної координати курсору. Методи повинні перевіряти вихід за межі екрану.

  4. Поле first – додатне ціле число, ціла частина числа; поле second – додатне ціле число, дробова частина числа. Реалізувати метод multiply() – множення на довільне ціле число типу int. Метод повинен працювати вірно для усіх допустимих значень first та second.

  5. Кількість можливих вибірок з n об’єктів по k об’єктів (k<n) обчислюється за формулою

C(n,k)=n! / ((n-k)!*k!)

Поле first – додатне ціле число, k; поле second – додатне ціле число, n. Реалізувати метод combination() – обчислення C(n,k).

  1. Елемент aj геометричної прогресії обчислюється за формулою

aj = a0rj, j = 0, 1, 2, ..

Поле first – дробове число, перший елемент прогресії a0; поле second – додатне ціле число, r. Реалізувати метод element() – для обчислення заданого елементу прогресії.

  1. Поле first – додатне ціле число, рік, поле second – додатне ціле число від 1 до 12 – номер місяця. Реалізувати метод DaysCount() – для обчислення кількості днів заданого місяця (врахувати, що рік може бути високосним).

  2. Поля first та second – дійсні числа, які визначають координати точки в полярній системі координат. Реалізувати методи GetX() та GetY(), які обчислюють координати в прямокутній системі координат по відповідних осях.

  3. Поля first та second – дійсні числа, які визначають відповідно число і його окіл. Реалізувати метод Check(), якій перевіряє чи попадає задане число в окіл.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]