Subido por ALCANTARA ARENAS MIGUEL EDUARDO

Programacion funcional en JavaScript

Anuncio
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.
Descargar