PARADIGMA FUNCIONAL

23
PARADIGMA FUNCIONAL

description

PARADIGMA FUNCIONAL. Funciones, Problemas y Diseño Modular. Función entre conjuntos a ser definida. Funciones, Problemas y Diseño Modular. Estructura de definiciones en forma jerárquica - PowerPoint PPT Presentation

Transcript of PARADIGMA FUNCIONAL

PARADIGMA FUNCIONAL

Funciones, Problemas y Diseño Modular

Función entre conjuntos a ser definida

(𝑥 )=argumento  nominal   de   f  − variable  que  denota   valor   gené rico  del  dominio  de   la   funci ó n .Imagen  del   valor   del   argumento  nominal

Funciones, Problemas y Diseño Modular

Estructura de definiciones en forma jerárquica En cada definición las funciones utilizadas a la

derecho se referencia por un nombre (con el cuál fue definida).

Problema complejo = combinación de problemas simples.

Los módulos se referencia n con el nombre y no se conoce su estructura interna.

Nombres que no necesitan definición = "módulos primitivos".

Los no primitivos se denominan "abstractos".

Caso de Estudio Análisis dimensional de fórmulas:

Fórmulas = operadores aplicadas a variables o constantes que tienen asociadas dimensiones y estas son expresiones formadas a partir de ciertas magnitudes. Ej. : masa (M), tiempo (T), longitud (L). ○ Velocidad tiene dimensión LT (cociente de longitud

por cantidad de tiempo ○ Área tiene dimensión L (producto de dos longitudes) ○ Fuerza tiene dimensión MLT-2 (producto de masa

por aceleración que es cociente entre velocidad y tiempo)

Caso de Estudio

Es necesario establecer: Operadores que pueden ser empleados en

construcciones de fórmulas (se consideraran los aritméticos: +, -, *, / ).

Para cada operador cual es la dimensión del resultado, en función de las dimensiones de los operandos (adoptamos unos supuestos).

Existen magnitudes fundamentales y que las dimensiones de las constantes y variables, tienen forma de un producto de esas magnitudes, c/u afectada por un exponente entero. (En el ejemplo anterior masa, longitud y tiempo).

Desarrollo del Diseño

Enfoque funcional

Función a ser definida

Para programación interesa: definiciones de funciones dadas en forma de reglas que definen la construcción de cada objeto de dominio.

Desarrollo del Diseño

Desarrollo del Diseño

Desarrollo del Diseño

El argumento define su función asociada y su codominio es la dimensión posible.

Si la fórmula no es atómica, entonces es el resultado de aplicar un constructor a dos operando que son fórmulas a partir de los cuales aquella fue construida.

Función atómica

Variable o Constante

Desarrollo del Diseño

Introducción de

Dimensiones

Primer Operador

Segundo Operador

Desarrollo del Diseño

En el ejemplo del caso de estudio se caracterizó las dimensiones por el producto de tres magnitudes afectadas por exponentes enteros, así construir una dimensión requiere proveer valores a los exponentes. Así se puede detectar por una función si dos dimensiones son idénticas.

Desarrollo del Diseño

La adición de dos dimensiones esta definidas solo para el caso de que sean idénticas.

Ej.:

Desarrollo del Diseño

El producto de dos dimensiones es otra dimensione cuyo exponentes son la suma de los respectivos exponentes de los operandos.

Ej.:

Desarrollo del Diseño

El cociente de dos dimensiones es otra dimensión cuyo exponentes son la diferencia de los respectivos exponentes de los operandos.

Ej.:

Estructura Lenguajes Funcionales

Variable = Argumento Nominal Expresión = construcción de la imagen

de éstas en la función. Nombre: Es el mecanismo a través del

cual una expresión arbitraria completa puede ser referenciada sin mostrar su estructura interna (Es una abstracción).

Estructura Lenguajes Funcionales

Se lee una «expresión» es una «variable» o bien un «Nombre» Se define Expresiones Atómicas («Variables» y

«Nombre») y otras compuestas «Abstracciones Funcionales» y «Aplicaciones»

Estructura Lenguajes Funcionales

Abstracción Funcional con un único Argumento• Si a expresión lo reemplazamos por

sus formas validas• El resultado de una función puede ser

otra función.

(g)<Expresión>

• Si esta función debería ser atómica. Entonces(g)(x)<Expresión>

• Aplica g a esta dos veces (Twice).(g)(x)g(g(x))

Estructura Lenguajes Funcionales

Si aplicamos a una función conocida raíz cuadrada (sqrt).

Esto permite simplificar estructura

Importancia de los lenguajes funcionales

Problema= suma elementos de una listaLista Primitiva = Vacía (Sin elementos).Constructor Lista = Cons (Un elemento y una lista =

a otra lista).

Si A es la lista <b, c, d,… z>

Entonces cons (a, A) es la lista <a, b, c, d,… z>

Importancia de los lenguajes funcionales

Lista puede pensaste como. Un elemento (cabeza) y otro lista (cola).

Funciones Vacía?

Verdadero sobre lista Primitiva.

Falso caso contrario.

SelectoresCabeza

Resto

Importancia de los lenguajes funcionales

Definir función e un esquema sucesivo.

Y así puede definir producto y etc. «Orden Superior»= Concepto que autoriza a realizar

Abstracciones sobre funciones, es decir que estas sean representativas por variables que son argumentos de otras funciones.

Ejemplos Pertenencia a un conjunto

Unión

)

C= conjunto

X= Elemento a verificar sin pertenencia

or = Disyunción Lógica

Ejemplos Intersección

and = Conjunción Lógica