SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
Un programa consiste en la definición de una o más funciones.
Programación Funcional:
 El computador actúa como un evaluador; su tarea es evaluar
 expresiones y mostrar el resultado (emparejamiento + reescr.)
 Las funciones devuelven valores, no computan respuestas.
 Se puede trabajar con igualdad semántica:
      Ejemplo: f :: Integer   Integer
                f0=0
                f 1 = f0
                > f1
                0.


 La unificación semántica consistiría en:
    Unificación sintáctica + Reescritura




                                                                 2
Curry
 Características de la programación funcional:
      Expresiones anidadas.
      Tipos polimórficos.
      Evaluación perezosa.
      Funciones de primer orden.
      Selección del modo de evaluación.
      Búsqueda encapsulada.
      …




                                                 3
Curry:
  Ejemplos:
      append [] ys = ys
      append (x:xs) ys = x : append xs ys
         append [0,1] [2,3]
          Haskell [0,1,2,3]
          Curry {} [0,1,2,3]
        append L M =:= [0,1]
          Haskell no puede evaluarlo.
          Curry {L= [ ], M=[0,1]} | {L= [0], M=[0]} | {L= [0,1], M=[
          ]}




                                                                   4
Ejemplos:
      fac n | n ==0              =1
            | otherwise = fac (n-1)*n

donde la igualdad ‘==’ se evalúa a True si ambas expresiones son
iguales y constructoras y la constante predefinida otherwise tiene el
valor True. En este caso, se puede usar también la instrucción
condicional if-then-else:
      fac n = if n==0 then 1 else fac (n-1)*n




                                                                        5
Ejemplo:
       let a=3*b
           b=6            Se reduce al valor 72.
       in 4*a
   exp b n = if n == 0     then 1
                 else if even n then square (exp b (n ‘div’ 2))
                     else b * (exp b (n-1))
                where even n = n ‘mod’ 2 == 0
                      square n = n*n
Ejemplo:
        expr1 = getLine >>= putStrLn ; toma una línea de la
                entrada estándar y la escribe en la salida estándar.
    try :: (a -> Success) -> [a -> Success]




                                                                       6
Una lista que contiene más de un elemento.
        Ejemplo: f eval flex
                   fa=c
                   fb=d
                   try (x -> f x = : = d) se reduce a la lista:

        [x → x =:= a & f a =:= c, x → x =:= b & f b =:= d]
    OTROS OPERADORES QUE PODEMOS INDENTIFICAR EN EL EJEMPLO
      best :: (a -> Constraint) -> (a -> a -> Bool) -> [a -> Constraint]

        one :: (a -> Constraint) -> [a -> Constraint]

Más contenido relacionado

La actualidad más candente (17)

5.metodo del punto fijo
5.metodo del punto fijo5.metodo del punto fijo
5.metodo del punto fijo
 
Punto fijo
Punto fijoPunto fijo
Punto fijo
 
Exponentes clase 1 septimo grado
Exponentes clase 1 septimo gradoExponentes clase 1 septimo grado
Exponentes clase 1 septimo grado
 
Integral indefinida
Integral indefinidaIntegral indefinida
Integral indefinida
 
Unidad3
Unidad3Unidad3
Unidad3
 
Actividad 5.presentacion
Actividad 5.presentacionActividad 5.presentacion
Actividad 5.presentacion
 
Actividad 5.presentacion
Actividad 5.presentacionActividad 5.presentacion
Actividad 5.presentacion
 
Ejercicion se puto fijo
Ejercicion se puto fijoEjercicion se puto fijo
Ejercicion se puto fijo
 
7 Operaciones Con Funciones
7  Operaciones Con Funciones7  Operaciones Con Funciones
7 Operaciones Con Funciones
 
Operaciones con funciones
Operaciones con funcionesOperaciones con funciones
Operaciones con funciones
 
NÚMEROS REALES I
NÚMEROS REALES INÚMEROS REALES I
NÚMEROS REALES I
 
Integral definida
Integral definidaIntegral definida
Integral definida
 
Integral definida(andrea)
Integral definida(andrea)Integral definida(andrea)
Integral definida(andrea)
 
Función inversa
Función inversaFunción inversa
Función inversa
 
Presentación1
Presentación1Presentación1
Presentación1
 
Funcion lineal clase
Funcion  lineal  claseFuncion  lineal  clase
Funcion lineal clase
 
