Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК_ОАиП.doc
Скачиваний:
5
Добавлен:
01.04.2025
Размер:
5.06 Mб
Скачать

Лабораторная работа № 42.

Тема: Разработка программ с использованием объектно-ориентированной технологии.

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

Средства: ПЭВМ, среда разработки Pascal.

Актуализация опорных знаний

1. Объект и его свойства.

2. Инкапсуляция, полиморфизм, наследование.

3. Конструктор, деструктор, виртуальные функции.

Пример выполнения задания

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

Текст пользовательского модуля

Unit ObjTov;

Interface

Type

TovPtr=^Tov;

Tov=OBJECT

Naim:String;

Kol:real;

Cena:real;

Constructor Init(Nm:string;Kl:real;Cn:real);

Destructor Done;Virtual;

Procedure Show;Virtual;

End;

Implementation

Uses Crt;

Constructor Tov.Init(Nm:string;Kl:real;Cn:real);

begin

Self.Naim:=Nm;

Self.Kol:=Kl;

Self.Cena:=Cn;

end;

Destructor Tov.Done;

begin

end;

Procedure Tov.Show;

begin

Writeln;

Writeln('Наименование: ',Naim);

Writeln('Количество: ',Kol:8:3);

Writeln('Цена: ',Cena:8:3);

104

End;

Begin

End.

Текст программы

Program Lr25;

uses objtov;

Type

Tovskl=object(Tov)

summa:real;

constructor Init(nm:string;kl:real;cn:real);

destructor Done;Virtual;

Procedure Show; Virtual;

end;

var

WorkTov:Tovskl;

constructor Tovskl.Init(nm:string;kl:real;cn:real);

begin

Tov.Init(nm,kl,cn);

summa:=kl*cn;

end;

destructor Tovskl.Done;

begin

end;

Procedure Tovskl.Show;

begin

Tov.Show;

writeln('Сумма: ',summa:8:5);

end;

Begin

WorkTov.Init('Бананы',5.5,2300);

WorkTov.Show;

WorkTov.Done;

End.

Задания

1. Разработать пользовательский модуль, содержащий данные и методы об объекте товар (поля: наименование, сорт, цена за единицу). На основе пользовательского модуля разработать программу, демонстрирующую создание и использование потомка от объекта товар.

2. Разработать пользовательский модуль, содержащий данные и методы об объекте студент (поля: код группы, номер по журналу, фамилия и инициалы, дата рождения, пол).

На основе пользовательского модуля разработать программу, демонстрирующую создание и использование потомка от объекта студент.

3. Разработать пользовательский модуль, содержащий данные и методы об объекте автомобиль (поля: марка, производитель, год выпуска, цена). На основе пользовательского модуля разработать программу, демонстрирующую создание и использование потомка от объекта автомобиль.

4. Разработать пользовательский модуль, содержащий данные и методы об объекте самолёт (поля: модель, грузоподъёмность, название авиакомпании). На основе пользовательского модуля разработать программу, демонстрирующую создание и использование потомка от объекта самолёт.

5. Разработать пользовательский модуль, содержащий данные и методы об объекте операционная система (поля: название ОС, тип файловой системы, год выпуска). На основе пользовательского модуля разработать программу, демонстрирующую создание и использование потомка от объекта операционная система.

6. Разработать пользовательский модуль, содержащий данные и методы об объекте HDD (поля: производитель, объём в Gb, характеристики, цена за единицу). На основе пользовательского модуля разработать программу, демонстрирующую создание и использование потомка от объекта HDD.

7. Разработать пользовательский модуль, содержащий данные и методы об объекте книга (поля: фамилия автора, название книги, издательство, год издания, цена). На основе пользовательского модуля разработать программу, демонстрирующую создание и использование потомка от объекта книга.

8. Разработать пользовательский модуль, содержащий данные и методы об объекте телефонный номер (поля: фамилия владельца, имя владельца, отчество владельца, номер).

На основе пользовательского модуля разработать программу, демонстрирующую создание и использование потомка от объекта телефонный номер.

9. Разработать пользовательский модуль, содержащий данные и методы об объекте CD (поля: наименование диска, фамилия исполнителя, название песни, время звучания). На основе пользовательского модуля разработать программу, демонстрирующую создание и использование потомка от объекта CD.

10. Разработать пользовательский модуль, содержащий данные и методы об объекте игра (поля: название игры, жанр игры). На основе пользовательского модуля разработать программу, демонстрирующую создание и использование потомка от объекта игра.

11. Разработать пользовательский модуль, содержащий данные и методы об объекте модуль оперативной памяти (поля: производитель, объём в Мб, цена за единицу). На основе пользовательского модуля разработать программу, демонстрирующую создание и использование потомка от объекта модуль оперативной памяти.

12. Разработать пользовательский модуль, содержащий данные и методы об объекте принтер (поля: производитель, тип, цена за единицу). На основе пользовательского модуля разработать программу, демонстрирующую создание и использование потомка от объекта принтер.

13. Разработать пользовательский модуль, содержащий данные и методы об объекте монитор (поля: производитель, тип, цена за единицу). На основе пользовательского модуля разработать программу, демонстрирующую создание и использование потомка от объекта монитор.

14. Разработать пользовательский модуль, содержащий данные и методы об объекте расписание (поля: день недели, название предмета, фамилия преподавателя). На основе пользовательского модуля разработать программу, демонстрирующую создание и использование потомка от объекта расписание.

15. Разработать пользовательский модуль, содержащий данные и методы об объекте фильм (поля: название, жанр, режиссер). На основе пользовательского модуля разработать программу, демонстрирующую создание и использование потомка от объекта фильм.

16. Разработать пользовательский модуль, содержащий данные и методы об объекте реферат (поля: тема, фамилия автора, количество страниц, дата написания). На основе пользовательского модуля разработать программу, демонстрирующую создание и использование потомка от объекта реферат.