Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MEGAPACK_version_final.doc
Скачиваний:
6
Добавлен:
15.09.2019
Размер:
2.34 Mб
Скачать

30. Полиморфизм

Когда программисты говорят о C++ и объектно-ориентированном программировании, то очень часто употребляют термин полиморфизм. В общем случае полиморфизм представляет собой способность объекта изменять форму. Если вы разделите этот термин на части, то обнаружите, что поли означает много, а морфизм относится к изменению формы. Полиморфный объект, следовательно, представляет собой объект, который может принимать разные формы. Этот урок вводит понятие полиморфизма и рассматривает, как использовать полиморфные объекты внутри ваших программ для упрощения и уменьшения кода. К концу данного урока вы освоите следующие основные концепции:

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

C++ упрощает создание полиморфных объектов.

Для создания полиморфных объектов ваши программы должны использовать виртуальные (virtual) функции.

Виртуальная (virtual) функция — это функция базового класса, перед именем которой стоит ключевое слово virtual.

Любой производный от базового класс может использовать или перегружать виртуальные функции.

Для создания полиморфного объекта вам следует использовать указатель на объект базового класса.

Полиморфный объект представляет собой такой объект, который может изменять форму во время выполнения программы. Для создания полиморфного объекта вы сначала определяете функции базового класса, которые отличаются от функций производных классов тем, что они виртуальные, предваряя их прототипы ключевым словом virtual.

Полиморфный объект представляет собой такой объект, который может изменять форму во время выполнения программы. Для создания полиморфного объекта ваша программа должна использовать указатель на объект базового класса. Далее программа должна присвоить этому указателю адрес объекта производного класса. Каждый раз, когда программа присваивает указателю адрес объекта другого класса, объект этого указателя (который является полиморфным) изменяет форму. Программы строят полиморфные объекты, основываясь на виртуальных функциях базового класса.

31. Численное интегрирование.

На практике редко удается вычислить точно определенный интеграл. Например, в элементарных функциях не вычисляется функция Лапласа

широко используемая в теории вероятностей для вычисления вероятностей, связанных с нормально распределенными случайными величинами.

Рассмотрим некотрые широко используемые приемы приближенного вычисления определенных интегралов.

Квадратурные формулы.

Введем понятие квадратурные формулы. Пусть дан определенный интеграл

(1)

от непрерывной на отрезке функции . Приближенное неравенство

(2)

где - некоторые числа, - некотрые точки отрезка , называется квадратурной формулой, определяемой весами и узлами .

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

Рассмотрим наиболее простые квадратурные формулы.

Формула прямоугольников. Допустим, что . Положим приближенно

(3)

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

Формула трапеций. Пусть Полагаем

(7)

где т.е. интеграл приближенно заменяется площадью заштрихованной трапеции.

Формула Симпсона . Предположим, что Интеграл приближенного заменяем площадью заштрихованной криволинейной трапеции, ограниченной сверху параболой, проходящей через точки

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]