Lección 1.7 Operaciones Con Funciones Ce L
Lección 1.7 Operaciones Con Funciones Ce LLección 1.7 Operaciones Con Funciones Ce L
Lección 1.7 Operaciones Con Funciones Ce L
 

Destacado

Antes que caiga la próxima lágrima
Antes que caiga la próxima lágrimaAntes que caiga la próxima lágrima
Antes que caiga la próxima lágrima
ERAplace
 

Destacado (20)

Constitución 2013
Constitución 2013Constitución 2013
Constitución 2013
 
De Douce a Berta: 10 años de Naufragio
De Douce a Berta: 10 años de NaufragioDe Douce a Berta: 10 años de Naufragio
De Douce a Berta: 10 años de Naufragio
 
Antes que caiga la próxima lágrima
Antes que caiga la próxima lágrimaAntes que caiga la próxima lágrima
Antes que caiga la próxima lágrima
 
Sur realismo
Sur realismoSur realismo
Sur realismo
 
Mil y una Noche libro
Mil y una Noche libroMil y una Noche libro
Mil y una Noche libro
 
Scala coeli
Scala coeliScala coeli
Scala coeli
 
Buenos y malos
Buenos y malosBuenos y malos
Buenos y malos
 
Callejuelas con encanto
Callejuelas con encantoCallejuelas con encanto
Callejuelas con encanto
 
I nvestigación de la aplicación de constelaciones familiares en la clínica
I nvestigación de la aplicación de constelaciones familiares en la clínicaI nvestigación de la aplicación de constelaciones familiares en la clínica
I nvestigación de la aplicación de constelaciones familiares en la clínica
 
No dejes que termine el dia...
No dejes que termine el dia...No dejes que termine el dia...
No dejes que termine el dia...
 
Diccionario Ilustrado de la Democracia Española
Diccionario  Ilustrado de la Democracia EspañolaDiccionario  Ilustrado de la Democracia Española
Diccionario Ilustrado de la Democracia Española
 
Ojo mágico
Ojo mágicoOjo mágico
Ojo mágico
 
Bésame rápido
Bésame rápidoBésame rápido
Bésame rápido
 
Los miserables
Los miserablesLos miserables
Los miserables
 
Diez buenos antídotos
Diez buenos antídotosDiez buenos antídotos
Diez buenos antídotos
 
Las palabras del olvido
Las palabras del olvidoLas palabras del olvido
Las palabras del olvido
 
Hablemos del amor
Hablemos del amorHablemos del amor
Hablemos del amor
 
Al umbral de....
Al umbral de....Al umbral de....
Al umbral de....
 
El Camello
El CamelloEl Camello
El Camello
 
La prensa y los acontecimientos
La prensa y los acontecimientos La prensa y los acontecimientos
La prensa y los acontecimientos
 

Similar a Subporgramacion

Tippens fisica 7e_diapositivas_02
Tippens fisica 7e_diapositivas_02Tippens fisica 7e_diapositivas_02
Tippens fisica 7e_diapositivas_02
Robert
 
Tippens fisica 7e_diapositivas_02
Tippens fisica 7e_diapositivas_02Tippens fisica 7e_diapositivas_02
Tippens fisica 7e_diapositivas_02
Robert
 
Integral indefinida. Aplicaciones de la integral
Integral indefinida. Aplicaciones de la integralIntegral indefinida. Aplicaciones de la integral
Integral indefinida. Aplicaciones de la integral
jcremiro
 
Tippens fisica 7e_diapositivas_02
Tippens fisica 7e_diapositivas_02Tippens fisica 7e_diapositivas_02
Tippens fisica 7e_diapositivas_02
Robert
 
Tippens fisica 7e_diapositivas_02
Tippens fisica 7e_diapositivas_02Tippens fisica 7e_diapositivas_02
Tippens fisica 7e_diapositivas_02
Robert
 

Similar a Subporgramacion (20)

Modulo4
Modulo4Modulo4
Modulo4
 
Tippens fisica 7e_diapositivas_02
Tippens fisica 7e_diapositivas_02Tippens fisica 7e_diapositivas_02
Tippens fisica 7e_diapositivas_02
 
Tippens fisica 7e_diapositivas_02
Tippens fisica 7e_diapositivas_02Tippens fisica 7e_diapositivas_02
Tippens fisica 7e_diapositivas_02
 
Expresiones Algebraicas-1.pdf
Expresiones Algebraicas-1.pdfExpresiones Algebraicas-1.pdf
Expresiones Algebraicas-1.pdf
 
Funcion
FuncionFuncion
Funcion
 
