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

Функциональное программирование – это способ составления программ, в которых единственным действием является вызов функции, единственным способом расчленения программы на части является введение имени функции, а единственным правилом композиции – оператор суперпозиции функции. В такой программе нет ни ячеек памяти, ни операторов присваивания, ни циклов, ни передачи управления. Другими словами в функциональном языке программист формулирует не «что надо сделать», как в процедурном языке, а «что надо получить».

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

§ классы констант, используемые в функциях;

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

§ правила построения новых функций из базовых;

§ правила формирования выражений на основе вызова функций.

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

Самым старым функциональным языком является LISP (List Processing). Он создан группой авторов под руководством Дж. Маккарти в 1959 г. Цель его создания состояла в удобстве обработки символьных данных. В настоящее время он рассматривается как основной язык программирования систем искусственного интеллекта. Кроме того, имеются реализации языка для решения специфических задач (например, AutoLISP в системе AutoCAD).

Пример

В следующей LISP-программе определена функция перевода градусов в радианы.

; перевод градусов в радианы

(defun dtr (a)

(* pi (/ a 180.0))

)

command dtr 180

 

После выполнения последней функции на экран монитора будет выведено число 3.159.

g

Другим примером языка функционального программирования может служить язык Forth, созданный Ч. Муром в 1971 г., который применяется в основном для программ управления оборудованием в реальном масштабе времени. Forth, подобно языку С, представляет собой низкоуровневый язык, неориентированный на какую-либо конкретную ЭВМ. Центральным понятием языка Forth является слово. Программа пишется путём составления определений новых слов, для которых используются ранее определённые слова, пока не будет определено главное слово, которое нужно ввести, чтобы исполнить основную программу. Фактически программа является расширением самого языка за счёт включения в него новых слов.

Пример

В следующей Forth-программе определено новое слово для умножения на 2:

: TIMES2 2 *.;

5 TIMES2

В первой строке определено слово TIMES2, причём знак: означает начало определения, а знак; - конец определения.

Во второй строке слово применяется. На экране монитора будет высвечено число 10.

g

В системах управления базами данных широко используется язык запросов SQL. По существу SQL является также функциональным языком программирования.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: