Студопедия

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника



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

Читайте также:
  1. Алгоблочное программирование
  2. Белки плазмы крови, их характеристика и функциональное значение. Онкотическое давление крови и его роль.
  3. Введение в программирование.
  4. Вопрос 1. Функциональное назначение нежилой недвижимости.
  5. Глава 2. Алгоритмизация и программирование. Технологии программирования
  6. Задание № 2. Программирование алгоритмов циклической и разветвляющей структуры
  7. Исследование операций. Линейное программирование.
  8. Кожа. Ее структурные компоненты и их функциональное значение.
  9. Кожа. Ее структурные компоненты и функциональное значение. Источники развития. Рецепторный аппарат. Физиологическая регенерация кожи. Производные кожи (железы, волосы, ногти).
  10. Лекция 4. Задачи линейное программирование

Сущность функционального (аппликативного) программирования определена А. П. Ершовым как «... способ составления программ, в которых единственным действием является вызов функции, единственным способом расчленения программы на части является введение имени для функции, а единственным правилом композиции — оператор суперпозиции функции. Никаких ячеек памяти, ни операторов присваивания, ни циклов, ни, тем более, блок-схем, ни передачи управления».

Роль основной конструкции в функциональных языках играет выражение: К выражениям относятся скалярные константы, структурированные объекты, функции, тела функций и вызовы функций. Функция трактуется как однозначное отображение из X в X, где X — множество выражений.

Аппликативный язык программирования включает следующие элементы:

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

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

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



Первым таким языком был LISP(Лисп) (LISt Processing — обработка списков), созданный в 1959 году. Цель его создания состояла в организации обработки символьной информации. Существенная черта этого языка — унификация программных структур и структур данных: все выражения записываются в виде списков.


Дата добавления: 2014-11-13; просмотров: 30; Нарушение авторских прав


<== предыдущая лекция | следующая лекция ==>
Процедурное программирование | Объектно-ориентированное программирование
lektsii.com - Лекции.Ком - 2014-2017 год. (0.009 сек.) Главная страница Случайная страница Контакты