Hoy vamos a resolver un ejercicio de JavaScript. Se trata de un programa para convertir un número en monedas y billetes de distinta denominación. El mismo dice así:
Escribe una función de JavaScript para convertir una cantidad X de dinero en monedas o billetes. A la función se le deben pasar los valores de las monedas y billetes en las que queremos cambiar mediante un array
Veamos un ejemplo…
Entrada:
Salida: 25, 10, 10, 1
Básicamente sirve para saber cuántas monedas y billetes vas a usar si vas a dar una determinada cantidad de dinero.
Por ejemplo, supongamos que solo existen billetes de 20, 50 y 100 pesos. Si tuviera que dar 290 pesos daría 2 billetes de 100, 1 de 50 y 2 de 20.
Nota: aquí se prefiere dar primero los billetes o monedas más grandes.
Al ejecutar esto en el programa de JavaScript, la salida es: 100, 100, 50, 20, 20
Lo cual es correcto.
Primero ordenamos el arreglo de las denominaciones disponibles para que quede ordenado de mayor a menor. Ahora nos enfocamos en la cantidad de dinero.
Recorremos las denominaciones disponibles y mientras la cantidad de dinero sea mayor o igual a la denominación actual, vamos a colocar esa denominación en una lista e ir restándola de la cantidad de dinero.
Al final vamos a terminar de recorrer todas las monedas y por lo tanto la cantidad de dinero llegará a 0. Finalmente regresamos las denominaciones usadas, mismas que tendrán los billetes y monedas que vamos a usar.
Nota: debemos garantizar que las denominaciones sean las suficientes para dar cualquier cantidad de dinero, pues si no, podríamos caer en un ciclo infinito.
Entonces el código queda como se ve a continuación. He encerrado todo el comportamiento en una función:
Primero ordenamos las denominaciones (billetes y monedas) en la línea 7. Luego declaramos la lista de las monedas y billetes que vamos a usar en la línea 8.
Recorremos las denominaciones en la línea 9, y mientras la cantidad sea mayor o igual que la denominación actual, la agregamos a las monedas usadas con push (línea 11) además de restar esa denominación de la cantidad.
Finalmente regresamos las monedas y billetes usados en la línea 15. Todo esto programando con JavaScript.
Finalmente veamos el modo de uso para ver el código completo. Queda como se ve a continuación:
Al momento de ejecutarlo la salida es correcta, es el ejemplo que usé al inicio:
Recuerda que como estamos programando en JavaScript esto puede correr en el servidor o en el cliente.
Para terminar te dejo con más tutoriales de JavaScript en mi blog.
La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…
El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…
En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…
Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…
Esta web usa cookies.