Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

[Duda] Crear IMC,Factorial y cambio en dólares

Hola buenas tardes!

Estaba realizando el desafío y se me presentaron varias dudas. Agradecería muchísimo si pudieran ayudarme con ellas:

  1. Para el cálculo de IMC, si creo variables de altura y peso, pidiendo al usuario con un prompt que me indique sus medidas, ¿con qué código le indico que me los valores son con decimales y que los considere?. Traté de dejarlo normal (sin agregar el parseInt), pero al colocar por ejemplo 1.74 de altura, solo agarra el número 1 y no los demás.

  2. Tuve que ver la ayuda del instructor porque no sabía realmente cómo poder hacer de manera correcta el factorial. ¿Alguien tiene una manera más simple por la cual me pude haber ido?

  3. Logré crear la lógica de la función para hacer el cambio de dolares a reales. Sin embargo, tengo una duda al comparar con la función del instructor, no hemos usado el argumento de "var", por lo tanto está correcto que lo haga con let?

por ejemplo: `function conversionDinero(valorDinero) { let cambio = 4.80 let reales = valorDinero * cambio

return reales;

}`

Muchas gracias de antemano por sus respuestas!

2 respuestas
solución!

Buenas noches María, claro, puedo ayudarte con esas dudas. Aquí tienes respuestas a cada una de tus preguntas:

Para el cálculo del IMC, si estás solicitando al usuario que ingrese su altura y peso, y deseas que los valores puedan incluir decimales, debes usar la función parseFloat<category="OTHER">() en lugar de parseInt<category="OTHER">(). Por ejemplo, podrías hacer algo como esto:

let altura = parseFloat(prompt("Ingresa tu altura en metros"));
   let peso = parseFloat(prompt("Ingresa tu peso en kilogramos"));

Con esto, los valores ingresados por el usuario se considerarán como decimales.

El cálculo del factorial puede realizarse de diversas maneras. Una forma simple de hacerlo es utilizando un bucle for para multiplicar los números consecutivos. Aquí tienes un ejemplo de cómo podrías calcular el factorial de un número:

function factorial(numero) {
       let resultado = 1;
       for (let i = 1; i <= numero; i++) {
           resultado *= i;
       }
       return resultado;
   }

Respecto a la función para convertir dólares a reales, es correcto utilizar let en lugar de var en este contexto, ya que con la introducción de ES6, se recomienda el uso de let para declarar variables en lugar de var debido a su mejor manejo de ámbito (scope). Por lo tanto, el código que proporcionaste es correcto:

function conversionDinero(valorDinero) {
       let cambio = 4.80;
       let reales = valorDinero * cambio;
       return reales;
   }

Muchísimas gracias Ricardo por tus comentarios y ayuda! Me sirvieron muchísimo