- •Часть 2
- •Практическое занятие №1 Программирование списков
- •Программа работы
- •Контрольные вопросы
- •Варианты индивидуальных заданий
- •Методические указания
- •Dispose(pe); {освобождает 10 байтов в куче}
- •Init - создать список;
- •Практическое занятие № 2
- •Основы объектно-ориентированного программирования
- •Подготовка к работе
- •Программа работы
- •Контрольные вопросы
- •Содержание отчета
- •Методические указания к выполнению работы
-
Практическое занятие № 2
-
Основы объектно-ориентированного программирования
-
-
Продолжительность занятия 4 часа.
Цель работы: ознакомление с классами объектов в используемой системе программирования
Подготовка к работе
Изучить по конспекту лекций и приведенной ниже литературе, следующие особенности объектно-ориентированного программирования:
-
объявление классов;
-
реализация наследования, инкапсуляции, полиморфизма;
-
назначение основных окон среды Делфи.
Программа работы
-
Получить у преподавателя вариант индивидуального задания (см, таблицу 2) и определить в соответствии с вариантом тип данных Object Pascal, который необходимо использовать при проектировании класса
-
Составить описание класса на языке Object Pascal и согласовать составленное описание с преподавателем.
-
Составить реализацию методов класса и согласовать ее с преподавателем.
-
Разработать основную часть программы, в которой осуществляется инициализация нескольких экземпляров класса (объектов), и вывести на экран информацию о значении полей объектов.
-
Применить в основной программе методы, изменяющие значения полей объекта, и вывести на экран их новые значения.
-
Добавить в программу дополнительные функции для выполнения операций со значащими полями нескольких объектов, например, определение суммы или разности их значений и вывести на экран полученные результаты.
-
Запустить Delphi и открыть новое приложение для проектирования.
-
Отладить программу.
-
Контрольные вопросы
-
Чем отличаются классы и объекты?
-
Что такое инкапсуляция?
-
Что такое наследование?
-
Что такое полиморфизм?
-
Какова структура описания класса?
-
Перечислите целые типы данных, используемые в Object Pascal.
-
Перечислите вещественные типы данных Object Pascal.
-
Что понимается под форматом хранения данных в памяти?
-
Какие компоненты входят в описание класса?
-
Как создается и инициализируется объект?
-
Как уничтожается объект?
Содержание отчета
Отчет должен содержать окончательный вариант текста программы и результат ее выполнения.
Таблица 2
Вариант 1 |
|||||
Класс, поля, методы, функции |
Название |
Описание |
|||
Класс |
TBin |
Однобайтное двоичное число |
|||
Поля |
fNam1 fV1 |
Имя переменной Значение числа |
|||
Методы |
Create SetVa1l Info1 Not1 RL1 RR1 |
Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Инверсия числа Сдвиг числа на разряд влево Сдвиг числа на разряд вправо |
|||
Дополнительные функции |
And1 OrBin1 |
Логическое умножение двух чисел Логическое сложение двух чисел |
|||
Вариант 2 |
|||||
Класс, поля, методы, функции |
Название |
Описание |
|||
Класс |
TSing2 |
4-х байтное действительное число |
|||
Поля |
fName2 fVal2 |
Имя переменной Значение числа |
|||
Методы |
Create SetVal2 Info2 Resig2 |
Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Изменение знака числа |
|||
Дополнительные функции |
Div2 Add2
|
Арифметическое деление двух чисел Арифметическое сложение двух чисел
|
|||
Вариант 3 |
|||||
Класс, поля, методы, функции |
Название |
Описание |
|||
Класс |
Tint3 |
4-х байтное целое число |
|||
Поля |
fN3 fV3 |
Имя переменной Значение числа |
|||
Методы |
Create Set3 Info3 Not3 |
Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Инверсия числа |
|||
Дополнительные функции |
Div3 Sub3 |
Арифметическое деление двух чисел Арифметическое вычитание двух чисел |
|||
Вариант 4 |
|||||
Класс, поля, методы, функции |
Название |
Описание |
|||
Класс |
TChar |
Символ |
|||
Поля |
fN4 fCh4 |
Имя переменной Значение символа |
|||
Методы |
Create Set4Char Info4 UpCase4 |
Создание и инициализация объекта Установка исходного значения символа Получение информации о полях объекта Установить заглавную букву |
|||
Дополнительные функции |
Con4 |
Конкатенация двух символов |
|||
Вариант 5 |
|
||||
Класс, поля, методы, функции |
Название |
Описание |
|
||
Класс |
TReal48 |
6-ти байтное действительное число |
|
||
Поля |
fN5 fV5 |
Имя переменной Значение числа |
|
||
Методы |
Create SetV5 Info5 Res5 |
Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Изменение знака числа |
|
||
Дополнительные функции |
DivR5 AddR5
|
Арифметическое деление двух чисел Арифметическое сложение двух чисел
|
|
||
Вариант 6 |
|
||||
Класс, поля, методы, функции |
Название |
Описание |
|
||
Класс |
TReal |
8-ми байтное действительное число |
|
||
Поля |
fNam6 fVal6 |
Имя переменной Значение числа |
|
||
Методы |
Create SetV6 Inf6 Resi6 |
Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Изменение знака числа |
|
||
Дополнительные функции |
AddR6 SubR6 |
Арифметическое сложение двух чисел Арифметическое вычитание двух чисел |
|
||
Вариант 7 |
|
||||
Класс, поля, методы, функции |
Название |
Описание |
|
||
Класс |
TSmInt |
2-х байтное целое число |
|
||
Поля |
fName7 fVal7 |
Имя переменной Значение числа |
|
||
Методы |
Create Set7 Info7 NotI7 |
Создание и инициализация объекта Установка исходного значения числа Вывод информации о полях объекта Инверсия числа |
|
||
Дополнительные функции |
MulSm7 SubSm7 |
Арифметическое умножение двух чисел Арифметическое вычитание двух чисел |
|
Вариант 8 |
||||||
Класс, поля, методы, функции |
Название |
Описание |
||||
Класс |
TBin |
Однобайтное двоичное число |
||||
Поля |
fN8 f8 |
Имя переменной Значение числа |
||||
Методы |
Create SetVal8 Info8 Not8 RL8 RR8 |
Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Инверсия числа Сдвиг числа на разряд влево Сдвиг числа на разряд вправо |
||||
Дополнительные функции |
And8 Xor8 |
Логическое умножение двух чисел Логическое сложение по модулю 2 двух чисел |
||||
Вариант 9 |
||||||
Класс, поля, методы, функции |
Название |
Описание |
||||
Класс |
TSingle |
4-х байтное действительное число |
||||
Поля |
fNa9 fV9 |
Имя переменной Значение числа |
||||
Методы |
Create SetVal9 Info9 Resi9 |
Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Изменение знака числа |
||||
Дополнительные функции |
Div9 Add9
|
Арифметическое деление двух чисел Арифметическое сложение двух чисел
|
||||
Вариант 10 |
||||||
Класс, поля, методы, функции |
Название |
Описание |
||||
Класс |
TInt |
4-х байтное целое число |
||||
Поля |
fN10 f10Val |
Имя переменной Значение числа |
||||
Методы |
Create Set10 Info10 Not10t |
Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Инверсия числа |
||||
Дополнительные функции |
Mul10 Add10
|
Арифметическое умножение двух чисел Арифметическое сложение двух чисел
|
||||
Вариант 11 |
||||||
Класс, поля, методы, функции |
Название |
Описание |
||||
Класс |
TChar |
Символ |
||||
Поля |
F11Name F11Char |
Имя переменной Значение символа |
||||
Методы |
Create Set11Ch Info11 Up11Case |
Создание и инициализация объекта Установка исходного значения символа Получение информации о полях объекта Установить заглавную букву |
||||
Дополнительные функции |
Concat |
Соединение двух символов |
||||
Вариант 12 |
|
|||||
Класс, поля, методы, функции |
Название |
Описание |
||||
Класс |
TReal12 |
6-ти байтное действительное число |
||||
Поля |
fNm fVl |
Имя переменной Значение числа |
||||
Методы |
Create Set112Val Info12 R12 |
Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Изменение знака числа |
||||
Дополнительные функции |
UmnR12 WiR12
|
Арифметическое умножение двух чисел Арифметическое вычитание двух чисел |
||||
Вариант 13 |
||||||
Класс, поля, методы, функции |
Название |
Описание |
||||
Класс |
TReal |
8-ми байтное действительное число |
||||
Поля |
fNam fVl |
Имя переменной Значение числа |
||||
Методы |
Create Set13Val Inf13 Res13 |
Создание и инициализация объекта Установка исходного значения числа Получение информации о полях объекта Изменение знака числа |
||||
Дополнительные функции |
Add13Real Sub13Real |
Арифметическое сложение двух чисел Арифметическое вычитание двух чисел |
||||
Вариант 14 |
||||||
Класс, поля, методы, функции |
Название |
Описание |
||||
Класс |
TSmInt |
2-х байтное целое число |
||||
Поля |
fN fV |
Имя переменной Значение числа |
||||
Методы |
Create SetVal14 Info14 NotInt14 |
Создание и инициализация объекта Установка исходного значения числа Вывод информации о полях объекта Инверсия числа |
||||
Дополнительные функции |
Mul14Int Div14Int
|
Арифметическое умножение двух чисел Арифметическое деление двух чисел
|