Назад
Уперед
Зміст
Варіанти завдань
Завдання 1
- У кожному варіанті створити батьківський і дочірній класи.
- У батьківському класі описати зазначені поля, створити конструктор, а також метод Q, який обчислює “якість” об'єкта.
- У дочірньому класі описати додаткове поле p і метод Qp, який визначає “уточнена якість” об'єкта ( з урахуванням значення поля p).
- У методі Main:
- У циклі із трьох витків випадковим образом одержувати значення вхідних даних.
- Створити об'єкт дочірнього класу.
- За допомогою успадкованого методу Q обчислити якість об'єкта.
- За допомогою власного методу Qp обчислити “Уточнену якість” об'єкта.
Варіант 1
Батьківський клас - автомобіль:
- Поле потужність двигуна (кВт);
- Поле кількість місць;
- Метод Q=(0,1*Потужність)+Кількість місць
Дочірній клас:
- Додаткове поле p - рік виготовлення;
- Метод Qp=Q-1,5*(t-p), де t- поточний рік
Варіант 2
Батьківський клас - людей:
- Поле самооцінка ( від 1 до 5);
- Поле оцінка іншими людьми ( від 1 до 5);
- Метод Q=(оцінка іншими)/(самооцінка)
Дочірній клас:
- Додаткове поле p - оцінка нащадками ( від 1 до 5);
- Метод Qp=0,3*Q+0,7*P
Варіант 3
Батьківський клас - телевізор:
- Поле діагональ екрана (див);
- Поле звукова потужність (дб);
- Метод Q=діагональ+0,05*Потужність
Дочірній клас:
- Додаткове поле p - cтрана виготовлювач
- Метод: якщо країна Японія, то Qp=2*Q, в інших випадках Qp=1,5*Q.
Варіант 4
Батьківський клас - мушкетер:
- Поле число дуелей;
- Поле число коханок;
- Метод Q=2*число дуелей + число коханок
Дочірній клас:
- Додаткове поле p - число пляшок, які випиває за 1 раз
- Метод Qp=Q+0,5*p
Варіант 5
Батьківський клас - іспит:
- Поле число студентів на іспиті;
- Поле тривалість іспиту (година);
- Метод Q=число студентів/тривалість іспиту
Дочірній клас:
- Додаткове поле p - відсоток двійок ( від 1 до 100);
- Метод Qp=Q*( 100-р)/100
Варіант 6
Батьківський клас - солдатів:
- Поле ріст;
- Поле вага;
- Метод Q=ріст*вага
Дочірній клас:
- Додаткове поле p - освіта (початкова, середня, вища);
- Метод: якщо освіта вища, то Qp=2*Q, в інших випадках Qp=1,5*Q
Варіант 7
Батьківський клас - комп'ютерна мережа:
- Поле число робочих станцій;
- Поле відстань між станціями (м);
- Метод Q=число станцій* відстань
Дочірній клас:
- Додаткове поле p - швидкість передачі (Мб/с);
- Метод: Qp=Q*р
Варіант 8
Батьківський клас - полководець:
- Поле число битв;
- Поле число перемог;
- Метод Q=число перемог* число перемог/число битв
Дочірній клас:
- Додаткове поле p - число перемог з меншими, ніж у супротивника силами;
- Метод: Qp= Q + p*p/число битв
Варіант 9
Батьківський клас - будинок:
- Поле число число кімнат;
- Поле рік будівлі;
- Метод Q=число кімнат+2/( t-рік будівлі), де t- поточний рік
Дочірній клас:
- Додаткове поле p - район (центральний, окраїна);
- Метод: якщо район центральний, то Qp=Q*2, а якщо ні, то Qp=Q*0,5
Варіант 10
Батьківський клас - королева краси:
- Поле оцінка краси ( від 1 до 5);
- Поле ріст;
- Метод Q=краса+ріст*0,5
Дочірній клас:
- Додаткове поле p - інтелект;
- Метод: Qp=Q+0,01*р
Варіант 11
Батьківський клас - партія:
- Константа const int XX=10000 - необхідна чисельність для того, щоб партія могла послати свого представника в парламент;
- Поле поточна чисельність;
- Поле відсоток голосів на останніх виборах;
- Метод Q=0,3*чисельність+0,7*відсоток
Дочірній клас:
- Додаткове логічне поле p - партія посилає свого представника в парламент чи ні;
- Метод: якщо посилає, то Qp=Q*1,2, а якщо ні, то Qp=Q*0,8
Варіант 12
Батьківський клас - програміст:
- Поле число написаних програм;
- Поле число мов програмування, якими володіє;
- Метод Q=число програм*число мов
Дочірній клас:
- Додаткове поле p - число програм, які працюють правильно;
- Метод: Qp=Q*р/число всіх програм
Варіант 13
Батьківський клас - мітинг:
- Поле n1=число ораторів;
- Поле n2=число учасників;
- Метод Q=(n2-n1)*n2
Дочірній клас:
- Додаткове поле p - число ораторів, які висловлювали однакові думки;
- Метод: Qp=Q*р
Варіант 14
Батьківський клас - вуз:
- Поле число прийнятих на 1-й курс;
- Поле число випускників, які закінчили вуз;
- Метод Q=число випускників/число прийнятих
Дочірній клас:
- Додаткове поле p - відсоток випускників, які працюють за спеціальністю;
- Метод: Qp=Q*р
Варіант 15
Батьківський клас - папуга:
- Поле вік;
- Поле розмір (у балах від 1 до 5);
- Метод Q=вік*розмір
Дочірній клас:
- Додаткове логічне поле p - уміння говорити;
- Метод: якщо вміє говорити, то Qp=Q*10, якщо не вміє, то Qp=Q
Варіант 16
Батьківський клас - спектакль:
- Поле n1=число глядачів на початку спектаклю;
- Поле n2=число глядачів наприкінці;
- Метод Q=n2/n1
Дочірній клас:
- Додаткове поле p - рік написання п'єси;
- Метод: Qp=Q*( t-р+1), де t- поточний рік
Варіант 17
Батьківський клас - демонстрація:
- Поле n1=число учасників;
- Поле n2=число міліціонерів;
- Метод Q=n2*n1
Дочірній клас:
- Додаткове логічне поле p - дозволена демонстрація чи ні;
- Метод: якщо дозволена, Qp=Q, якщо ні, Qp=10*Q
Завдання 2
У кожному варіанті створити батьківський і дочірній класи.
У методі Main:
- Створити об'єкт батьківського класу і застосувати до нього всі методи цього класу.
- Створити об'єкт дочірнього класу і застосувати до нього всі методи батьківського класу і нові методи дочірнього класу.
- Якщо в дочірньому класі метод перевизначається, то обов'язково додати в цей метод коментар, який ідентифікує метод.
Варіант 1
Створити клас Point, що описує точку на площині по двом її координатам і утримуючий:
- Поле координати x;
- Поле координати y;
- Конструктор, з двома параметрами, що привласнює значення цим полям.
- Метод Print – вивод координат точки на екран.
- Метод Leng –знаходження відстані від даної точки до початку координат.
Створити дочірній клас Colorpoint, що описує кольорову точку на площині і утримуючий:
- Поле типу Consolecolor, що містить колір точки.
- Конструктор. У конструкторові класу використовувати три параметри – координати точки і колір.
- Перевизначаємо метод Print – вивод координат точки на екран. Повідомлення виводиться переданим кольором.
У методі Main у циклі із двох витків:
- Випадковим образом одержати значення координат точки.
- Створити об'єкт батьківського класу і застосувати до нього його методи.
- Створити об'єкт дочірнього класу на першому витку синього кольору, на другому витку червоного кольору.
- Застосувати до об'єкта дочірнього класу успадкований і перепевний методи.
Відпрацьовування:
Варіант 2
Створити клас Pryam, що описує прямокутник по двом сторонам і утримуючий:
- Поле довжина першої сторони;
- Поле довжина другої сторони;
- Конструктор, з двома параметрами, що привласнює значення цим полям.
- Метод Sqr - знаходження площі прямокутника.
- Метод Diag –знаходження діагоналі прямокутника.
Створити дочірній клас Kvadrat, що описує квадрат і утримуючий:
- Конструктор. У конструкторові класу використовувати один параметр – сторону квадрата.
- Власний метод Radius, що обчислює радіус уписаної окружності. Радіус дорівнює половині сторони.
У методі Main:
- У методі Main у циклі з п'яти витків випадковим образом одержувати значення сторін.
- Якщо сторони різні ( тобто це прямокутник), то створювати об'єкт батьківського класу і застосовувати до нього методи Sqr і Diag.
Якщо сторони збігаються ( тобто це квадрат), то створювати об'єкт дочірнього класу і застосовувати до нього методи батьківського класу,
а також власний метод Radius.
Відпрацьовування:
Варіант 3
Створити клас Ellips, що описує еліпс і утримуючий:
- Поле a - довжина більшої півосі;
- Поле b - довжина меншої півосі;
- Конструктор, з двома параметрами, що привласнює значення цим полям.
- Метод Sqr - знаходження площі еліпса (добуток двох його півосей на число пі);
- Метод Eks-знаходження ексцентриситету:
Створити дочірній клас Krug, що описує коло утримуючий:
- Конструктор. У конструкторові класу використовувати один параметр r - радіус кола.
- Перевизначити метод Sqr. Площу обчислювати по формулі для площі кругу. У методі обов'язково повинен виводитися коментар, який ідентифікує метод.
- Додати метод Leng обчислення довжини окружності.
У методі Main:
- У методі Main у циклі з п'яти витків випадковим образом одержувати значення півосей еліпса.
- Якщо півосі збігаються ( тобто це коло), то створювати об'єкт дочірнього класу і
застосовувати до нього методи Sqr, Leng і Eks. Якщо півосі не збігаються ( тобто це еліпс),
то створювати об'єкт батьківського класу і застосовувати до нього методи Sqr і Eks.
Відпрацьовування:
Варіант 4
Створити клас Parall, що описує паралелепіпеди і утримуючий:
- Поле a - довжина;
- Поле b - ширина;
- Поле c - висота;
- Конструктор, з трьома параметрами, що привласнює значення цим полям.
- Метод Sqr - площа поверхні паралелепіпеда =
2*(a*b+b*c+a*c);
- Метод V- обсяг паралелепіпеда = a*b*c.
Створити дочірній клас Kub, що описує куб утримуючий:
- Конструктор. У конструкторові класу використовувати один параметр – ребро куба.
- Перевизначити метод Sqr. Площу обчислювати по формулі площа=6*a*a. У методі обов'язково повинен виводитися коментар, який ідентифікує метод.
У методі Main:
- У циклі з п'яти витків випадковим образом одержувати значення ребер паралелепіпеда.
- Якщо всі три ребра рівні ( тобто це куб), то створювати об'єкт дочірнього класу і застосовувати до нього методи Sqr і V. Якщо ребра не рівні ( тобто це паралелепіпед), то створювати об'єкт батьківського класу і застосовувати до нього ті ж методи.
Відпрацьовування:
Варіант 5
Створити клас Triangle, який описує трикутник по двом сторонам і куту, що містить:
- Поле довжина першої сторони;
- Поле довжина другої сторони;
- Поле кут між сторонами (у радіанах)
- Поле c- довжина третьої сторони;
- Поле p - півпериметр.
- Конструктор, з трьома параметрами (дві сторони і кут), що привласнює значення всім полям.
У конструкторові перевести кут з градусів у радіани, а також обчислити величину третьої сторони і півпериметр.
Сторону визначати по теоремі косинусів:
- Метод Sqr - знаходження площі трикутника по формулі Герона. У методі обов'язково повинен виводитися коментар, який ідентифікує метод.
- Метод Radius-знаходження радіуса вписаної окружності трикутника. У методі обов'язково повинен виводитися коментар, який ідентифікує метод.
Створити дочірній клас Rectangular, що описує прямокутний трикутник і утримуючий:
- Конструктор. У конструкторові класу використовувати два параметри – катети прямокутного трикутника. Куту привласнити значення pi/2
- Перевизначити метод Sqr, що обчислює площу прямокутного трикутника як половину добутку його катетів. У методі обов'язково повинен виводитися коментар, який ідентифікує метод.
- Перевизначити метод Radius, що обчислює радіус уписаної окружності. У методі обов'язково повинен виводитися коментар, який ідентифікує метод.
У методі Main:
- У циклі з п'яти витків випадковим образом одержувати значення сторін і кута між ними (у градусах від 85 до 95).
- Якщо кут прямій ( тобто це прямокутний трикутник), то створювати об'єкт дочірнього класу і застосовувати до нього методи Sqr і Radius. Якщо кут не прямої ( тобто це звичайний трикутник), то створювати об'єкт батьківського класу і застосовувати до нього ці ж методи.
Відпрацьовування:
Варіант 6
Створити клас Par, який описує паралелограм по двом сторонам і куту, що містить:
- Поле довжина першої сторони;
- Поле довжина другої сторони;
- Поле кут між сторонами (у радіанах)
- Конструктор, з трьома параметрами, що привласнює значення цим полям. У конструкторові перевести кут із градусів у радіани.
- Метод Sqr - знаходження площі паралелограма (добуток двох його сторін на синус кута між ними);
- Метод Diag –знаходження діагоналей паралелограма по теоремі косинусів. Метод повинен повертати одну діагональ через return, а другу через параметр із атрибутом out.
Створити дочірній клас Romb, що описує ромб і утримуючий:
- Конструктор. У конструкторові класу використовувати два параметри – сторону ромба й кут між сторонами.
- Описати власний метод Radius, що обчислює радіус уписаної окружності.
У методі Main:
- У методі Main у циклі з п'яти витків випадковим образом одержувати значення сторін і кута між ними.
- Якщо сторони різні ( тобто це паралелограм), те створювати об'єкт батьківського класу і застосовувати до нього методи Sqr і Diag. Якщо сторони збігаються ( тобто це ромб), то створювати об'єкт дочірнього класу і застосовувати до нього методи батьківського класу, а також власний метод Radius.
Відпрацьовування:
Варіант 7
Створити клас Par, що описує паралелограм і утримуючий:
- Поле довжина першої сторони;
- Поле довжина другої сторони;
- Поле кут між сторонами (у радіанах)
- Конструктор, з трьома параметрами, привласнює значення цим полям. У конструкторові перевести кут із градусів у радіани.
- Метод Sqr - знаходження площі паралелограма (добуток двох його сторін на синус кута між ними);
- Метод Diag –знаходження діагоналей паралелограма по теоремі косинусів. Метод повинен повертати одну діагональ через return, а другу через параметр із атрибутом out. У методі обов'язково повинен виводитися коментар, який ідентифікує метод.
Створити дочірній клас Pryam, що описує прямокутник, що містить:
- Конструктор. У конструкторові класу використовувати два параметри – сторони прямокутника (третьому полю привласнити значення pi/2).
- Перевизначити метод Diag. Діагоналі обчислювати по теоремі Пифагора. У методі обов'язково повинен виводитися коментар, який ідентифікує метод.
У методі Main:
- У методі Main у циклі з п'яти витків випадковим образом одержувати значення сторін і кута між ними (у градусах від 85 до 95).
- Якщо кут прямій ( тобто це прямокутник), то створювати об'єкт дочірнього класу і застосовувати до нього методи Sqr і Diag. Якщо кут не прямій ( тобто це паралелограм), то створювати об'єкт батьківського класу і застосовувати до нього ці ж методи
Відпрацьовування:
Варіант 8
Створити клас Romb, що описує ромби по його діагоналях і утримуючий:
- Поле d1 - перша діагональ
- Поле d2 - друга діагональ
- Конструктор, з двома параметрами, привласнює значення цим полям.
- Метод Sqr - площа ромба = d1*d2/2;
- Метод Side - обчислення сторони ромба
Створити дочірній клас Kvadrat, що описує квадрат і утримуючий:
- Конструктор. У конструкторові класу використовувати один параметр – діагональ квадрата.
- Перевизначити метод Side:
У методі обов'язково повинен виводитися коментар, який ідентифікує метод.
У методі Main:
- У циклі з п'яти витків випадковим образом одержувати значення діагоналей ромба.
- Якщо діагоналі рівні ( тобто це квадрат), то створювати об'єкт дочірнього класу і
застосовувати до нього методи Sqr і Side. Якщо діагоналі не рівні ( тобто це ромб),
то створювати об'єкт батьківського класу і застосовувати до нього ті ж методи.
Відпрацьовування:
Варіант 9
Створити клас Triangle, що описує трикутник по трьом його сторонам і утримуючий:
- Поле довжина першої сторони;
- Поле довжина другої сторони;
- Поле довжина третьої сторони;
- Конструктор, із трьома параметрами, що привласнює значення цим полям.
- Метод Print – вивод значень полів на екран.
- Метод Perimeter – знаходження периметра трикутника.
- Метод Sqr –знаходження площі трикутника по формулі Герона. Додати в метод коментарий.
- Метод Exists – умова існування трикутника.
Створити дочірній клас Equilateral, що описує рівносторонній трикутник і утримуючий:
- Конструктор. У конструкторові класу використовувати один параметр – сторона рівностороннього трикутника.
- Перевизначаємо метод Sqr - обчислення площі рівностороннього трикутника по формулі. У метод повинен бути доданий коментар.
У методі Main у циклі із трьох витків:
- Випадковим образом одержати значення сторін трикутника.
- Якщо сторони однакові, то:
- Створити об'єкт дочірнього класу
- Застосувати до об'єкта успадковані і перепевні методи.
- Якщо сторони різні, то:
- Створити об'єкт батьківського класу
- Застосувати до нього його методи.
Відпрацьовування:
Варіант 10
Створити клас Man, що описує людину і утримуючий:
- Поле ім'я;
- Поле рік народження;
- Конструктор, з двома параметрами, що привласнює значення цим полям.
- Метод Print – вивод значень полів на екран.
- Метод Age, знаходження віку людину.У параметрі методу поточний рік
Створити клас Entrant, дочірній до Man, що описує абітурієнта і утримуючий:
- Поле сума балів на вступних іспитах. Заповнюється в конструкторові.
- Логічне поле: здав чи ні. Заповнюється в методі Acted.
- Конструктор. У конструкторові класу використовувати три параметри – ім'я, рік народження, сума балів.
- Метод Acted. У параметрі методу прохідний бал. Якщо сума набраних балів більше або дорівнює прохідному балу,
то абітурієнт вступив до вузу. А якщо ні, то – не вступив. Метод заповнює логічне поле.
- Метод Printе – вивод значень полів абітурієнта на екран.
Створити клас Student, дочірній до Man, що описує абітурієнта і утримуючий:
- Поле факультет
- Поле курс
- Поле середній бал за сесію. Заповнюється в конструкторові.
- Поле стипендія. Заповнюється в методі Grant.
- Конструктор. У конструкторові класу використовувати п'ять параметрів – ім'я, рік народження, факультет, курс, середній бал за сесію.
- Метод Grant. У параметрі методу вказується мінімальний бал, при якому нараховується стипендія. Метод заповнює поле стипендія.
- Метод Prints- вивод значень полів студента на екран.
У методі Main:
Для абітурієнта:
- Випадковим образом одержати значення прохідного бала.
- Створити двох абітурієнтів, з випадковим роком народження і випадковою сумою балів.
- Застосувати до об'єктів успадковані і власні методи.
- Вивести інформацію на екран.
Для студента:
- Випадковим образом одержати значення середнього бала для одержання стипендії.
- Створити двох студентів, з випадковим роком народження і випадковим середнім балом.
- Застосувати до об'єктів успадковані і власні методи.
- Вивести інформацію на екран.
Відпрацьовування:
Варіант 11
Створити клас Transport, що описує транспортний засіб і утримуючий:
- Поле вид палива;
- Поле рік випуску;
- Поле середня швидкість.
- Конструктор, з трьома параметрами, що привласнює значення цим полям.
- Метод Print – вивод значень полів на екран.
- Метод Age, знаходження віку транспортного засобу. У параметрі методу поточний рік
Створити клас Car, дочірній до Transport, що описує автомобіль і утримуючий:
- Поле марка.
- Поле номер.
- Конструктор. У конструкторові класу використовувати п'ять параметрів – три поля батьківського класу і два поля дочірнього.
- Метод Printc – вивод значень полів автомобіля на екран.
Створити клас Train, дочірній до Transport, що описує поїзд і утримуючий:
- Поле кількість вагонів
- Поле кількість місць у вагоні.
- Поле всього місць у поїзді.
- Конструктор. У конструкторові класу використовувати п'ять параметрів – три поля батьківського класу і два поля дочірнього. Обчислити значення поля всього місць у поїзді.
- Метод Printt- вивод значень полів поїзда на екран.
У методі Main:
Для автомобіля:
- Випадковим образом одержати значення: рік випуску, середня швидкість, номер.
- Створити два автомобілі з бензиновими двигунами.
- Застосувати до об'єктів успадковані і власні методи.
- Вивести інформацію на екран.
Для поїзда:
- Випадковим образом одержати значення: рік випуску, середня швидкість, кількість вагонів, кількість місць у вагоні.
- Створити дві електрички.
- Застосувати до об'єктів успадковані і власні методи.
- Вивести інформацію на екран.
Відпрацьовування:
Варіант 12
Створити клас Employee, що описує співробітника фірми і утримуючий:
- Поле ідентифікаційний код (чотири цифри);
- Поле рік прийняття на роботу;
- Поле оклад;
- Поле премія;
- Конструктор, з трьома параметрами, що привласнює значення першим трьом полям.
- Метод Print – вивод значень полів на екран.
- Метод Bonus, обчислення премії. Метод заповнює поле премія. У параметрі методу поточний рік. Премія нараховується так:
- Якщо стаж роботи менше 5 років, то премія=10% від окладу.
- Якщо стаж роботи від 5 до 10 (включно), то премія=15% від окладу
- Якщо стаж роботи більше 10, то премія=20% від окладу
Створити клас Vip, дочірній до Employee, що описує Vip менеджера і утримуючий:
- Логічне поле, яке вказує, що це Vip співробітник.
- Поле додаткова премія.
- Конструктор. У конструкторові класу використовувати чотири параметри – три поля батьківського класу і логічне поле дочірнього.
- Метод Bonusvip, обчислення додаткової премії. Метод заповнює поле додаткова премія. Додаткова премія дорівнює половині звичайної премії. У цьому методі використовується поле премія з батьківського класу
- Метод Printvip – вивод значення додаткової премії на екран.
У методі Main, у циклі із чотирьох витків:
- Випадковим образом одержати значення: коду співробітника, року прийняття на роботу, окладу, ознаки Vip або звичайний співробітник.
Для звичайного співробітника:
- Створити об'єкт.
- Застосувати до об'єкта власні методи Bonus і Print.
Для Vip співробітника:
- Створити об'єкт.
- Застосувати до об'єкта успадковані методи Bonus і Print, а також власні методи Bonusvip і Printvip
Відпрацьовування:
Варіант 13
Створити клас Tax, що описує платника податків і утримуючий:
- Поле ідентифікаційний код (чотири цифри);
- Поле рік народження;
- Поле дохід;
- Поле податок.
- Конструктор, з трьома параметрами, привласнює значення першим трьом полям.
- Метод Printid – вивод значень перших трьох полів на екран.
- Метод Printtax – вивод значення податку на екран.
- Метод Calculatetax, обчислення податку. Метод заповнює поле податок. У параметрі методу поточний рік. Податок обчислюється так:
- Якщо вік менше 17 років, то податок=0;
- Якщо дохід менше 1000, то податок=0;
- Якщо дохід роботи від 1000 до 10000 (включно), то податок=20% від доходу;
- Якщо дохід більше 10000, то податок=25% від доходу.
Створити клас Privilege, дочірній до Tax, що описує пільговика і утримуючий:
- Логічне поле, яке вказує, що це пільговик.
- Поле пільговий податок.
- Конструктор. У конструкторові класу використовувати чотири параметри – три поля батьківського класу і логічне поле дочірнього.
- Метод Calculatetaxvip, обчислення пільгового податку. Метод заповнює поле пільговий податок. Пільговий податок дорівнює половині звичайного. У цьому методі використовується поле податок з батьківського класу
- Перевизначається метод Printtax – вивод значення пільгового податку на екран.
У методі Main, у циклі із чотирьох витків:
- Випадковим образом одержати значення: коду співробітника, року народження, доходу, ознаки пільговий або звичайний платник податків.
Для звичайного платника податків:
- Створити об'єкт.
- Застосувати до об'єкта власні методи Calculatetax, Printid і Printtax.
Для платника податків, що має пільги:
- Створити об'єкт.
- Застосувати до об'єкта успадковані методи Calculatetax, Printid, а також власний методи Calculatetaxvip і перепевний метод Printtax
Відпрацьовування:
Варіант 14
Створити батьківський клас Apartment, що описує приміщення
Елементи класу:
- Поля - довжина, ширина і висота приміщення;
- Поле squarewall - площа стін приміщення;
- Поле plaster-кількість матеріалу, необхідного для його штукатурки.
- Конструктор з трьома параметрами (довжина, ширина, висота). У конструкторові визначити площа стін squarewall і необхідна кількість штукатурки plaster (squarewall*5).
- Властивості тільки для читання значення, що повертають, полів squarewall і plaster.
- Логічний метод Work (з одним параметром). У параметрі кількість штукатурки, яка витрачається за 1 день.
Метод зменшує значення в поле plaster на величину задану в параметрі і повертає значення true.
Якщо в результаті зменшення в поле plaster буде 0 або негативна величина, то вертається значення false.
Створити клас Room дочірній до класу Apartment, що описує кімнату і утримуючий:
- Поле ob - потрібна кількість рулонів шпалер (1м на 10м)
- Конструктор з трьома параметрами (довжина, ширина, висота). У конструкторові визначити площа стін squarewall,
необхідна кількість штукатурки plaster (squarewall*5) і обчислити необхідну кількість рулонів шпалер ob.
- Властивість тільки для читання значення, що повертає поле ob.
- Перевизначити батьківський метод Work (з одним параметром). У параметрі кількість рулонів шпалер, яке витрачається за 1 день.
Метод зменшує значення в поле ob на величину задану в параметрі і повертає значення true.
Якщо в результаті зменшення в поле ob буде 0 або негативна величина, то вертається значення false.
Створити клас Kitchen дочірній до класу Apartment, що описує кухню і утримуючий:
- Поле plitka - потрібна кількість штук плитки (розмірами 0,3 м на 0,4 м)
- Конструктор з трьома параметрами (довжина, ширина, висота).
У конструкторові визначити площу стін squarewall, необхідну кількість штукатурки plaster (squarewall*5) і
обчислити необхідну кількість штук плитки plitka.
- Властивість тільки для читання значення, що повертає поле plitka.
- Перевизначити батьківський метод Work (з одним параметром). У параметрі кількість плиток, яка витрачається за 1 день. Метод зменшує значення в поле plitka на величину задану в параметрі і повертає значення true.
Якщо в результаті зменшення в поле plitka буде 0 або негативна величина, то вертається значення false.
У методі Main:
Необхідно обчислити скільки днів займе ремонт і вивести стан матеріалів, що залишилися.
Штукатурити об'єкти будемо по 50 кг штукатурки в день, шпалери клеїти по 2 рулону в день, плитку класти по 20 штук у день.
Уведемо розміри кімнати і кухні
Створимо два об'єкти: кімнату і кухню.
Для кімнати:
- Створимо об'єкт батьківського класу Apartment з розмірами для кімнати
- За допомогою властивостей цього класу одержимо площу стін кімнати і необхідну кількість штукатурки.
- У циклі будемо викликати метод Work батьківського класу з параметром 50, поки не закінчиться штукатурка для кімнати і підрахуємо кількість днів, необхідних на оштукатурювання кімнати.
- Створимо об'єкт класу Room з розмірами для кімнати
- За допомогою властивості цього класу одержимо необхідну кількість рулонів шпалер для обклеювання.
- У циклі будемо викликати метод Work класу Room з параметром 2, поки не закінчаться шпалери і підрахуємо кількість днів, необхідних на обклеювання кімнати шпалерами.
Для кухні:
- Створимо об'єкт батьківського класу Apartment з розмірами для кухні
- За допомогою властивостей цього класу одержимо площу стін кухні і необхідну кількість штукатурки.
- У циклі будемо викликати метод Work батьківського класу з параметром 50, поки не закінчиться штукатурка для кухні і підрахуємо кількість днів, необхідних на оштукатурювання кухні.
- Створимо об'єкт класу Kitchen з розмірами для кухні
- За допомогою властивості цього класу одержимо необхідну кількість плиток для облицювання.
- У циклі будемо викликати метод Work класу Kitchen з параметром 20, поки не закінчиться плитка і підрахуємо кількість днів, необхідних на облицювання кухні плиткою.
Підрахуємо загальну тривалість ремонту і виведемо стан полів: кількість штукатурки, кількість рулонів шпалер, кількість плитки ( повинні бути 0).
Відпрацьовування:
Варіант 15
Створити батьківський клас Hotel, що описує готель
Елементи класу:
- Поле total- кількість місць у готелі;
- Поле reserved- кількість зайнятих місць;
- Поле sv – кількість вільних місць.
- Конструктор класу з одним параметром (усього місць). У конструкторові встановити: зайнятих місць ні, усі місця вільні.
- Логічний метод Reserve ( без параметрів). Метод зменшує на 1 кількість вільних місць, збільшує на 1 кількість зайнятих місць і повертає значення true. Якщо поселення людини неможливо, то вертається значення false.
- Логічний метод Vacating ( без параметрів). Метод зменшує на 1 кількість місць зайнятих, збільшує на 1 кількість вільних місць і повертає значення true. Якщо всі місця вільні, то вертається значення false.
- Метод Tostr без параметрів, що повертає рядок з кількістю вільних і зайнятих місць.
Створити клас Sanatory дочірній до класу Hotel, що описує санаторій і утримуючий:
- Поле medics – кількість лікарів у санаторії
- Конструктор класу з одним параметром (кількість місць у санаторії). У конструкторові полю medics привласнити значення 0.
- Властивість тільки для читання значення, що повертає поле medics.
- Метод Kolmedics, що обчислює кількість лікарів у санаторії по формулі: кількість зайнятих місць розділити на 10 +1;
- Метод Tostr1 без параметрів, що повертає рядок з кількістю лікарів у санаторії.
Створити клас Cruise дочірній до класу Hotel, що описує круїзне судно і утримуючий:
- Поле stop – кількість зупинок судна
- Конструктор класу з двома параметрами (кількість місць на судні і кількість зупинок). У конструкторові полю stop привласнити значення параметра.
- Властивість для читання і запису поля stop
- Метод Tostr2 без параметрів, що повертає рядок, у якому вказується, скільки залишилося проїхати зупинок.
У методі Main:
- Створимо об'єкт санаторій з випадковою кількістю місць.
- У циклі, за допомогою методу Reserve помістимо в нього випадкова кількість людей. Якщо не всім вистачає місця, видати повідомлення про це.
- За допомогою методу Kolmedics визначимо необхідну кількість лікарів.
- За допомогою методів Tostr і Tostr1 покажемо стан санаторію.
- У циклі, за допомогою методу Vacating вилучимо з нього випадкову кількість людей. Якщо виїхали всі, видати повідомлення про це.
- За допомогою методу Kolmedics перерахуємо необхідну кількість лікарів.
- За допомогою методів Tostr і Tostr1 покажемо стан санаторію.
Для об'єкта санаторій перше відпрацьовування:
Для об'єкта санаторій друге відпрацьовування:
У методі Main:
- Створимо об'єкт круїз із випадковою кількістю місць і випадковою кількістю зупинок.
- У циклі, за допомогою методу Reserve помістимо в нього випадкова кількість людей. Якщо не всім вистачає квитків, видати повідомлення про це.
- За допомогою методу Tostr покажемо стан круїзу (скільки місць зайняте й скільки вільно).
- У вкладених циклах, за допомогою методу Vacating висадимо із круїзного судна по 10 людей на кожній зупинці.
- Після кожної зупинки:
- за допомогою методу Tostr покажемо стан круїзу.
- за допомогою властивості поля stop зменшимо на 1 кількість зупинок, що залишилися.
- за допомогою методу Tostr2 покажемо скільки зупинок залишилося
Для об'єкта круїз перше відпрацьовування:
Для об'єкта круїз друге відпрацьовування:
Назад
Уперед
Зміст