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