Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ООП / Lab_1_2

.pdf
Скачиваний:
25
Добавлен:
03.03.2016
Размер:
164.52 Кб
Скачать

Лабораторная работа №2 Тема: Классы, связь ассоциации

Цель работы: получить навыки по организации простых взаимодействий между объектами разных классов в объектно-ориентированной программе. Научится правильно определять и реализовывать связи ассоциации, агрегации и композиции.

Порядок выполнения лабораторной работы №2

В соответствии с вариантом задания выявить классы и связи между ними. Определить характер и тип связи между классами. Два класса должны быть связаны отношением агрегации или композиции (часть-целое). Третий класс – обработчик (управляющий класс).

Для связей агрегации и композиции определить и задать множественность.

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

Требования к классу «целое»:

продумать атрибуты и операции класса;

определить в классе по крайней мере 2 конструктора: конструктор по умолчанию и конструктор с параметрами;

задать методы для работы с «частью»;

задать методы для доступа к атрибутам класса. Требования к классу «часть»:

продумать атрибуты и операции класса;

определить в классе по крайней мере 2 конструктора: конструктор по умолчанию и конструктор с параметрами;

задать по крайней мере один метод обработки даннях реализуемого класса;

задать методы для доступа к атрибутам класса. Требования к классу обработчику:

продумать атрибуты и операции класса;

реализовать заданные в задании методы класса обработчика.

Помимо индивидуальных операций для всех вариантов необходимо показать:

создание экземпляра класса «целое» и «часть» двумя способами: без параметров с последующим заполнением полей, с вызовом конструктора с параметрами.

работу операций обработчика;

вывод информации на экран.

Варианты заданий Варианты заданий Группа ИУС-10а

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

2.Классы отдел и сотрудник. Класс обработчик реализует перевод сотрудника в другой отдел, расчет стажа сотрудника.

3.Классы табель выходов и сотрудник. Класс обработчик реализует заполнение табеля выходов и расчет заработной платы сотрудник на основании информации о отработанном времени.

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

5.Классы комната и студент. Класс обработчик реализует поселение студентов в комнату с соблюдением условий: в комнате студенты одного пола и одинаковой специальности, подсчет количества мальчиков и девочек, проживающих во всех комнатах.

6.Классы маршрут и остановка. Класс обработчик реализует сравнение маршрутов на идентичность, расчет времени прохождения всего маршрута .

7.Классы программа телепередач и телепередача. Класс обработчик реализует трансляцию телепередачи в заданное время, проверку программы телепередач на целостность.

8.Классы игровое поле и фигура. Класс обработчик реализует движение фигуры по полю клавишами управления курсором, переворот фигуры по нажатию клавиши «пробел».

9.Классы участок и растение. Класс обработчик реализует высадку растений на участки, сбор и подсчет урожая.

10.Классы рюкзак и учебники. Класс обработчик реализует формирование расписания предметов и заполнение рюкзака согласно этому расписанию.

11.Классы док и корабль. Класс обработчик реализует выдачу разрешения на вход корабля в порт и помещает корабль в заданный свободный док.

12.Классы комната и окна. Класс обработчик реализует проветривание комнаты при достижении критических значений температуры и влажности внутри комнаты.

13.Классы водопровод и кран. Класс обработчик реализует подсчет утекшей воды и расчет ее стоимости.

14.Классы клавиатура и клавиши. Класс обработчик задает алфавит для клавиатуры и позволяет формировать слова из этого алфавита.

15.Классы товар и категория. Класс-обработчик определяет категорию товаров с наиболее широким ассортиментом и выводит пять товаров с наибольшей ценой.

16.Классы таблица и столбец. Класс-обработчик позволяет изменять структуру таблицы.

17.Классы таблица и строка. Класс-обработчик позволяет выводить список записей таблицы, отсортированных по заданному полю.

18.Классы футболист и команда. Класс-обработчик выводит троих наиболее результативных футболистов.

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

20.Классы клиент банка (физ. лица) и кредит. Класс-обработчик должен вывести список клиентов, которые имеют задолженности по погашению кредитов.

21.Классы АТП и автобусы. Класс-обработчик должен вывести список автобусов, не прошедших техосмотр и определить возможности АТП по перевозке пассажиров за рабочую смену, если считать все маршруты одинаковыми и требующими 30 минут для ходки в одну сторону.

22.Классы цех и сотрудник. Класс-обработчик должен вывести на экран список сотрудников, которые работают в цеху более заданного количества лет и обеспечить перевод сотрудника из цеха в цех.

23.Классы шахматист и турнирная таблица. Класс-обработчик должен определить трѐх шахматистов, имеющих наименьшее количество поражений.

Группа ИУС-10б

1.Классы монитор и пиксель. Класс обработчик реализует проверку битых пикселей путем вывода черного, белого, красного, синего и зеленого цветов и проверки результата отображения. Кроме этого класс обработчик выполняет подсчет битых пикселей.

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

3.Класс команда и игрок. Класс обработчик реализует выбор заданного числа игроков на игру с учетом их состояния и амплуа.

