Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Sugerencia] 09 Desafío: hora de practicar

function calcularIMC(altura, peso){
    let imc = peso / (altura * altura);
    return parseFloat(imc.toFixed(2)); // Redondear a 2 decimales
}

function obtenerCategoriaIMC(imc){
    if(imc < 18.5){
        return "Bajo peso";
    } else if(imc < 24.9){
        return "Peso normal";
    } else if(imc < 29.9){
        return "Sobrepeso";
    } else {
        return "Obesidad";
    }
}

let resultadoIMC = calcularIMC(1.45, 45);
let resultadoCategoriaIMC = obtenerCategoriaIMC(resultadoIMC);

console.log("El IMC es: " + resultadoIMC);
console.log("La categoría es: " + resultadoCategoriaIMC);

function calcularFactorial(numero){
    if(numero === 0){
        return 1;
    } else {
        return numero * calcularFactorial(numero - 1);
    }
}

let resultadoFactorial = calcularFactorial(5);
console.log("El factorial de 5 es: " + resultadoFactorial);

function convertirADolares(soles) {
    let tipoDeCambio = 4.8;
    return soles / tipoDeCambio;
}

let resultadoDolares = convertirADolares(100);
console.log("100 soles son: " + resultadoDolares + " dólares");

function calcularAreaRectangulo(base, altura) {
    return base * altura;
}

function calcularPerimetroRectangulo(base, altura) {
    return 2 * (base + altura);
}

let resultadoArea = calcularAreaRectangulo(5, 10);
let resultadoPerimetro = calcularPerimetroRectangulo(5, 10);
console.log("El área del rectángulo es: " + resultadoArea);
console.log("El perímetro del rectángulo es: " + resultadoPerimetro);

function calcularAreaCirculo(radio) {
    return Math.PI * radio * radio;
}

function calcularPerimetroCirculo(radio) {
    return 2 * Math.PI * radio;
}

let resultadoAreaCirculo = calcularAreaCirculo(3);
let resultadoPerimetroCirculo = calcularPerimetroCirculo(3);
console.log("El área del círculo es: " + resultadoAreaCirculo);
console.log("El perímetro del círculo es: " + resultadoPerimetroCirculo);

function mostrarTablaMultiplicar(numero) {
    for (let i = 1; i <= 10; i++) {
        console.log(`${numero} x ${i} = ${numero * i}`);
    }
}

let resultadoTabla = mostrarTablaMultiplicar(5);
console.log(resultadoTabla);
1 respuesta

Hola Jenifer,

¡Tu código se ve muy bien! Parece que has implementado todas las funciones requeridas en el desafío. Aquí tienes algunos comentarios y sugerencias para mejorar o ajustar tu solución:

  1. Cálculo del IMC: Tu función calcularIMC está bien hecha y redondea el resultado a dos decimales, lo cual es excelente para la precisión.

  2. Factorial: La función calcularFactorial utiliza recursividad correctamente para calcular el factorial de un número.

  3. Conversión a dólares: La función convertirADolares está bien, pero recuerda que en el desafío se menciona convertir a reales, no a dólares. Si quieres convertir a reales, podrías ajustar el tipo de cambio para reflejar la conversión de dólares a reales.

  4. Área y perímetro del rectángulo: Las funciones calcularAreaRectangulo y calcularPerimetroRectangulo funcionan correctamente para calcular el área y el perímetro de un rectángulo.

  5. Área y perímetro del círculo: Las funciones calcularAreaCirculo y calcularPerimetroCirculo calculan correctamente el área y el perímetro de un círculo. Sin embargo, en el contexto del desafío, se sugiere usar Pi = 3.14 en lugar de Math.PI.

  6. Tabla de multiplicar: La función mostrarTablaMultiplicar imprime correctamente la tabla de multiplicar para el número dado.

En general, tu implementación es sólida. Solo asegúrate de que las conversiones de moneda sean claras y revisa el uso de Pi según las instrucciones del desafío. Espero que estos comentarios te sean útiles.

¡Espero haber ayudado y buenos estudios!