Онлайн поддержка
Все операторы заняты. Пожалуйста, оставьте свои контакты и ваш вопрос, мы с вами свяжемся!
ВАШЕ ИМЯ
ВАШ EMAIL
СООБЩЕНИЕ
* Пожалуйста, указывайте в сообщении номер вашего заказа (если есть)

Войти в мой кабинет
Регистрация
ГОТОВЫЕ РАБОТЫ / КУРСОВАЯ РАБОТА, ПРОГРАММИРОВАНИЕ

ОСНОВНЫЕ КОНЦЕПЦИИ ФУНКЦИОНАЛЬНОГО ПРОГРАММИРОВАНИЯ

tanypav 350 руб. КУПИТЬ ЭТУ РАБОТУ
Страниц: 26 Заказ написания работы может стоить дешевле
Оригинальность: неизвестно После покупки вы можете повысить уникальность этой работы до 80-100% с помощью сервиса
Размещено: 01.04.2022
Идеология функционального программирования основана на алгебраическом понятии «функция», что разрешает наиболее результативно создавать программы расчётного темперамента. Кроме того, функциональное моделирование предоставляет возможность эффективно проводить вычисления на уровне символов, а не чисел. Потому-то этот факт разыскал самое очевидное отражение в искусственном интеллекте. [7]
Введение

Математические функции выражают взаимосвязь между параметрами (входными данными) и результатом (выходом) некоторого процесса. Поскольку вычисление также является процессом, который имеет вход и выход, функция является вполне подходящим и адекватным средством описания вычислений. Именно этот простой принцип лежит в основе функционального программирования. [11] Функциональное программирование - это подход к программированию, при котором программа определяется набором определений функций без явного определения последовательности их применения. [8] Понятие функция связано с понятиями: ? аргумента функции, ? области её существования и значения, ? соответствия между её аргументами и результатами, ? применения функции к её аргументам. Единственное действие в программе - это вызов функции. Единственный способ разделить программу на части - это ввести имя функции и задать для этого имени выражение, которое вычисляет значение функции. Во время выполнения программы функции получают параметры, вычисляют и возвращают результат, при необходимости вычисляя значения других функций. Чтобы программировать с использованием функций, вам необходимо уметь определять достаточно богатый набор базовых функций, а затем использовать композицию для определения новых функций в терминах исходных. Функциональное программирование не использует концепцию памяти как хранилища значений переменных. Здесь отсутствуют операторы присваивания, в результате чего переменные обозначают не области памяти, а программные объекты, что полностью соответствует понятию переменной в математике. Кроме того, между программами и данными нет существенных различий. В результате функция может быть значением вызова другой функции или элементом структурированного объекта [13]. Есть две основные абстракции функционального программирования: 1. Отказ от управляющих операторов. Вместо них ко всей программе единообразно применяется механизм управления. Программа рассматривается как набор функций, а вычисление – как попытка вычислить целевую функцию на основе известных программе функций. 2. Не используются операторы присваивания и явные указатели. Вместо этого для декомпозиции структур данных используется обобщённый механизм сопоставления с образцом. Объекты нельзя изменять и уничтожать, можно только создавать новые путём декомпозиции и синтеза существующих объектов. Функциональные языки обладают двумя весьма мощными средствами: 1. Способность структурировать данные. Мощность этого средства состоит в том, что структуры данных выступают как единые значения. Они могут вводиться в функцию как аргументы и выдаваться из неё как результаты. Наиболее важно, что однажды построенная структура не может изменяться. [9] 2. Возможность определять функции высших порядков. Такие функции имеют другие функции либо своими аргументами, либо вырабатывают в качестве результатов. Использование функций высших порядков приводит к более кратким и сжатым программам. ?
Содержание

Введение ..................................................................................................................3 Глава 1 Математические основы функционального программирования………5 1.1 Свойства Функциональных языков .................................................................6 1.1.1 Краткость и простота .....................................................................................6 1.1.2 Строгая типизация…………...…………………………….……….…..…...8 1.1.3 Модульность……...……………………………………….………………...9 1.1.4 Функции – это значения………………………………….………….………9 1.1.5 Чистота…………………………………………………….……….…….....10 1.1.6 Отложенные вычисления……………………………………….…………10 1.2 Преимущества и недостатки функционального подхода…….….……...…11 1.3 ?-исчисление как формализация языка функционального программирования…………………………………………....………………….12 1.4 Редукция и стратегии редукций…………………………….….……….......13 1.5 Сравнение функционального и логического программирования…..…….15 1.6 Решаемые задачи………………………………….…………………….........17 1.7 Основные языки функционального программирования….……….….........17 ……………………. Глава 2 История Функционального программирования....................................20 2.1 Лисп...................................................................................................................21 2.1.1 Функциональное программирование с помощью Лисп………………….22 2.2 Haskell ..............................................................................................................23 2.2.1 Характеристика Haskell…………………………………………………....23 ……………………. Заключение.............................................................................................................25 Список использованной литературы....................................................................26
Список литературы

