Funciones
Programación funcional y reactiva - Computación
Contenidos
Func. matemáticas hacia la programación funcional
Funciones matemáticas
Algo para recordar
Funciones matemáticas
Algo para recordar
Funciones matemáticas a código. Expresiones
Funciones matemáticas a código.
Funciones matemáticas a código.
Definir función que tome un entero n y calcule el factorial de n
Funciones matemáticas a código.
Definir función que tome un entero n y calcule el factorial de n
Funciones puras
Funciones puras
Antitesis
public class Counter { private int counter = 0; public int incrementCounter() { return ++counter; } public int multiplyCounter(int num) { counter *= num; return counter; } public int getCounter() { return counter; } }
Funciones puras
Antitesis
Funciones puras
Principales características
Funciones puras
Implementación en Scala
object Counter { // Función pura que incrementa un contador def incrementCounter(counter: Int): Int = { counter + 1 } // Función pura que multiplica el contador def multiplyCounter(counter: Int, num: Int): Int = { counter * num } // Función pura que devuelve el valor del contador (en este caso innecesario porque el valor del contador // no necesita una función, simplemente se usa directamente) def getCounter(counter: Int): Int = { counter } } // Uso de las funciones val currentCounter = 5 val incremented = Counter.incrementCounter(currentCounter) val multiplied = Counter.multiplyCounter(currentCounter, 2) println(s"Incremented: $incremented") // Imprimirá 6 println(s"Multiplied: $multiplied") // Imprimirá 10
Funciones vs Métodos
Trabajo en grupo
Funciones matemáticas vs Métodos (Leng. Prog.)
Diferencias conceptuales
- En matemáticas, una función no tiene "estado". Su única misión es transformar los valores de entrada en una salida. No existen efectos secundarios.
- En los lenguajes de programación, un método podría modificar el estado interno de un objeto o tener efectos como imprimir en la consola o alterar el contenido de una variable externa.
Trabajo de consulta
Trabajo de consulta
¿Qué son las funciones anónimas?
B1S2 Funciones
By lsantiago
B1S2 Funciones
Programación funcional - funciones
- 37