Tema_1.3_REALES.pdf
Tema_1.3_REALES.pdfTema_1.3_REALES.pdf
Tema_1.3_REALES.pdf
 
Integral indefinida. Aplicaciones de la integral
Integral indefinida. Aplicaciones de la integralIntegral indefinida. Aplicaciones de la integral
Integral indefinida. Aplicaciones de la integral
 
Matemtica CIU 2017
Matemtica CIU 2017Matemtica CIU 2017
Matemtica CIU 2017
 
Factorización de polinomios
Factorización de polinomiosFactorización de polinomios
Factorización de polinomios
 
MATEMATICA 1- SEMANA 1. Función de variable real.pdf
MATEMATICA 1- SEMANA 1. Función de variable real.pdfMATEMATICA 1- SEMANA 1. Función de variable real.pdf
MATEMATICA 1- SEMANA 1. Función de variable real.pdf
 
algebra de funciones
algebra de funcionesalgebra de funciones
algebra de funciones
 
Herediadaryerlis (1)
Herediadaryerlis (1)Herediadaryerlis (1)
Herediadaryerlis (1)
 
Funciones
FuncionesFunciones
Funciones
 
Tippens fisica 7e_diapositivas_02
Tippens fisica 7e_diapositivas_02Tippens fisica 7e_diapositivas_02
Tippens fisica 7e_diapositivas_02
 
Tippens fisica 7e_diapositivas_02
Tippens fisica 7e_diapositivas_02Tippens fisica 7e_diapositivas_02
Tippens fisica 7e_diapositivas_02
 
Stefany matematicas
Stefany matematicasStefany matematicas
Stefany matematicas
 
presentación 29.851.439pptx
presentación 29.851.439pptxpresentación 29.851.439pptx
presentación 29.851.439pptx
 
Escobar elias
Escobar eliasEscobar elias
Escobar elias
 
Clau matematica
Clau matematicaClau matematica
Clau matematica
 
presentacion 31.028.256.pptx
presentacion 31.028.256.pptxpresentacion 31.028.256.pptx
presentacion 31.028.256.pptx
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 

Subporgramacion

  • 1.
  • 2. Un programa consiste en la definición de una o más funciones. Programación Funcional: El computador actúa como un evaluador; su tarea es evaluar expresiones y mostrar el resultado (emparejamiento + reescr.) Las funciones devuelven valores, no computan respuestas. Se puede trabajar con igualdad semántica: Ejemplo: f :: Integer Integer f0=0 f 1 = f0 > f1 0. La unificación semántica consistiría en: Unificación sintáctica + Reescritura 2
  • 3. Curry Características de la programación funcional: Expresiones anidadas. Tipos polimórficos. Evaluación perezosa. Funciones de primer orden. Selección del modo de evaluación. Búsqueda encapsulada. … 3
  • 4. Curry: Ejemplos: append [] ys = ys append (x:xs) ys = x : append xs ys append [0,1] [2,3] Haskell [0,1,2,3] Curry {} [0,1,2,3] append L M =:= [0,1] Haskell no puede evaluarlo. Curry {L= [ ], M=[0,1]} | {L= [0], M=[0]} | {L= [0,1], M=[ ]} 4
  • 5. Ejemplos: fac n | n ==0 =1 | otherwise = fac (n-1)*n donde la igualdad ‘==’ se evalúa a True si ambas expresiones son iguales y constructoras y la constante predefinida otherwise tiene el valor True. En este caso, se puede usar también la instrucción condicional if-then-else: fac n = if n==0 then 1 else fac (n-1)*n 5
  • 6. Ejemplo: let a=3*b b=6 Se reduce al valor 72. in 4*a exp b n = if n == 0 then 1 else if even n then square (exp b (n ‘div’ 2)) else b * (exp b (n-1)) where even n = n ‘mod’ 2 == 0 square n = n*n Ejemplo: expr1 = getLine >>= putStrLn ; toma una línea de la entrada estándar y la escribe en la salida estándar. try :: (a -> Success) -> [a -> Success] 6
  • 7. Una lista que contiene más de un elemento. Ejemplo: f eval flex fa=c fb=d try (x -> f x = : = d) se reduce a la lista: [x → x =:= a & f a =:= c, x → x =:= b & f b =:= d] OTROS OPERADORES QUE PODEMOS INDENTIFICAR EN EL EJEMPLO best :: (a -> Constraint) -> (a -> a -> Bool) -> [a -> Constraint] one :: (a -> Constraint) -> [a -> Constraint]