FUNCIONES LAMBDA Desarrollo Título: Funciones Lambda en JavaScript Realiza un programa en Python que use funciones anónimas Lambda del problema planteado en la Práctica 1. Recuerda que debe incluir la validación de la división entre 0. PROGRAMA QUE REALIZA OPERACIONES CON 2 NÚMEROS Entrada: Ingresa el primer número: 5 Ingresa el segundo número: 2 Salida: La suma es: 7 La resta es: 3 La multiplicación es: 10 La división es: 2.5 Procedimiento Primero inicializamos las variables que recibirán la información del usuario. Generamos el módulo de readline de node.js para poder introducir datos por teclado dentro de la consola. Hacemos las funciones solicitadas, la división utilizara un operador condicional ternario para poder retornar un valor en una sola línea. Se realizarán las preguntas al usuario para después asignarlas a X y a Y. Dentro del evento de close() se realizará el llamado a las funciones lambda, tal y como lo menciona la documentación del módulo de readline. Resultados Se obtuvo el resultado requerido en el planteamiento de la práctica. Conclusión personal Fue complicado encontrar una forma de, primero, conseguir introducir los datos por consola, segundo, como lograr una validación en la función lambda que abarcara una sola línea. Al final logre resolver esos problemas y completar satisfactoriamente la práctica usando el módulo incluido en node.js de readline y un operador que no conocía llamado ternario. FUNCIONES MAP Desarrollo Título: Función Map en JavaScript Escribir una función map que reciba una lista del 1 al 15 y de cada uno calcule su factorial. Nota: El factorial de un entero natural n es el producto de enteros estrictamente positivos menores o iguales a n. Por ejemplo, el factorial de 4 se calcula con el siguiente producto 4*3*2*1 = 25 Procedimiento Creamos una función recursiva que calcule el factorial de cualquier número. Creamos un arreglo con los números solicitados. Asignamos a una variable el resultado de aplicar las funciones map(), list() y fact() para que nos devuelva un arreglo del mismo tamaño que introducimos y los factoriales de cada número. Imprimiremos en pantalla el resultado Resultados Se obtuvieron los factoriales de los números solicitados y se corroboraron en una pagina con los factoriales del 1 al 50 Conclusión personal Considero que fue un programa sencillo ya que reutilicé la lógica de otro programa que realicé en el pasado y lo adapté con lo que había comprendido de la función map() y además me basé en el documento que nos compartió la profesora. FUNCIONES FILTER Desarrollo Título: La función Filter en JavaScript En base a la Práctica 3, realiza el cálculo del factorial de una lista del 1-20, solo mostrando o filtrando los números que sean impares por medio de Filter. Es decir, de la lista: lista1 = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] mapea el factorial pero filtra para que solo aparezca el factorial de 1, 3, 5, 7, 9,11,13,15,17 y 19. Nota: Recuerda que la lista1 no la debes recortar, la elección de los números a los cuales vas a aplicar el factorial lo harás con la función Filter. ADEMÁS, EL USO DE LA FUNCIÓN FILTER Y LA FUNCIÓN MAP DEBERÁN QUEDAR EN UNA SOLA LÍNEA, ACLARANDO QUE PARA LA ELECCIÓN DE LOS NÚMEROS IMPARES USARÁS LA FUNCIÓN LAMBDA... TODO EN UNA SOLA LÍNEA. Procedimiento Creamos una función recursiva que calcule el factorial de cualquier número. Creamos un arreglo con los números solicitados. Hacemos la operación que se plantea que, primero se realizará un filtrado de los números impares, y después se le aplicará la función map para obtener los resultados; después se imprimirán los resultados. Resultados Se imprimieron los resultados de forma correcta y se corroboraron con una página de internet. Conclusión personal Cada vez creo que voy entendiendo la programación funcional, y realmente me parece muchísimo más comprensible y natural la lectura de las funciones. Considero que, con la programación estructurada hubiera tardado mucho más tiempo en realizar el mismo programa. FUNCIONES REDUCE Desarrollo Título: La función Reduce en JavaScript Realiza un programa que sume los números primos que se encuentran en una colección de números del 1-100 utilizando la función Reduce. La colección del 1100 debe ser una lista creada a partir de un iterable o un ciclo for, no manualmente. Nota: Debes crear la lista completa de1 1 al 100 y después filtrarla con Filter para obtener los números primos. Toda esa maniobra en una sola línea. Procedimiento Creamos una función para obtener el factorial Creamos una función que cree un array de n números. Creamos una constante que verifique si un numero dado es primo o no. Creamos nuestra lista con la función range, la cual va desde el 2 al 100, luego en una variable hacemos todo el procedimiento, primero filtramos todos los elementos que sean primos, después aplicamos la función de reduce y finalmente imprimimos en pantalla. Resultados Se imprimieron los resultados de forma correcta y se corroboraron con una página de internet. Conclusión personal Simplificar algo tan complejo como encontrar los números primos en una sola línea me resulto muy difícil y tuve que guiarme de muchos ejemplos de internet y tratar de unificarlos y hacer algo que funcionara. Al final lo conseguí y obtuve el resultado deseado, además de comprender el uso de la función reduce.