Билет 13
1.Написать короткий пример, который вызовет использование сборщика мусора.
2.В каких ситуациях используются ключевые словаoutиrefдля параметров ссылочного типа
3. Разработать два класса.
Транспортное средство (Transport).
Закрытые переменные:
- расстояние, которое проехало транспортное средство (пробег).
Методы:
- конструктор по умолчанию;
- открытый логический метод Move с вещественным параметром, который увеличивает пробег на указанное значение и возвращает истину;
- открытый метод GetTotalDistance, возвращающий пробег;
- открытый метод ToString, возвращающий информацию о состоянии объекта в виде строки.
Автомобиль (Car), производный от транспортного средства (Transport).
Закрытые переменные:
- расход топлива; объем топливного бака;
- признак, заведен ли двигатель автомобиля;
Методы:
- конструктор, принимающий и инициализирующий величины расхода и объема бака;
- методы "включающий"/"выключающий" автомобиль (On/Off);
- метод Move, принимающий расстояние, которое должен проехать автомобиль. Метод должен генерировать исключение в случае, если двигатель автомобиля был не заведен, пересчитывать величину оставшегося топлива и возвращать истину в случае наличия топлива в баке.
- открытый метод ToString, возвращающий информацию о состоянии объекта (пробег и объем топлива) в виде строки.
В Main:
- создать транспортное средство(Transport) и итерационно "проехать" (Move) на нем некоторое расстояние. Вывести информацию о состоянии транспортного средства;
- создать автомобиль и попытаться "проехать" (Move) на нем c выключенным двигателем;
- завести двигатель и "проехать" на авто некоторое расстояние и вывести состояние автомобиля.
Билет 14
1. Почему в методах создаваемых программистом классов не рекомендуется использовать классConsole?
2. В каких задачах предпочтительнее использовать прямоугольные массивы вместо «рваных»?
3. Разработать 3 класса:
Печатное издание (Press)
Закрытые переменные
Название
Цена (в грн. за 1 ед. – вещественное число)
Методы
Конструктор с параметрами: название, цена
Свойство Price для доступа по чтению для получения цены
Журнал (Magazine) - производный от Press
Закрытые переменные
Периодичность (количество номеров в год)
Методы
Конструктор с параметрами: название, цена, количество номеров в год
Открытый метод YearSubscribeCost, вычисляющий стоимость годовой подписки (цена за 1 ед. умножить на количество номеров в год)
Открытый метод ReducedYearSubscribeCost, вычисляющий стоимость льготной годовой подписки с параметром - количество процентов от стоимости полной подписки
Книга (Book) - производный от Press
Закрытые переменные
Автор
Количество страниц (вещественное число)
Тип обложки (мягкая, твердая)
Методы
Конструктор с параметрами для переменных класса.
Метод SetPrice (без параметров) – устанавливающий цену книги как количество страниц * 0,2грн + 5 грн. (если обложка мягкая) или + 15 грн. (если обложка твердая), если цена не установлена (т.е. равна 0), иначе генерирующий ошибку («Цена уже установлена»)
Во всех классах описать метод ToString, возвращающий информацию об объекте.
В Main
Создать по две книги (не задавать их цену, т.е. цена=0) и два журнала.
Установить цену обеих книг. Попробовать установить цену второй книги еще раз и перехватить ошибку.
Выдать информацию о книгах и журналах.
Посчитать суммарную стоимость обеих книг, годовой подписки на первый журнал и льготной годовой подписки на второй журнал (90% от полной цены).