• Barajar
    Activar
    Desactivar
  • Alphabetizar
    Activar
    Desactivar
  • Frente Primero
    Activar
    Desactivar
  • Ambos lados
    Activar
    Desactivar
  • Leer
    Activar
    Desactivar
Leyendo...
Frente

Cómo estudiar sus tarjetas

Teclas de Derecha/Izquierda: Navegar entre tarjetas.tecla derechatecla izquierda

Teclas Arriba/Abajo: Colvea la carta entre frente y dorso.tecla abajotecla arriba

Tecla H: Muestra pista (3er lado).tecla h

Tecla N: Lea el texto en voz.tecla n

image

Boton play

image

Boton play

image

Progreso

1/15

Click para voltear

15 Cartas en este set

  • Frente
  • Atrás
¿Que es la programación funcional?
¿Que es la programación funcional?
Paradigma de programación basado en el uso de funciones matemáticas, que describen una relación entre una entrada y una salida, donde el concepto de estado o variable se elimina completamente.
¿Cual es su utilidad?
¿Cual es su utilidad?
Conseguir lenguajes expresivos y matemáticamente elegantes, en los que no sea necesario bajar al nivel de la máquina para describir el proceso llevado a cabo por el programa, y evitar el concepto de estado del cómputo.
¿Cuales son las características principales?
¿Cuales son las características principales?
Funciones puramente matemáticas, donde se verifican ciertas propiedades como el significado de una expresión depende únicamente del significado de sus subexpresiones), careciendo total de efectos colaterales.
No existencia de asignaciones de variables, la falta de construcciones estructuradas.
Funciones de primera clase y de orden superior:
Tomar otras funciones como argumentos o devolverlos como resultados.
Recibir como argumentos y resultados otras funciones. Describe un concepto matemático de funciones que operan sobre otras funciones, describe las entidades del lenguaje de programación que no tienen ninguna restricción de su utilización.
Funciones puras:
Utilizadas para optimizar el código.
Si no se utiliza el resultado de una expresión pura, se puede eliminar sin afectar a otras expresiones.
Si una función pura se llama con parámetros que no causan efectos secundarios, el resultado es constante con respecto a la lista de parámetros.
Recursividad:
Se invocan a sí mismas, permitiendo que una operación se realice una y otra vez hasta alcanzar el caso base.
Algunas requieren el mantenimiento de una pila, mediante una cola.
Evaluación estricta frente a la no estricta:
Referencia a cómo los argumentos de las funciones son procesados cuando una expresión está siendo evaluada. La diferencia técnica está en la notación semántica de las expresiones que contienen cálculos fallidos o divergentes. Bajo la evaluación estricta, de cualquier término que contenga un sub-término fallido hará que este sea de por sí fallido.
Sistemas de tipos:
El uso de tipos de datos algebraicos y la coincidencia de patrones hace que la manipulación de estructuras de datos complejas convenientes y expresivos, la presencia de comprobaciones estrictas de tipos en tiempo de compilación hace que los programas sean más fiables, mientras que la inferencia de tipos libera al programador de la necesidad de declarar manualmente los tipos para el compilador.
La programación funcional en lenguajes no funcionales:
Es posible utilizar un estilo de programación funcional en lenguajes que tradicionalmente no se consideran lenguajes funcionales.
Ventajas de la programación funcional:
Ausencia de efectos colaterales
Proceso de depuración menos problemático
Pruebas de unidades más confiables
Mayor facilidad para la ejecución concurrente
Simulación de estados
Cuestiones de eficiencia
Más fáciles de escribir, depurar y mantener que los
lenguajes imperativos gracias a la ausencia de efectos de
borde.
Desventajas:
Se quedan cortos en potabilidad, riqueza de librerías,
interfaces con otros lenguajes y herramientas de
depuración.
¿Cuales son los lenguajes funcionales?
Entre los lenguajes funcionales puros, cabe destacar a Haskell y Miranda. Los lenguajes funcionales híbridos más conocidos son Scala, Lisp, Clojure, Scheme, Ocaml, SAP y Standard ML, Erlang . Perl.
Uso y Aplicación en la actualidad.
Ambito académico e industriales, sistemas comerciales o industriales. telecomunicaciones. como WhatsApp, Facebook, o T-Mobile, como base en el desarrollo de aplicaciones para los primeros ordenadores de la firma Apple Macintosh, sistemas de simulación y de control de telescopio. dentro de la investigación.
Diagrama
Ejemplo:
def val_rut(rut):
"""
Valida un string con un RUT con el guion incluido, retornando
cero si es valido.

Ejemplo: print(val_rut("22222222-2"))
"""
return cmp(rut[-1],
str((range(10) + ['K'])[
(11 - sum(map(lambda x: (int(x[0]) * x[1]),
zip(reversed(rut[:-2]),
(2 * range(2, 8))))) % 11)]))