Programación Funcional
Concepto:
Conjunto de operaciones primitivas cuyo significado está predeterminado en el sistema como por ejemplo la suma de los números enteros, la resta, el producto, etc. Conjunto de definiciones de función, establecidas por el programador, que eventualmente emplearán las funciones primitivas, por ejemplo la función factorial
Utilidad:
El objetivo es conseguir lenguajes expresivos y matemáticamente elegantes, en los que no sea necesario bajar al nivel de la máquina para describir el proceso llevado a cabo por el programa, y evitando el concepto de estado del cómputo. La secuencia de computaciones llevadas a cabo por el programa se regiría única y exclusivamente por la reescritura de definiciones más amplias a otras cada vez más concretas y definidas, usando lo que se denominan "definiciones dirigidas".
Ejemplo: LISP:
*******************************************************************
; ---FACTORIAL----
;Definición matemática
; Factorial(x) = 1 si x=0 caso base
; x*factorial(x-1) si x>0 caso recursivo
;Función factorial hecha con recursividad no final
(defun factorial (n)
(if (= 0 n)
1 ; caso base
(* n (factorial (- n 1))))) ; caso recursivo
(factorial 4) ;esto nos devolvería 24=4*3*2*1
*******************************************************************
Programa compilado en LISP: Maxima
Fuentes:
http://es.wikipedia.org/wiki/Lenguajes_funcionales
http://www.monografias.com/trabajos16/lenguaje-miranda/lenguaje-miranda.shtml?monosearch
Elaborado por:
Carlos Sánchez Cabezas
Francisco Quesada Blanco
Luis Chacón Rodríguez


No hay comentarios:
Publicar un comentario