tarea

Páginas: 9 (2022 palabras) Publicado: 1 de octubre de 2014
CALCULO LAMBDA EN LENGUAJES DE PROGRAMACION(C# y VISUAL BASIC)

Las expresiones Lambda son útiles para sintetizar funciones con pocos parámetros que regresan algún valor, esta expresión consiste básicamente en una regla de sustitución que expresa tal cual una función o sea un mapeo de los elementos del conjunto dominio a los elementos de un codominio.
(Argumentos de entrada) => (salida alprocesarlos)
Aunque C# no utiliza los símbolos de la notación matemática lambda, el operador lambda es => que significa “tiende a” o “va hacia a”, la estructura de una expresión lambda en C# es:

Las expresiones lambda, si bien son algo nuevo en Visual Basic o C#, se basan en un concepto matemático de ya casi 80 años: El cálculo lambda. El cálculo lambda, es un formalismo matemático que fueintroducido por Alonzo Church en el año 1934. Para entender este sencillo concepto matemático tomemos dos funciones:

Por un lado, la función identidad f(x) = x, que toma un único argumento, x, e inmediatamente devuelve x.

Por otro lado, la función suma f(x,y) = x + y, que toma dos argumentos, x e y, y devuelve la suma de ambos: x + y.

Usando estas dos funciones como ejemplo, es posible haceralgunas observaciones útiles acerca de varias ideas fundamentales del cálculo lambda: La primera observación es que las funciones no necesitan ser explícitamente nombradas. Esto es, la función f(x,y) = x + y puede ser reescrita como una función anónima: (x,y) → x + y (que se lee: «el par de x e y se mapea a x + y»). Del mismo modo, f(x) = x puede ser reescrita de forma anónima como x → x, que selee: «el argumento x se mapea a sí mismo».

La segunda observación es que el nombre que se asigne a los argumentos de la función es generalmente irrelevante. Esto es, x → x e y → y expresan la misma función: la función identidad. Del mismo modo, x,y → x + y y u,v → u + v expresan la misma función: la función suma de dos números.

Una tercera observación es que toda función que requiere dosargumentos, como por ejemplo la función suma, puede ser reescrita como una función que acepta un único argumento, pero que devuelve otra función, la cual a su vez acepta un único argumento. Por ejemplo, x,y → x + y puede ser reescrita como x → (y → x + y). Esta transformación se conoce como currificación, y puede generalizarse para funciones que aceptan cualquier número de argumentos. Esta puedeparecer oscuro, pero se entiende mejor mediante un ejemplo. Considérese la función suma no currificada: x,y → x + y Al tomar a los números 4 y 5 como argumentos, se obtiene: 4 + 5 Lo cual es igual a 9. Considérese ahora la versión currificada de la función: x → (y → x + y) Si se toma al número 4 como argumento x, se obtiene la función: y → 4 + y Y tomando luego al número 5 como argumento y, se obtiene:4 + 5 Lo cual es igual a 9. De modo que la versión currificada devuelve el mismo resultado que la versión no currificada. En el cálculo lambda, todas las expresiones representan funciones anónimas de un sólo argumento.

En el cálculo lambda, las funciones están definidas por expresiones lambda, que dicen qué se hace con su argumento. Por ejemplo, la función "sumar 2": f(x) = x + 2 se expresa encálculo lambda así: λ x. x + 2. El valor de f(3) sería escrito como (λ x. x + 2) 3

Esto ha sido llevado a la programación .NET y a partir de Visual Studio 2008, tanto C#, como VB, admiten funciones anónimas utilizando expresiones lambda.

Claro que la sintáxis de C# se acerca mas a la original matemática ya que en C# podemos definir el siguiente código antiguo:
function int Suma(int x, inty)
{
return x + y;
}
de la siguiente manera:

(x, y) => x + y;
Mientras que la función equivalente en Visual Basic:

Function Suma (x As Integer, y As Integer) As Integer
return x + y;
End Function
debe ser escrita usando expresiones lambda de la siguiente manera (note que Visual Basic, necesita más código):

Function(x, y) x + y

Vemos que la expresión lambda en C# se...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Mi tarea Tu tarea
  • tarea tarea
  • Tarea Tarea
  • Tarea
  • Tarea
  • Tarea
  • Tarea
  • Tarea

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS