Función de orden superior

De Wikipedia, la enciclopedia libre
Ir a la navegación Ir a la búsqueda

En matemáticas y ciencias de la computación funciones de orden superior son funciones que cumplen al menos una de las siguientes condiciones:

  1. Tomar una o más funciones como entrada
  2. Devolver una función como salida

En matemática estas funciones se llaman operadores o funcionales. Ejemplo de funciones de orden superior son las operaciones derivada y antiderivada en cálculo; puesto que tanto sus argumentos como sus resultados pueden ser otras funciones no constantes.

En Informática se pueden crear en numerosos lenguajes de programación, pero son particularmente frecuentes en los que incorporan el paradigma de programación funcional. Esto quiere decir que en la programación funcional las funciones son consideradas "ciudadanos" de primera clase. Pueden usarse como parámetros para otras funciones. Una función también puede ser asignada a un símbolo o variable, permitiendo la selección dinámica de una función apropiada según las circunstancias.[1]

Ejemplos en varios lenguajes[editar]

En Python[editar]

def f (x):
   return x+3

def g (fu, x):
   return fu (x) * fu (x)

print g (f, 7)

En Haskell[editar]

f:: Int-> Int
f x = x+3

g:: (Int-> Int) -> Int -> Int
g fu x = fu x * fu x

main = do
    putStrLn "resultado ="++show $ g f 7

En Scala[editar]

type func = Int => Int

object FuncionesSuperiores {
    def f (x:Int): Int = x+3

    def g (fu: func , x:Int) = {
        fu(x)*fu(x)
    }

    def main(args: Array[String]) {
        println (g(f,7))
    }
}

Véase también[editar]


Referencias[editar]

  1. «Copia archivada». Archivado desde el original el 14 de marzo de 2011. Consultado el 1 de mayo de 2011.