8. Класи. Методи. Наслідування.

У попередній розділ На головну | У наступний розділ

1. Створіть клас з ім'ям student, що містить поля: прізвище та ініціали, номер групи, успішність (масив з п'яти елементів). Створити масив з десяти елементів такого типу, впорядкувати записи за зростанням середнього бала. Додати можливість виведення прізвищ і номерів груп студентів, які мають оцінки, рівні тільки 4 або 5.
2. Створіть клас з ім'ям train, що містить поля: назва пункту призначення, номер поїзда, час відправлення. Ввести дані в масив з п'яти елементів типу train, впорядкувати елементи за номерами поїздів. Додати можливість виведення інформації про потяг, номер якого введено користувачем. Додати можливість сортування масив по пункту призначення, причому поїзда з однаковими пунктами призначення повинні бути впорядковані за часом відправлення.
3. Створити клас з двома змінними. Додати функцію виведення на екран і функцію зміни цих змінних. Додати функцію, яка знаходить суму значень цих змінних, і функцію яка знаходить найбільше значення з цих двох змінних.
4. Описати клас, який реалізує десятковий лічильник, який може збільшувати або зменшувати своє значення на одиницю в заданому діапазоні. Передбачити ініціалізацію лічильника значеннями за замовчуванням і довільними значеннями. Лічильник має два методи: збільшення і зменшення, - і властивість, що дозволяє отримати його поточний стан. Написати програму, яка демонструвала б всі можливості класу.
5. Створити клас з двома змінними. Додати конструктор з вхідними параметрами. Додати конструктор, не започатковано члени класу за замовчуванням. Додати деструкцію, що виводить на екран повідомлення про видалення об'єкта.
6. Створити клас, що містить динамічний масив і кількість елементів в ньому. Додати конструктор, який виділяє пам'ять під задану кількість елементів, і деструкція. Додати методи, що дозволяють заповнювати масив випадковими числами, переставляти в даному масиві елементи у випадковому порядку, знаходити кількість різних елементів в масиві, виводити масив на екран.
7. Скласти опис класу для визначення одновимірних масивів рядків фіксованої довжини. Передбачити контроль виходу за межі масиву, можливість звернення до окремих рядків масиву за індексами, виконання операцій поелементного зчеплення двох масивів з утворенням нового масиву, злиття двох масивів з виключенням повторюваних елементів, а також висновок на екран елемента масиву по заданому індексу і всього масиву.
8. Скласти опис класу многочленів від однієї змінної, що задаються ступенем многочлена і масивом коефіцієнтів. Передбачити методи для підрахування значення многочлена для заданого аргументу, операції додавання, віднімання і множення многочленів з отриманням нового об'єкта-многочлена, висновок на екран опису многочлена.
9. Побудувати три класи (базовий і 3 нащадка), що описують деяких хижих тварин (один з нащадків), всеїдних (другий нащадок) і травоїдних (третій нащадок). Описати в базовому класі абстрактний метод для розрахунку кількості та типу їжі, необхідної для прожитку тварини в зоопарку.
   a) Упорядкувати всю послідовність тварин по спадаючій кількості їжі. При збігу значень - впорядковувати дані за алфавітом по імені. Вивести ідентифікатор тварини, ім'я, тип і кількість споживаної їжі для всіх елементів списку.
   b) Вивести перші 5 імен тварин з отриманого в пункті а) списку.
   c) Вивести останні 3 ідентифікатора тварин з отриманого в пункті а) списку.
   d) Організувати запис і читання колекції в та з файлу.
   e) Організувати обробку некоректного формату вхідного файлу.
10. Описати клас «домашня бібліотека». Передбачити можливість роботи з довільним числом книг, пошуку книги по будь-якою ознакою (наприклад, по автору або на поточний рік видання), додавання книг в бібліотеку, видалення книг з неї, сортування книг по різних полях.
11. Скласти опис класу прямокутників зі сторонами, паралельними осям координат. Передбачити можливість переміщення прямокутників на площині, зміна розмірів, побудова найменшого прямокутника, що містить два заданих прямокутника, і прямокутника, що є спільною частиною (перетином) двох прямокутників.
12. Створити клас для зберігання комплексних чисел. Реалізувати операції над комплексними числами: додавання, віднімання, множення, ділення, пару, зведення в ступінь, добування кореня. Передбачити можливість зміни форми запису комплексного числа: алгебраїчна форма, тригонометрическая форма, експоненціальна форма.
13. Скласти опис класу для представлення часу. Передбачити можливості установки часу і зміни його окремих полів (година, хвилина, секунда) з перевіркою допустимості вводяться значень. У разі неприпустимих значень полів викидаються виключення. Створити методи зміни часу на задану кількість годин, хвилин і секунд.
14. Скласти опис класу для вектора, заданого координатами його кінців в тривимірному просторі. Забезпечити операції додавання і віднімання векторів з отриманням нового вектора (суми або різниці), обчислення скалярного добутку двох векторів, довжини вектора, косинуса кута між векторами.
15. Описати клас, що представляє трикутник. Передбачити методи для створення об'єктів, обчислення площі, периметра і точки перетину медіан. Описати властивості для отримання стану об'єкта.
16. Створити абстрактний клас Figure з методами обчислення площі та периметра, а також методом, що виводить інформацію про фігуру на екран. Створити похідні класи: Rectangle (прямокутник), Circle (коло), Triangle (трикутник) зі своїми методами обчислення площі і періметра.Создать масив n фігур і вивести повну інформацію про фігури на екран.
17. Клас Покупець: Прізвище, Ім'я, По батькові, Адреса, Номер кредитної картки, Номер банківського рахунку; конструктор; Методи: установка значень атрибутів, отримання значень атрибутів, висновок інформації. Створити масив об'єктів даного класу. Вивести список покупців в алфавітному порядку і список покупців, у яких номер кредитної картки знаходиться в заданому діапазоні.
18. Клас Абонент: Ідентифікаційний номер, Прізвище, Ім'я, По батькові, Адреса, Номер кредитної картки, Дебет, Кредит, Час міжміських і міських переговорів; конструктор; Методи: установка значень атрибутів, отримання значень атрибутів, висновок інформації. Створити масив об'єктів даного класу. Вивести відомості щодо абонентів, у яких час міських переговорів перевищує ліміт. Відомості щодо абонентів, які користувалися міжміським зв'язком. Список абонентів в алфавітному порядку.
19. Завдання на взаємодію між класами. Розробити систему «Автобаза». Диспетчер розподіляє заявки на Рейси між Водіями і призначає для цього Автомобіль. Водій може зробити заявку на ремонт. Диспетчер може відсторонити Водія від роботи. Водій робить відмітку про виконання Рейса і стані Автомобіля.
20. Завдання на взаємодію між класами. Розробити систему «Залізнична каса». Пасажир робить заявку на станцію призначення, час і дату поїздки. Система реєструє Заявку та здійснює пошук відповідного Потяги. Пасажир робить вибір Потяги і отримує Рахунок на оплату. Касир вводить номери Потягів, проміжні та кінцеві станції, ціни.

Остання зміна: Monday 23 April 2018 10:37 AM