Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ekzamen_po_informatike_shpory.doc
Скачиваний:
0
Добавлен:
27.11.2019
Размер:
456.7 Кб
Скачать

Функциональное программирование

Применение ЭВМ для решения задач искусственного интеллекта и обработки текстов привело к созданию функциональных языков. Эти языки имеют хорошо проработанное математическое основание - -исчисление. Функция в математике - отображение объектов из множества величин (области определения функции или домена) в объекты другого множества (область значений функции). Переменные в функциональной программе рассматриваются как переменные в математике: если они существуют, то имеют какую-то величину, и эта величина не может измениться. Функциональная программа описывает, что должно быть вычислено, то есть является просто выражением, определенным в терминах заранее заданных функций и функций, определенных пользователем. Величина этого выражения является результатом программы. Таким образом, здесь отсутствует состояние программы и предыстория вычислений. Первым языком функционального программирования является созданный в начале 1960-х годов язык ЛИСП (LISP - LISt Processing). В отличие от процедурных языков, в которых действия в основном выражаются в виде итерации - повтора какого-либо фрагмента программы несколько раз, в ЛИСП вычисления производятся с помощью рекурсии - вызова функцией самой себя, а основная структура данных - это список.

Логическое программирование

Математическая логика использует отточенный формальный язык для представления знаний об объектах той или иной предметной области, включая явные средства выражения гипотез и суждений. Подобные качества роднят логику и искусство программирования. Идея непосредственного применения логики в качестве средства программирования возникла практически одновременно с первыми процедурными языками. Главная особенность такого подхода состоит в том, что программа (логическая) состоит из набора утверждений (аксиом), а вычисление, выполняемое под управлением такой программы, представляет собой логический вывод некоторого целевого утверждения - искомого результата. Вывод производится из аксиом программы по правилам математической логики, причем эти правила применяются автоматически, программист не должен их специально указывать.

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

Объектно-ориентированное программирование

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

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

Основные идеи объектно-ориентированного подхода опираются на следующие положения:

1.программа представляет собой модель некоторого реального процесса, части реального мира.

2.модель реального мира или его части может быть описана как совокупность взаимодействующих между собой объектов.

3. Объект описывается набором параметров, значения которых определяют состояние объекта, и набором операций (действий), которые может выполнять объект.

4. Взаимодействие между объектами осуществляется посылкой специальных сообщений от одного объекта к другому. Сообщение, полученное объектом, может потребовать выполнения определенных действий, например, изменения состояния объекта.

5. Объекты, описанные одним и тем же набором параметров и способные выполнять один и тот же набор действий представляют собой класс однотипных объектов.

Три основных достоинства ООП: упрощение проектирования; ускорение разработки за счет многократного использования готовых модулей; легкость модификации.

Общим предком практически всех используемых сегодня объектных и объектно-ориентированных языков является Simula, созданный в 1960 году Далем, Мюрхогом и Ныгардом. Существенно, что Simula, предназначенная для описания систем и моделирования, ввела дисциплину написания программ, отражающую словарь предметной области.

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