Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal / Delphi / Ноткин А.М. Теория и практика обьектно-ориентированного программирования.doc
Скачиваний:
35
Добавлен:
02.05.2014
Размер:
552.96 Кб
Скачать

Итоговая лабораторная работа № 1 иерархия классов и объектов

Цель. Получить практические навыки создания иерархий объектов и выполнения запросов с использованием итераторов.

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

1. Создать иерархию объектов определенной предметной области.

2. На основе иерархии объектов определить иерархию классов.

3. Реализовать классы. Определения и реализации классов поместить в модуль.

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

5. Написать методы-итераторы.

6. Написать процедуры или функции, передаваемые итераторам для выполнения запросов.

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

Методические указания.

1. Предметная область выбирается студентом самостоятельно или выдается преподавателем. Для студентов заочного отделения эта область должна быть связана с местом работы студента.

2. Для иерархии объектов и классов могут быть использованы материалы лабораторных работ № 2 и 3.

Пример иерархии объектов для предметной области “Высшее учебное заведение”:

Факультет ЭТ

кафедра №1

студ. группа №1

преп. Иванов

преп. Петров

студ. Шилов

студ. Котов

… …

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

3. Запросы выполняются путем вызова итератора для головного объекта (в нашем примере “факультет”) и передачи ему необходимой процедуры или функции и, если необходимо, других параметров.

Например:

pf:PGroup;

pf:=new(PFac,Init(“ЭТФ”,<другие параметры конструктора>));

pf^.ForEach(@MyFunc,<другие параметры итератора>)

4. Примеры запросов:

 вывести список студентов, чей рейтинг не менее заданного (заданный рейтинг передается итератору через параметр);

 повысить зарплату всем доцентам на 20% (“доцент”  значение поля post объекта класса TTeacher);

 вывести список ассистентов заданной кафедры (наименование кафедры  значение поля name объекта класса TSubFac  передается итератору через параметр).

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

5. Демонстрационная программа не должна быть диалоговой  объекты создаются, помещаются в группы, удаляются, выполняют итераторы непосредственно в тексте программы.

Содержание отчета.

1. Титульный лист.

2. Постановка задачи.

3. Иерархия классов.

4. Иерархия объектов.

5. Реализация всех итераторов.

6. Описание запросов.

7. Реализация функций (процедур), передаваемых итератору.

8. Листинг демонстрационной программы.

9. Результаты выполнения программы.

Итоговая лабораторная работа № 2 программа, управляемая событиями

Цель. Закрепить знания, полученные при выполнении предыдущих лабораторных работ. Получить практические навыки создания диалоговой объектно-ориентированной программы, обрабатывающей события-запросы.

Содержание работы.

Работа основана на лабораторной работе № 4 и итоговой лабораторной работе № 1. Отличие от итоговой работы № 1 состоит только в том, что запросы вводятся в диалоге в виде команд, как в лабораторной работе № 4.

Содержание отчета.

1. Титульный лист.

2. Постановка задачи.

3. Иерархия классов.

4. Иерархия объектов.

5. Описание запросов.

6. Реализация всех обработчиков HandleEvent с объяснением их выполнения.

7. Листинг демонстрационной программы.

8. Тестовые данные и результаты тестирования программы.