Назад
Вперед
Зміст
Варіанти завдань
Варіант 1
Створити абстрактний клас Parent, який описує функцію і містить:
- Абстрактний метод Info (без параметрів), який повертає рядок, що містить інформацію про поля об'єкта;
- Абстрактний метод Metod(х) з параметром х, який обчислює та повертає значення функції у точці х.
На основі класу Parent реалізувати дочірній клас Child1, який описує лінійну функцію y=bx+c і містить:
- Поля b та c.
- Конструктор із двома параметрами: b та c.
- Перевизначити метод Info.
- Перевизначити метод Metod(x). Метод обчислює значення y за такою формулою: y=bx+c
На основі класу Parent реалізувати дочірній клас Child2, який описує квадратичну функцію y=a*x*x+b*x+c і містить:
- Поля a, b та c.
- Конструктор із трьома параметрами: a, b та c;
- Перевизначити метод Info.
- Перевизначити метод Metod(x). Метод обчислює та повертає значення y за формулою: y=a*x*x+b*x+c
У методі Main, у циклі з п'яти витків будемо випадковим чином визначати:
- Значення a, b та c для функції та аргумент х.
- Якщо a=0, то створюємо об'єкт класу Child1.
- Інакше створюємо об'єкт класу Child2.
- До створеного об'єкту застосовуємо:
- Метод Info та виводимо на екран рядок зі станом об'єкта,
- метод Metod(х) і виводимо на екран результат застосування цього методу.
Результат:
Варіант 2
Створити абстрактний клас Parent, який описує правильні тривимірні фігури і містить:
- pole1-довжина ребра;
- Конструктор з одним параметром, що присвоює значення полю pole1.
- Абстрактний метод Info– (без параметрів), який повертає рядок, що містить інформацію про поля об'єкта;
- Абстрактний метод Metod1, який обчислює та повертає площу повної поверхні об'єкта.
- Абстрактний метод Metod2, який обчислює та повертає об'єм об'єкта.
На основі класу Parent реалізувати дочірній клас Child1, який описує тетраедр і містить:
- Конструктор з одним параметром: довжина ребра. Для цього із батьківського класу викликається конструктор з одним параметром.
- Перевизначити метод Info.
- Перевизначити метод Metod1. Він обчислює площу повної поверхні тетраедра.
- Перевизначити метод Metod2. Він обчислює об'єм тетраедра.
На основі класу Parent реалізувати дочірній клас Child2, який описує куб і містить:
- Конструктор з одним параметром: довжина ребра. Для цього із батьківського класу викликається конструктор з одним параметром.
- Перевизначити метод Info.
- Перевизначити метод Metod1. Він обчислює та повертає площу повної поверхні куба.
- Перевизначити метод Metod2. Він обчислює та повертає об'єм куба.
У методі Main, у циклі з п'яти витків будемо випадковим чином визначати:
- Величину ребра;
- Тип об'єкта (тетраедр або куб)
- Якщо створюємо тетраедр, то створюємо об'єкт класу Child1.
- Якщо створюємо куб, то створюємо об'єкт класу Child2.
- До створеного об'єкту застосовуємо:
- метод Info та виводимо на екран рядок зі станом об'єкта, який повертає цей метод;
- метод Metod1, для обчислення площі повної поверхні об'єкта;
- метод Metod2 для обчислення об'єму об'єкта.
Результат:
Варіант 3
Створити абстрактний клас Parent, який описує транспорт і містить:
- pole1-швидкість;
- pole2-собівартість;
- pole3-вартість;
- Конструктор з двома параметрами, що надає значення першим двом полям.
- Абстрактний метод Info (без параметрів), який повертає рядок, що містить інформацію про поля об'єкта;
- Абстрактний метод Metod, який обчислює та повертає вартість об'єкта та заповнює поле pole3
На основі класу Parent реалізувати дочірній клас Child1, який описує морський транспорт і містить:
- Конструктор із двома параметрами: швидкість та собівартість. З батьківського класу викликається конструктор із двома параметрами.
- Перевизначити метод Info.
- Перевизначити метод Metod. Вартість = собівартість розділити на швидкість.
На основі класу Parent реалізувати дочірній клас Child2, який описує наземний транспорт і містить:
- Pole4-дорожній збір;
- Конструктор із трьома параметрами: швидкість, собівартість та дорожній збір. З батьківського класу викликається конструктор із двома параметрами.
- Перевизначити метод Info.
- Перевизначити метод Metod. Вартість = собівартість розділити на швидкість та додати дорожній збір.
У методі Main, у циклі з п'яти витків будемо випадковим чином визначати:
- Значення полів швидкість і собівартість;
- Тип транспорту (морський або наземний)
- Якщо створюємо морський, то створюємо об'єкт класу Child1.
- Якщо створюємо наземний, то визначаємо дорожній збір та створюємо об'єкт класу Child2.
- До створеного об'єкта застосовуємо спочатку метод Metod, щоб обчислити вартість, а потім виводимо на екран рядок зі станом об'єкта, який повертає метод Info.
Результат:
Варіант 4
Створити абстрактний клас Parent, який описує пресу і містить:
- pole1-назва;
- pole2-ціна;
- Конструктор з одним параметром, що присвоює значення полю pole1.
- Абстрактний метод Info– (без параметрів), який повертає рядок, що містить інформацію про поля об'єкта;
- Абстрактний метод Metod, який обчислює та повертає ціну та заповнює поле pole2.
На основі класу Parent реалізувати дочірній клас Child1, який описує журнал і містить:
- Pole3-якість паперу (high або low).
- Конструктор із двома параметрами: назва та якість паперу. З батьківського класу викликається конструктор із одним параметром.
- Перевизначити метод Info.
- Перевизначити метод Metod. Якщо якість паперу high, то ціна 200, інакше ціна 100.
На основі класу Parent реалізувати дочірній клас Child2, який описує книгу і містить:
- Pole4-тип обкладинки (hard або soft);
- Pole5-кількість сторінок;
- Конструктор із трьома параметрами: назва, тип обкладинки та кількість сторінок. З батьківського класу викликається конструктор із одним параметром.
- Перевизначити метод Info.
- Перевизначити метод Metod. Ціна книги = кількість сторінок помножити на 0.2. Якщо обкладинка hard, то до ціни додається 15, інакше додається 5.
У методі Main, у циклі з п'яти витків потрібно випадковим чином визначати:
- Тип об'єкта (журнал або книга)
- Якщо створюємо журнал, то визначаємо, який буде папір (high або low) та створюємо об'єкт класу Child1.
- Якщо створюємо книгу, то визначаємо кількість сторінок і яка буде обкладинка (hard або soft) та створюємо об'єкт класу Child2.
- До створеного об'єкта застосовуємо спочатку метод Metod, щоб обчислити ціну, а потім виводимо на екран рядок зі станом об'єкта, який повертає метод Info.
Результат:
Варіант 5
Створити абстрактний клас Parent, який описує рівняння і містить:
- Абстрактний метод Info (без параметрів), який повертає рядок, що містить інформацію про поля об'єкта;
- Абстрактний логічний метод Metod1, який визначає, чи є у рівняння коріння.
- Абстрактний метод Metod2, який повертає рядок, що містить коріння.
На основі класу Parent реалізувати дочірній клас Child1, який описує лінійне рівняння bx+c=0 і містить:
- Поля b та c.
- Конструктор із двома параметрами: b та c.
- Перевизначити метод Info.
- Перевизначити метод Metod1. У рівняння немає коріння, якщо b=0 і c!=0
- Перевизначити метод Metod2. X=-c/b;
На основі класу Parent реалізувати дочірній клас Child2, що описує квадратне рівняння a*x*x+b*x+c =0 і містить:
- Поля a, b та c.
- Конструктор із трьома параметрами: a, b та c;
- Перевизначити метод Info.
- Перевизначити метод Metod1. У рівняння немає коріння, якщо D=b*b-4*a*c менше 0;
- Перевизначити метод Metod2. Коріння знаходиться за формулами для квадратного рівняння.
У методі Main, у циклі з п'яти витків будемо випадковим чином отримувати:
- Значення a, b та c.
- Якщо a=0, то створюємо об'єкт класу Child1.
- Інакше створюємо об'єкт класу Child2.
- До створеного об'єкту застосовуємо:
- метод Info та виводимо на екран рядок зі станом об'єкта,
- метод Metod1 і визначаємо, чи є коріння.
- Якщо коріння є, то знаходимо його за допомогою методу Metod2 і виводимо на екран.
- Якщо коріння немає, виводимо повідомлення.
Результат:
Варіант 6
Створити абстрактний клас Parent, який описує прогресію та містить:
- Поле a-перший член;
- Поле d-різниця чи знаменник;
- Поле n-номер члена чи кількість членів.
- Конструктор із трьома параметрами: a, d, n.
- Абстрактний метод Info (без параметрів), який повертає рядок, що містить інформацію про поля об'єкта;
- Абстрактний метод Metod1, який обчислює та повертає n-й елемент прогресії.
- Абстрактний метод Metod2, який обчислює та повертає суму перших n елементів.
На основі класу Parent реалізувати дочірній клас Child1, який описує арифметичну прогресію і містить:
- Конструктор із трьома параметрами: a, d, n. Викликати конструктор із базового класу.
- Перевизначити метод Info.
- Перевизначити метод Metod1 за формулою для арифметичної прогресії;
- Перевизначити метод Metod2 за формулою для арифметичної прогресії.
На основі класу Parent реалізувати дочірній клас Child2, який описує геометричну прогресію і містить:
- Конструктор із трьома параметрами: a, d, n. Викликати конструктор із базового класу.
- Перевизначити метод Info.
- Перевизначити метод Metod1 за формулою для геометричної прогресії;
- Перевизначити метод Metod2 за формулою для геометричної прогресії.
У методі Main, у циклі з п'яти витків випадковим чином визначати:
- Значення a, d, n і x (тип прогресії);
- Якщо х=0, то створюємо об'єкт класу Child1.
- Інакше створюємо об'єкт класу Child2.
- До створеного об'єкта застосувати:
- метод Info та вивести на екран рядок зі станом об'єкта,
- Застосувати до об'єкта Metod1 і обчислити n-й елемент прогресії.
- Застосувати до об'єкта Metod2 та обчислити суму перших n елементів.
- Вивести на екран отримані значення.
Результат:
Варіант 7
Створити абстрактний клас Parent, який описує допомогу і містить:
- pole1-мінімальна допомога;
- Конструктор, з одним параметром, що надає значення цьому полю.
- Абстрактний метод Info– (без параметрів), який повертає рядок, що містить інформацію про поля об'єкта;
- Абстрактний метод Metod-обчислює і повертає розмір допомоги.
На основі класу Parent реалізувати дочірній клас Child1, який описує допомогу з інвалідності та містить:
- Pole2–номер групи інвалідності (1, 2, 3);
- Конструктор із двома параметрами: мінімальна допомога та група інвалідності. З батьківського класу викликається конструктор із одним параметром.
- Перевизначити метод Info.
- Перевизначити метод Metod.
- Якщо Pole2=1, то розмір допомоги = pole1*3
- Інакше розмір допомоги = pole1*2
На основі класу Parent реалізувати дочірній клас Child2, який описує допомогу багатодітним і містить:
- Pole3-кількість дітей;
- Конструктор із двома параметрами: мінімальна допомога та кількість дітей. З батьківського класу викликається конструктор з одним параметром.
- Перевизначити метод Info.
- Перевизначити метод Metod.
- Якщо кількість дітей від 3 до 5, то розмір допомоги = pole1*1.3
- Якщо більше 5, розмір допомоги = pole1*1.5
У методі Main, випадково визначатимемо:
- Розмір мінімальної допомоги;
- У циклі з п'яти витків:
- Отримуємо випадково тип допомоги (за інвалідністю або багатодітним)
- Якщо за інвалідністю, то випадково отримуємо групу і створюємо об'єкт класу Child1.
- Якщо багатодітним, то випадково отримуємо кількість дітей і створюємо об'єкт класу Child2.
- Виводимо рядок зі станом об'єкта, який повертає метод Info.
- До створеного об'єкта застосовуємо метод Metod, щоб обчислити розмір допомоги та виводимо результат на екран
Результат:
Варіант 8
Створити абстрактний клас Parent, який описує залізничний вагон і містить:
- pole1-ціна квитка;
- pole2-кількість місць;
- pole3-дохід з вагона;
- Конструктор з двома параметрами, що надає значення першим двом полям.
- Абстрактний метод Info– (без параметрів), який повертає рядок, що містить інформацію про поля об'єкта;
- Абстрактний метод Metod- який обчислює і повертає дохід та заповнює поле pole3
На основі класу Parent реалізувати дочірній клас Child1, який описує загальний вагон і містить:
- Конструктор із двома параметрами: ціна квитка та кількість місць. З батьківського класу викликається конструктор із двома параметрами.
- Перевизначити метод Info.
- Перевизначити метод Metod. Дохід = pole1 * pole2.
На основі класу Parent реалізувати дочірній клас Child2, який описує плацкартний вагон і містить:
- Pole4 – вартість додаткових послуг на одного пасажира;
- Конструктор із трьома параметрами: ціна квитка, кількість місць та вартість додаткових послуг. З батьківського класу викликається конструктор із двома параметрами.
- Перевизначити метод Info.
- Перевизначити метод Metod. Дохід = pole1 * pole2 + pole2 * pole4 * 0.5
На основі класу Parent реалізувати дочірній клас Child3 описує купейний вагон і містить:
- Pole5 – вартість додаткових послуг на одного пасажира;
- Конструктор із трьома параметрами: ціна квитка, кількість місць та вартість додаткових послуг. З батьківського класу викликається конструктор із двома параметрами.
- Перевизначити метод Info.
- Перевизначити метод Metod. Дохід = pole2 * (pole1 + pole5)
У методі Main, у циклі з п'яти витків випадковим чином визначати:
- Тип вагона (загальний, плацкартний або купейний)
- Якщо вагон загальний, то:
- Випадково визначаємо ціну квитка та кількість місць;
- створюємо об'єкт класу Child1.
- Якщо вагон плацкартний, то:
- Випадково визначаємо ціну квитка, кількість місць та вартість додаткових послуг;
- створюємо об'єкт класу Child2.
- Якщо вагон купейний, то:
- Випадково визначаємо ціну квитка, кількість місць та вартість додаткових послуг;
- створюємо об'єкт класу Child3.
- До створеного об'єкта застосовуємо спочатку метод Metod, щоб обчислити дохід та заповнити поле pole3, а потім виводимо на екран рядок про стан об'єкта, який повертає метод Info.
Результат:
Варіант 9
Створити абстрактний клас Parent, який описує платника податків і містить:
- Абстрактний метод Info– (без параметрів), який повертає рядок, що містить інформацію про поля об'єкта;
- Абстрактний метод Metod-який обчислює і повертає податок.
На основі класу Parent реалізувати дочірній клас Child1, який описує платника податків – фізичну особу та містить:
- pole1 - загальний дохід;
- pole2 – ставка податку (%);
- Конструктор із двома параметрами: дохід та відсоток.
- Перевизначити метод Info.
- Перевизначити метод Metod. Податок = pole1 * pole2/100.
На основі класу Parent реалізувати дочірній клас Child2, який описує юридичну особу та містить:
- Pole3 – виторг від продажів;
- Pole4 – собівартість;
- Pole5 – додаткові витрати;
- Pole6 - ставка податку (%);
- Конструктор з чотирма параметрами, що надає значення всім полям;
- Перевизначити метод Info.
- Перевизначити метод Metod.
- Прибуток = pole3 - pole4 - pole5;
- Податок= прибуток* pole6/100.
У методі Main, у циклі з п'яти витків будемо випадковим чином визначати:
- Тип платника податків (фізична чи юридична особа)
- Якщо особа фізична, то випадково визначаємо загальний дохід, податкову ставку та створюємо об'єкт класу Child1.
- Якщо особа юридична, то випадково визначаємо виручку, собівартість, додаткові витрати та податкову ставку та створюємо об'єкт класу Child2.
- Виводимо на екран рядок про стан об'єкта, який повертає метод Info.
- До створеного об'єкта застосувати метод Метод, який обчислює податок, та виводимо його на екран
Результат:
Варіант 10
Створити абстрактний клас Parent, який описує геометричні тіла і містить:
- Абстрактний метод Info– (без параметрів), який повертає рядок, що містить інформацію про поля об'єкта;
- Абстрактний метод Metod1- обчислює і повертає площу повної поверхні об'єкта.
- Абстрактний метод Metod2- обчислює та повертає об'єм об'єкта.
На основі класу Parent реалізувати дочірній клас Child1, що описує прямокутний паралелепіпед і містить:
- Поля: pole1, pole2, pole3- ребра;
- Конструктор з трьома параметрами, що надає значення полям.
- Перевизначити метод Info.
- Перевизначити метод Metod1. Він обчислює площу повної поверхні прямокутного паралелепіпеда.
- Перевизначити метод Metod2. Він обчислює об'єм паралелепіпеда.
На основі класу Parent реалізувати дочірній клас Child2, який описує конус і містить:
- Поля: pole4-радіус основи, pole5-висота;
- Конструктор з двома параметрами, який надає значення полям.
- Перевизначити метод Info.
- Перевизначити метод Metod1. Він обчислює площу повної поверхні конуса.
- Перевизначити метод Metod2. Він обчислює об'єм конуса.
На основі класу Parent реалізувати дочірній клас Child3, який описує кулю і містить:
- Поля: pole6-радіус кулі;
- Конструктор з одним параметром, який надає значення полю.
- Перевизначити метод Info.
- Перевизначити метод Metod1. Він обчислює площу поверхні кулі.
- Перевизначити метод Metod2. Він обчислює об'єм кулі.
У методі Main, у циклі з п'яти витків будемо випадковим чином визначати:
- Тип об'єкта (паралелепіпед, конус або куля);
- Якщо створюємо паралелепіпед, то визначаємо випадково ребра та створюємо об'єкт класу Child1.
- Якщо створюємо конус, то випадково визначаємо радіус основи і висоту і створюємо об'єкт класу Child2.
- Якщо створюємо кулю, то визначаємо випадково радіус кулі та створюємо об'єкт класу Child3.
- До створеного об'єкту застосовуємо:
- метод Info та виводимо на екран рядок зі станом об'єкта, який повертає цей метод;
- метод Metod1, для обчислення площі повної поверхні об'єкта;
- метод Metod2 для обчислення об'єму об'єкта.
- Виводимо результати на екран
Результат:
Варіант 11
Створити абстрактний клас Parent, який описує літак і містить:
- pole1-швидкість;
- pole2-висота польоту;
- pole3-вартість;
- Конструктор з двома параметрами, що надає значення першим двом полям.
- Абстрактний метод Info– (без параметрів), який повертає рядок, що містить інформацію про поля об'єкта;
- Абстрактний метод Metod, що обчислює і повертає вартість об'єкта та заповнює поле pole3
На основі класу Parent реалізувати дочірній клас Child1, який описує пасажирський літак і містить:
- Конструктор із двома параметрами: швидкість та висота. З батьківського класу викликається конструктор із двома параметрами.
- Перевизначити метод Info.
- Перевизначити метод Metod. Вартість = pole1 * 1000 + pole2 * 100.
На основі класу Parent реалізувати дочірній клас Child2, який описує винищувач і містить:
- Конструктор із двома параметрами: швидкість та висота. З батьківського класу викликається конструктор з двома параметрами.
- Перевизначити метод Info.
- Перевизначити метод Metod. Вартість = pole1 * 3000 + pole2 * 200.
На основі класу Parent реалізувати дочірній клас Child3, який описує бомбардувальник і містить:
- pole4 - кількість бомб;
- Конструктор із трьома параметрами: швидкість, висота та кількість бомб. З батьківського класу викликається конструктор із двома параметрами.
- Перевизначити метод Info.
- Перевизначити метод Metod. Вартість = pole1 * 1500 + pole2 * 150 + pole4 * 50.
У методі Main, у циклі з п'яти витків будемо випадковим чином визначати:
- Тип літака (пасажирський, винищувач або бомбардувальник)
- Якщо створюємо пасажирський, то визначаємо випадково швидкість та висоту та створюємо об'єкт класу Child1.
- Якщо створюємо винищувач, то визначаємо випадково швидкість та висоту та створюємо об'єкт класу Child2.
- Якщо створюємо бомбардувальник, то випадково визначаємо швидкість, висоту, кількість бомб і створюємо об'єкт класу Child3.
- До створеного об'єкта застосовуємо спочатку метод Metod, щоб обчислити вартість, а потім виводимо на екран рядок зі станом об'єкта, який повертає метод Info.
Результат:
Варіант 12
Створити абстрактний клас Parent, який описує співробітника і містить:
- pole1-зарплата;
- pole2-премія;
- Абстрактний метод Info– (без параметрів), який повертає рядок, що містить інформацію про поля об'єкта;
- Абстрактний метод Metod1- що обчислює і повертає розмір зарплати. Метод заповнює поле pole1.
- Абстрактний метод Metod2- що обчислює та повертає розмір премії. Метод заповнює поле pole2.
На основі класу Parent реалізувати дочірній клас Child1, який описує співробітника, який працює на ставці і містить:
- Конструктор із одним параметром: ставка. Заповнюється поле pole1
- Перевизначити метод Info.
- Перевизначити метод Metod1. Метод повертаємо значення pole1
- Перевизначити метод Metod2. Премія дорівнює 25% від зарплати.
На основі класу Parent реалізувати дочірній клас Child2, який описує службовця, що отримує погодинну зарплату і містить:
- pole3 - кількість годин
- pole4 - вартість 1 години
- Конструктор з двома параметрами: кількість годин та вартість однієї години.
- Перевизначити метод Info.
- Перевизначити метод Metod1. Зарплата = pole3 * pole4
- Перевизначити метод Metod2. Премія завжди дорівнює 2000;
На основі класу Parent реалізувати дочірній клас Child3, який описує службовця, що отримує відсоток від суми продажів і містить:
- Pole5 – сума продажу;
- Конструктор з одним параметром: сума продажу;
- Перевизначити метод Info.
- Перевизначити метод Metod1. Зарплата дорівнює 10% суми продажу.
- Перевизначити метод Metod2. Премія дорівнює 20% від зарплати.
У методі Main, у циклі з п'яти витків будемо випадковим чином визначати:
- Тип співробітника (за ставкою, погодинником або відсотком)
- Якщо за ставкою, то випадково отримуємо ставку і створюємо об'єкт класу Child1.
- Якщо погодинник, то випадково отримуємо кількість годин, вартість години і створюємо об'єкт класу Child2.
- Якщо на відсотку, то випадково отримуємо суму продажу і створюємо об'єкт класу Child3.
- До створеного об'єкта застосовуємо методи Metod1 і Metod2, щоб обчислити розмір зарплати та премії;
- Виводимо рядок зі станом об'єкта, який повертає метод Info.
Результат:
Назад
Вперед
Зміст