4.Классы здание и квартира. Класс обработчик реализует подбор квартир по параметрам: площадь, количество комнат, этаж, наличие балкона, высота потолков.

5.Классы оборудование и деталь. Деталь входит в оборудование. Класс обработчик заставляет оборудование работать и считает наработку часов. Через заданное число часов нужно поставить новую деталь.

6.Классы человек и адрес. Класс обработчик реализует отображение адресов, по которым может проживать заданный с клавиатуры человек, выдает список людей с которыми он зарегистрирован в одной квартире.

7.Классы город и аэропорт. Класс обработчик проверяет наличие указанного рейса в аэропортах города, выдает ближайшие рейсы по каждому аэропорту.

8.Классы стадион и сектор. Класс обработчик реализует расчет наполненности сектора во время футбольного матча.

9.Классы треугольник и сторона треугольника. Класс обработчик реализует преобразование указанного треугольника в равнобедренный

треугольник путем изменения длин сторон исходного треугольника, сохраняя при этом площадь, занимаемую исходным треугольником.

10.Классы заказ и строка заказа. Класс обработчик реализует расчет общей стоимости заказа, проверку наличия товаров и их срока годности.

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

12.Классы отдел и служащий. Класс обработчик формирует список имени служащих со стажем не ниже заданного.

13.Классы континент и страна. Класс обработчик формирует список стран выбранного континента в порядке уменьшения их площади и населения.

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

15.Классы бассейн и дорожка. Класс обработчик реализует принятие решения, добавить человека на дорожку (число людей на дорожке ограничено), пустить человека в зависимости от его возраста и умения плавать в бассейн или нет.

16. Классы участок и растение. Класс обработчик осуществляет полив растений и сбор урожая, если растения политы недостаточное или лишнее число раз, то урожая собирается меньше.

17.Ботанический сад и цветы. Цветы цветут при соблюдении ряда условий: время года, температура и влажность. Класс обработчик реализует поиск цветов, которые должны цвести при существующих начальных данных.

18.Классы тест и вопрос. Обработчик реализует получение ответов на вопросы и расчет итогового результата, учитывая при этом веса вопросов.

19. Классы раздача (файл) и пиры. Класс обработчик реализует определение, какие пиры содержат нужные части раздачи и получение этих частей.

20.Классы книга и лист электронной таблицы. Класс обработчик просматривает формулы на каждом листе и выдает структуру связей между листами.

21.Мебельное изделие и элемент изделия. Класс обработчик определяет количественный состав элементов мебельного изделия и вычисляет суммарную площадь всего изделия, а также стоимость материала.

22.Классы комната и батарея отопления. Класс обработчик позволяет задать температуру на улице, размеры комнаты и площадь окон в комнате, рассчитывает температуру в комнате на основании температуры батареи и числа радиаторов в батареи.

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

24.Классы папка и файл. Класс обработчик реализует создание нового файла в папке, перемещение файла в указанную папку, создание, перемещение и удаление папки.

Группа ИУС-10в

1.Классы шахматная доска и фигуры. Класс обработчик рассчитывает победу игроков в зависимости от «стоимости» белых и черных фигур.

2.Классы табло и рейс. Класс обработчик реализует вывод на табло ближайшего рейса вместо ушедшего.

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

4.Классы книга и глава. Класс обработчик реализует составление содержания книги, установку закладки, вывод списка глав, в которых установлены закладки.

5.Классы тема сообщение. Класс обработчик реализует возможность заблокировать указанное сообщение и просмотр всех разрешенных сообщений в теме.

6.Классы компьютерная сеть и компьютер. Класс обработчик реализует отсылку сообщения от одного компьютера другому, подсчет сообщений отосланных и полученных каждым компьютером, вывод самого активного (отправляющий сообщения) и востребованного (получающий сообщения) компьютера.

7.Классы химическая реакция и реактивы. Класс обработчик реализует смешивание реактивов, проверку на возможность создания нового реактива, создание химических реакций.

8.Классы шахта лифта и лифт. Класс обработчик реализует вызов лифта на указанный этаж и расчет направления движения лифта.

9.Классы будильник и мелодия. Класс обработчик реализует создание расписания звонков с назначением времени и молоди; звонок может назначаться на день, ежедневно, через неделю, через день. Будильник отвечает за проигрывание мелодии в указанное время.

10.Классы кодовый замок и барабан. Класс обработчик реализует задание открывающей кодовой комбинации, формирование кодового слова для открытия замка.

11.Классы игровое поле и ячейки. Класс обработчик реализует составление слов на игровом поле (для каждой ячейки своя буква) и расчет числа набранных очков в зависимости от стоимости ячеек и букв.

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

13.Классы журнал и ученик. Класс обработчик должен выдавать число пропусков занятий по каждому ученику в списке, реализует расчет оценки за четверть на основании текущих оценок.

Контрольные вопросы

1.Что такое агрегация?

2.Чем агрегация отличается от композиции?

3.Как агрегация и композиция реализуются в С++?

4.Как лучше передавать объекты в функции и методы и почему?

Соседние файлы в папке ООП