- •Лабораторная работа №9 Комбиированный тип - запись Тип данных – Запись
 - •Формат определения типа.
 - •Правила создания записного типа
 - •Представление переменной типа запись в памяти
 - •Доступ к значению поля в записи
 - •Расчет объема памяти, выделяемого переменной типа запись
 - •Требования к выполнению лабораторной работы
 - •Варианты заданий
 - •Пример разработки одномодульного приложения.
 - •Контрольные вопросы
 - •Лабораторная работа 10 Разработка приложений под Windows средст вами Delphi Создание оконного приложения
 - •Требования к выполнению лабораторной работы
 - •Контрольные вопросы
 - •Лабораторная работа №11 Объектно-ориентированное программирование Определение класса
 - •Наследование
 - •Требовния к выполнению лабораторной работы
 - •Варианты заданий
 - •Контрольные вопросы.
 - •Лабораторная работа №12 файлы Текстовый файл
 - •Типизированный файл
 - •Требования к выполнению лабораторной работы
 - •Варианты заданий
 - •Контрольные вопросы
 - •Библиографический список
 
Наследование
Формат определения класса наследника
Type
Имя класса=class(Имя класса родителя)
[private/ public/ protected/published]
элементы класса
[property]
свойства класса
end;
Пример определения класса наследник от класса Droby.
Новый класс должен иметь помимо методов родителя еще и метод умножения дробей.
Unit Nasl;
Interface
Uses ClassDroby;
Type
Tnasl=class(Tdroby)
Public
procedure Tdroby.Mult(D:Tdroby);
end;
procedure Tnasl. Mult (D:Tdroby);
begin
a:=D.a*a;
b:=D.b*b;
r:=NOD;
sokrash;
end;
end.
//использование наследника в приложении
uses Nasl;
var
O1, o2: Tnasl;
Begin
O1:=Tnasl.create;
O2:=Tnasl.create;
O1.set_a(5);
O2.set_b(7);
O2.set_a(2);
O2.set_b(3);
O1.mult(O2);
Writel(O1.get_a, ‘/’, O1.get_b)
End.
Требовния к выполнению лабораторной работы
Создать модуль Unit с именем Parent.
Определить базовый класс с именем Tbase и полями данных определенными в варианте задания. Включить в класс методы, обеспечивающие:
заполнение полей данных;
отображение (вывод ) полей данных;
конструктор, который инициализирует поля класса пустыми значениями;
деструктор, сообщающий об удалении объекта.
Создайть приложение под windows, демонстрирующее выполнение всех методов базового класса.
Создать модуль Unit с именем Naslednic1. На основе базового класса создайть класс наследник с именем TNasl1, содержащий методы доступа к каждому отдельному полю:
для чтения значений полей данных (функции);
для записи значений полей данных (процедуры).
Создать приложение под Windows, демонстрирующее выполнение всех методов наследника.
Создать модуль Unit с именем Naslednic2. На основе базового класса создайть класс наследник с именем TNasl2, обеспечивающий доступ к объектам класса с помощью механизма свойств - property.
Создать приложение, демонстрирующее применение свойств.
Добавить в приложение процедуру, которая принимает в качестве параметра объект типа TNasl2 и выводит значения полей объекта, получая значения полей через свойства.
Таблица 6
Варианты заданий
| 
			 
  | 
			 Объект  | 
			 Список полей  | 
| 
			 1  | 
			 Студент  | 
			 Номер зачетной книжки, Фамилия, Имя, Дата рождения, Номер телефона, Дата поступления, Признак удаления записи  | 
| 
			 2  | 
			 Спортсмен  | 
			 Фамилия, Имя, Дата рождения, Вес, Рост, Пол  | 
| 
			 3  | 
			 Запись в записной книжке  | 
			 Фамилия, Номер телефона, Дата рождения.  | 
| 
			 4  | 
			 Житель  | 
			 Фамилия, Город, Адрес: улица, дом, квартира.  | 
| 
			 5  | 
			 Книга  | 
			 Автор, Название, Инвентарный номер, Издательство, Количество страниц, Цена  | 
| 
			 6  | 
			 Успеваемость  | 
			 Номер зачетной книжки, Шифр группы, Название дисциплины, Дата получения оценки, Оценка, Фамилия преподавателя При вводе данных в строковые поля предусмотреть преобразование их к формату: первая буква большая, остальные маленькие)  | 
| 
			 7  | 
			 Запись в Карточке пользователя библиотеки  | 
			 Инвентарный номер, Автор, Название, Дата выдачи, Дата возврата  | 
| 
			 8  | 
			 Работающий студент  | 
			 Номер зачетной книжки, Группа, Код специальности, место работы  | 
| 
			 9  | 
			 Игрушка  | 
			 конструктор и т.д.), стоимость в копейках(вводится может дробное число, содержащее рубли и копейки), возрастные границы детей, для кого игрушка предназначена( два поля -начальный возраст и конечный)  | 
| 
			 10  | 
			 Претендент 
  | 
			 Фамилия, Имя Отчество, Возраст, Рост, Цвет глаз, Цвет волос, Зарплату, Наличие квартиры, Наличие машины  | 
| 
			 11  | 
			 Пациент 
  | 
			 Фамилия , Имя, Отчество, Адрес, Место работы, Наличие прививки от гриппа, Дата последней флюорографии 
 
  | 
| 
			 12  | 
			 Квартира 
  | 
			 Общая площадь, Жилая площадь, Площадь кухни, Наличие лоджии, Наличие санузла и его характеристики(совмещенный или нет), Панельный или кирпичный дом, Этаж, Общее количество этажей, Адрес, Стоимость, Район города  | 
| 
			 13  | 
			 Автомобиль 
  | 
			 Модель, Номер(код региона, цифровой код, буквенный код), Цвет, Сведения о владельце(Фамилия, Имя , Адрес), дата последнего техосмотра.  | 
| 
			 13  | 
			 Видеофильм 
  | 
			 Название, Студия, Жанр, Год выпуска, Режиссер, фамилии исполнителей главных роли(не более 10).  | 
| 
			 14  | 
			 Спортсмен 
  | 
			 Анкетные и антропологические данные, Гражданство, Вид спорта, Клуб, Данные о личном рекорде(дата, призовое место)  | 
| 
			 15  | 
			 Банк 
  | 
			 Наименование, Адрес, Статус(форма собственности), условия хранения средств на личном счету(годовые проценты на различных видах вкладов)  | 
| 
			 16  | 
			 Требования Покупателя автосалона 
  | 
			 Контактный телефон, Финансовые возможности, Техническое состояние,. Марка, Год выпуска, Технические характеристики(Мощность двигателя, Количество цилиндров, и т.д.), Особенности исполнения, Запрашиваемая цена.  | 
| 
			 17  | 
			 Тур 
  | 
			 Страна, Город, Условия проживания(Отель-звезды, Автобус и т. д.), Условия проезда, Экскурсионное обслуживание, Сервис принимающей стороны, Стоимость путевки.  | 
