Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Модуль 2 ООП ФИТ 2к.doc
Скачиваний:
14
Добавлен:
20.05.2015
Размер:
144.38 Кб
Скачать

Билет 7

1. В каких задачах предпочтительнее использовать «рваные» массивы вместо прямоугольных?

2. Перечислить недостатки использованияArrayList.

3. Модель взаимодействия работодателя и его сотрудников. Определить два класса: работодатель (Employer) и сотрудник (Employee).

Класс Employee хранит: имя, уровень (число в диапазоне от 4 до 10, характеризующее профессионализм сотрудника) и заработную плату.

Методы:

- конструктор, принимающий имя и уровень сотрудника.

- GetName, GetSalary и GetSkillLevel, которые возвращают имя, заработную плату и уровень соответственно;

- SetSalary, принимающий вещественное число, которое используется для изменения заработной платы;

- ToString, возвращающий строковое представление сотрудника.

Класс Employer хранит: название фирмы, бюджет и массив сотрудников.

Методы:

- конструктор, принимает имя компании, кол-во раб. мест и бюджет;

- метод Hire с параметром объектом Employee нанимает сотрудника на работу. Зарплата рассчитывается по правилу уровень*100. Если такой размер зарплаты не превышает бюджет и есть свободные места, то сотруднику начисляется зарплата (SetSalary), он сохраняется в массиве, уменьшается бюджет и возвращает true, иначе - false;

- Fire, принимает параметр - имя сотрудника. Если такой сотрудник найден, увольняет его, освобождая занимаемое им место в массиве;

- Attest, принимает уровень и процент увеличения зарплаты. Метод «просматривает» всех сотрудников и, если уровень сотрудника превышает уровень-параметр, а также, если позволяет бюджет, увеличивает сотруднику зарплату на указанный в параметре процент;

- ToString возвращает строку с информацией о компании: название, количество свободных мест, бюджет, а также информацию по каждому работающему сотруднику (Employee.ToString).

В методе Main класса Program:

- создать работодателя;

- создать массив кандидатов с именами "С1","С2" и т.д. и случайным уровнем;

- попытаться нанять всех кандидитов;

- вывести информацию о работодателе;

- провести аттестацию сотрудников (Employer.Attest);

- вывести информацию о работодателе;

- уволить сотрудника;

-вывести информацию о работодателе.

Билет 8

1.Написать короткий пример вывода всех элементов двумерного прямоугольного массива.

2. Какие ограничения на использование переменных действуют в статических методах и почему?

3 Моделирование проезда в маршрутном такси. Создать два класса: пассажир (Passenger) и маршрутка (Bus).

Класс Passenger хранит информацию о начальной и конечной остановках (символы латинского алфавита, символ начальной остановки должен быть меньше символа конечной остановки).

Методы:

- конструктор, принимающий начальную и конечную остановки;

- Payment, возвращающий рассчитанную стоимость проезда. Стоимость перемещения между любыми двумя соседними остановками – постоянная величина (например, 0.1 грн). Поэтому стоимость всей поездки – произведение длины маршрута на эту стоимость.

Класс Bus хранит следующую информацию:

- путь - представляет собой строку вида "ABCDEFG...", где каждый символ обозначает название остановки.

- места - массив объектов класса Passenger. Если элемент этого массива равен null, то место свободно.

- текущая выручка, полученная от проезда пассажиров.

- текущая остановка.

Методы:

- конструктор, принимающий вместимость маршрутки и путь;

- логический метод Enter, принимающий пассажира (параметр - объект класса Passenger) и возвращающий истину, если удалось усадить пассажира на свободное место, и ложь в противном случае;

- Leave, принимающий название остановки (символ), и освобождающий занимаемые места теми пассажирами, у которых конечная остановка совпадает с переданной в качестве параметра метода. Необходимо "взять" оплату за проезд с выходящего пассажира (метод Payment);

- Profit, возвращающий суммарную выручку на текущий момент;

- ToString, возвращающий маршрут, текущую остановку и информацию по каждому месту: свободно оно или занято. Если занято, то откуда и куда следует пассажир.

В методе Main класса Program:

- создать маршрутку;

- организовать цикл по всем остановкам, представленным в маршруте. На каждом шаге цикла: высадить пассажиров, посадить в маршрутку созданного случайным образом пассажира, отобразить текущее состояние маршрутки (метод ToString);

- вывести суммарную выручку от проезда.