- Barajar
ActivarDesactivar
- Alphabetizar
ActivarDesactivar
- Frente Primero
ActivarDesactivar
- Ambos lados
ActivarDesactivar
- Leer
ActivarDesactivar
Leyendo...
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
Boton play
Boton play
15 Cartas en este set
- Frente
- Atrás
¿Qué 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?
|
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? |
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. |
Funciones de primera clase y
de orden superior: |
Tomar otras funciones como argumentos
o devolverlos como resultados. Recibir como argumentos y resultados otras funciones. |
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. |
Recursividad:
|
Se invocan a sí mismas,
permitiendo que una operación se realice una y otra vez hasta alcanzar el caso base. |
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 |
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? |
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)])) |