paradigma funcional
Post on 01-Jan-2016
68 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
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
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
top related