• 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
¿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.
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)]))