- •Матеріали для підготовки до держіспиту
- •Програмування
- •1. Об’єкти. Поняття об’єкту у процедурному та об’єктно-орієнтованому програмуванні
- •2. Загальні принципи і основні елементи об’єктно-орієнтованого програмування
- •3. Типи та класи у сучасній мові програмування. Взаємовідношення понять "клас" та "об’єкт"
- •4. Поліморфізм як одна з компонентів ідеології сучасного програмування
- •5. Принцип модульності у програмуванні. Процедури і функції, їх побудова та застосування
- •6. Динамічний розподіл ресурсів пам’яті при виконанні програми
- •7. Застосування шаблонів функцій та класів при створенні програм. Можливості параметризованих класів.
- •8. Успадкування та створення ієрархій класів. Проблеми, які вирішуються шляхом використання успадкування
- •9. Атрибути доступу як засіб підвищення надійності програмування
- •Теорія систем та математичне моделювання
- •10. Основні поняття теорії систем. Класифікація систем
- •11. Методи опису систем
- •12. Математичні та комп’ютерні моделі. Їх види та характеристики
- •13. Ідентифікація моделей і задача апроксимації. Методи апроксимації даних
- •14. Моделювання стаціонарних систем. Нелінійні системи
- •15. Моделювання динаміки систем. Системи з локалізованими та розподіленими властивостями.
- •Аналіз та побудова алгоритмів
- •16. Поняття алгоритму. Види алгоритмів, способи їх подання.
- •17. Оцінювання ефективності алгоритму. Функція складності.
- •18. Математичний аналіз і емпіричне дослідження алгоритмів.
- •19. Обчислювальна складність задач. Класи задач p та np.
- •20. Функція складності алгоритму та асимптотичні відношення.
ЗНТУ
Кафедра системного аналізу і обчислювальної математики
Матеріали для підготовки до держіспиту
2011 р.
Програмування
1. Об’єкти. Поняття об’єкту у процедурному та об’єктно-орієнтованому програмуванні
Объектом называют информационную единицу определенного типа, размещенную в памяти компьютера и являющуюся информационной моделью некоторой (реальной или идеальной) сущности.
Создать объект - значит выделить для него область памяти, размер которой соответствует типу информационной единицы. Инициализировать объект – значит заполнить соответствующую область памяти адекватной (соответствующей сущности объекта) информацией. Удалить (ликвидировать, уничтожить) объект - означает пометить область памяти, занимаемую объектом, как свободную область памяти.
Объект представляет собой основную структурную единицу (обрабатываемых или принимающих участие в обработке) данных в процессе выполнения программы.
Атрибутами объекта являются: адрес, размер, идентификатор, значение, тип.
Адрес объекта это адрес его первого байта.
Размер - величина объекта в байтах.
Идентификатор представляет собой имя некоторого элемента программы - объекта, функции, типа. Правила выбора идентификаторов в С++ такие же, как и в С. Можно использовать (и часто используются) безымянные объекты, доступ к ним осуществляется с помощью адресов. С идентификатором объекта связываются следующие его характеристики:
1) сфера действия;
2) область видимости;
3) пространство имен.
Сфера действия: область программы, в пределах которой сохраняется связь между идентификатором и объектом. Категории сферы действия: блок, функция, класс, файл, программа.
Область видимости: область программы, из которой возможен нормальный доступ к объекту. Область видимости либо совпадает со сферой действия, либо составляет часть ее.
Пространство имен - область программы, в пределах которой данный идентификатор должен быть уникальным. Пространство имен может быть: глобальным или локальным, именованным или не именованным.
Значение объекта - информация, которая заносится в объект путем выполнения операций инициализации, присваивания или ввода. Объект может находиться в двух состояниях: инициализирован (определен) и не инициализирован (не определен). Не инициализированный объект представляет собой потенциальную угрозу для правильности выполнения программы, создавая предпосылки для появления ошибок периода выполнения.
Тип объекта определяет:
- множество, которому могут принадлежать его значения;
- способ двоичного представления значения;
- правила (алгоритмы) выполнения операций над значениями объекта;
- размер объекта.
По способу создания и удаления все объекты можно разделить на три категории:
a) статические (глобальные),
б) локальные,
в) динамические.
Статические объекты создаются до начала выполнения функции main(), а удаляются после завершения ее работы. Для выполнения этих операций компилятор формирует специальный участки кода, которые размещаются в прологе и эпилоге программы.
Локальные объекты создаются в точке его объявления и удаляются после выхода из сферы действия объекта (из блока). Выполняются эти операции программой автоматически. Размещаются статические и локальные объекты в сегменте данных или в стеке.
Динамические объекты создаются операциями new и new[] и удаляются при выполнении операций delete и delete[]. Размещаются они в куче (heap-область памяти).
Объекты в ООП
Особенности объектов в ООП:
- объект является структурированным;
- объект может включать в себя объекты (рекурсивные включения запрещены: объект не может включать в себя самого себя);
- объект ассоциируется с исполняемым кодом – набором функций и процедур своего класса;
- структура и свойства объекта определяются соответствующим классом, объект всегда принадлежит некоторому классу.
Информация, которую содержит объект, включает: информацию о свойствах и информацию о состоянии объекта.
Поведение объекта: определяется ассоциированными с ним функциями и процедурами.
Объект может принимать сообщение, передаваемое программным кодом. Под сообщением понимают вызов функции, изменяющий состояние объекта. Объект может реагировать на события, изменяя свое состояние. Для этого в соответствующем классе предусматривают спец. функции – обработчики событий. Вызываются эти функции с использованием техники программных прерываний.