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

Билет 9

1.В каких задачах предпочтительнее использоватьArrayList(вместо одномерных массивов иList<>)?

2.Почему у не статических методов классов обычно меньше параметров, чем у статических методов?

3. Моделирование работы гостиницы.

Необходимо создать два класса: Гость и Гостиница .

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

Методы:

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

- Payment, возвращает стоимость проживания. Стоимость – произведение количества суток на стоимость суток (например, 50 грн).

Класс Гостиница хранит информацию о периоде работы и местах в гостинице, а также текущую выручку.

Период работы - строка вида "ABCDEFG…", где каждый символ – символизирует сутки. Места - массив объектов класса Гость. Если элемент массива равен null, то номер свободен.

Методы:

- конструктор, принимающий вместимость и период работы гостиницы;

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

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

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

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

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

- создать гостиницу;

- организовать цикл по всем суткам периода работы гостиницы, и осуществить поселение и освобождение номеров гостями. Реализовать поселение случайного количества гостей. Для наглядности, перед каждым действием отобразить текущее состояние гостиницы;

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

Билет 10

1. Написать короткий пример, в котором две переменные будут ссылаться на один и тот же объект в памяти.

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

3.Разработать 2 класса:

Простые часы

Закрытые переменные

Счетчик минут

Методы

Конструктор с параметром - начальным счетчиком минут

Открытый метод ToString - возвращает строку с изображением времени в часах и минутах

Открытый метод IncMinutes, продвигающий часы на одну минуту вперед

Открытый метод DecMinutes, возвращающий часы на одну минуту назад

Закрытые методы Hours и Minutes, определяющие количество полных часов и минут

Точные часы

Первый вариант - производный от простых часов.

Закрытые переменные

Количество секунд в последней неполной минуте

Методы

Конструктор с параметрами - начальным счетчиком минут и количеством секунд в последней неполной минуте

Открытый метод ToString - возвращает строку с изображением времени в часах, минутах и секундах

Открытый метод IncMinutes, продвигающий часы на одну минуту вперед

Открытый метод DecMinutes, возвращающий часы на одну минуту назад

Открытый метод IncSeconds, продвигающий часы на одну секунду вперед

Открытый метод DecSeconds, возвращающий часы на одну секунду назад

Второй вариант - самостоятельный класс

Закрытые переменные

Счетчик секунд

Методы

Открытые методы те же, что и в первом варианте класса

Закрытые методы Hours, Minutes и Seconds, определяющие количество полных часов, минут и секунд

В Main

Создать объект класса Простые часы.

Показать время на простых часах.

Продвинуть простые часы на час вперед.

Показать время на простых часах.

Создать объект класса Точные часы.

Показать время на точных часах.

Продвинуть точные часы на 1 час и 1 минуту вперед.

Показать время на точных часах.

Испытать оба варианта класса точные часы, убедившись в одинаковом способе их использования в Main