1. Адаменко А. Н., Кучуков А. М. Логическое программирование и Visual Prolog. – СПб.: БХВ-Петербург, 2003. 2. Барендрегт X. Ламбда-исчисление. Его синтаксис и семантика. / Пер. с англ. – М.: Мир, 1985. 3. Баррон Д. Рекурсивные методы в программировании. / Пер. с англ. – М.: Мир, 1974. 4. Бен-Ари М. Языки программирования. Практический сравнительный анализ. / Пер. с англ. – М.: Мир, 2000. 5. Бердж В. Методы рекурсивного программирования. / Пер. англ. – М.: Машиностроение, 1983. 6. Братко И. Алгоритмы искусственного интеллекта на языке Prolog. / Пер. с англ. – 2-е изд. – М.: Вильямс, 2004. 7. Гаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных систем. – СПб.: Питер, 2000. 8. Городняя Л. В. Основы функционального программирования. Курс лекций. Учебное пособие. – М.: ИНТУИТ.РУ, 2004. 9. Дейт К. Введение в системы баз данных. / Пер. с англ. – 6-е изд. – К.; М.; СПб.: Вильямс, 1999. 10. Доорс Дж., Рейблейн А.Р., Вадера С. Пролог – язык программирования будущего. / Пер. с англ. – М.: Финансы и статистика, 1990. 11. Лавров С.С. Программирование. Математические основы, средства, теория. – СПб.: БХВ-Петербург, 2001. 12. Тейз А., Грибомон П. и др. Логический подход к искусственному интеллекту: от классической логики к логическому программированию. / Пер. с франц. – М.: Мир, 1990. 13. Филд А., Харрисон П. Функциональное программирование. – М.: Мир, 1993. 14. Харрисон Дж. Введение в функциональное программирование. / Пер. с англ., 1997. 15. Хендерсон П. Функциональное программирование. Применение и реализация. / Пер. с англ. – М.: Мир, 1983. 16. Хоггер К. Введение в логическое программирование. / Пер. с англ. – М.: Мир, 1988. 17. Довбуш Г. Ф. Лабораторные работы по логическому программированию. Методические указания. – СПб: ПГУПС, 2005.
Отрывок из работы

1 Математические основы функционального программирования К фундаментальным математическим исследованиям, которые привели к появлению функционального подхода к программированию, относятся: 1. Моделирование функций. Теория конечных последовательностей в форме ?-преобразований, разработанная А. Чёрчем, положила начало математическому исчислению, которое формализует понятие функции. Выбрав ?-исчисление в качестве теоретической модели, Д. Маккарти предложил рассматривать функции как общее базовое понятие, к которому вполне естественно могут быть сведены все остальные понятия, возникающие в программировании. Обработка информации в ?-исчислении управляется в рамках иерархии свободных и связанных переменных, реализованных с использованием таблицы сопоставления символов. Обработка представлена интерпретацией выражений, построенных из определенных функций. [2] 2. Типы моделирования. Работы, посвященные типизированному ?-исчислению, в соответствии с которым аргументам функций и самим функциям может быть присвоен (приписан) тот или иной тип. Типизация значительно повышает вычислительную согласованность и значимость любой математической формализации, и, конечно же, современные языки программирования немыслимы без нее. Функциональное программирование поддерживает универсальные методы обработки различных типов объектов. [14] 3. Моделирование вычислительной среды в виде абстрактной машины. Абстрактная машина - это математическая формализация, моделирующая правила выполнения программ (иначе алгоритмы) для того или иного реального компьютера. В настоящее время аналоги абстрактных машин в виде так называемых виртуальных машин широко используются в практической реализации функциональных и объектно-ориентированных языков. Виртуальные машины - это средство создания профессиональных - межсуточный (следующий за текстом программы на языке высокого уровня) код (например, код Java), который затем переводится в машинный код. Абстрактные машины позволяют адекватно моделировать различные подходы и вычислительные стратегии (в том числе рекурсивные), а также вычисления, когда это необходимо. Х. Карри предложил теорию функций без свободных переменных (иначе называемых комбинаторами), известную как комбинаторная логика. [5]
Условия покупки ?
Не смогли найти подходящую работу?
Вы можете заказать учебную работу от 100 рублей у наших авторов.
Оформите заказ и авторы начнут откликаться уже через 5 мин!
Похожие работы
Курсовая работа, Программирование, 61 страница
620 руб.
Курсовая работа, Программирование, 30 страниц
300 руб.
Курсовая работа, Программирование, 43 страницы
300 руб.
Служба поддержки сервиса
+7 (499) 346-70-XX
Принимаем к оплате
Способы оплаты
© «Препод24»

Все права защищены

Разработка движка сайта

/slider/1.jpg /slider/2.jpg /slider/3.jpg /slider/4.jpg /slider/5.jpg