Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] Desafio: hora da prática 3

minha solução: // desafio 01

function calculoIMC(altura, peso){
    let imc = peso/(altura * altura);
    if(imc <= 18.5){
        categoria = 'abaixo do peso';
    }else if(imc > 18.5 && imc <= 24.9){
        categoria = 'intervalo normal';
    }else if(imc > 24.9 && imc <= 29.9){
        categoria = 'sobrepeso';
    }else if(imc > 29.9 && imc <= 34.9){
        categoria ='Obesidade grau 1';
    }else if(imc > 34.9 && imc <=39.9){
        categoria = 'Obesidade grau 2';
    }else{
        categoria ='Obesidade grau 3';
    }
    console.log(`Seu imc é ${imc}, ${categoria}`);
}

calculoIMC(1.79, 168);

// desafio 02

function fatorial(numero) {
    if (numero > 1) {
        return numero * fatorial(numero - 1);
    } else {
        return 1;
    }
}

function calculaFatorial(numero){
    let valor = fatorial(numero);
    console.log(`${numero}! = ${valor}`);
}

calculaFatorial(3);

// desafio 03

function conversaoDolar(valorDolar){
    let cotacao = 4.80
    return valorDolar * cotacao;
}

let real = conversaoDolar(10);
console.log(real);

// desafio 04

function calculoPerimetro(altura, largura){
    let perimetro = (altura * 2) + (largura * 2); // (altura + largura) * 2
    console.log(`perímetro retângulo: ${perimetro}`);
}

function calculoArea(altura, largura){
    let area = altura * largura;
    console.log(`área retângulo: ${area}`);
}

function calculaRetangulo(altura, largura){
    calculoPerimetro(altura, largura);
    calculoArea(altura, largura);
}

calculaRetangulo(4, 6);

// desafio 05

function calculaCircuferencia(raio){
    let area = 3.14 * (raio * raio);
    let perimetro = 2 * 3.14 * raio;
    console.log(`perímetro circuferência: ${perimetro} \nárea circuferência: ${area}`);
}

calculaCircuferencia(1);

// desafio 06

function tabuada(numero){
    let aux = 0
    //uso do for??
    while(aux <= 10){
        console.log(`${numero} x ${aux} = ${numero * aux}`);
        aux ++
    }
}

tabuada(7);
2 respostas
solução!

Oi, Victor! Tudo bem?

Você está no caminho certo com as soluções! A função de cálculo do IMC está correta, apenas atente para declarar a variável categoria antes de usá-la. O fatorial foi bem implementado usando recursão, e a conversão de dólar para real usa a cotação fixa de forma adequada. As funções de área e perímetro para o retângulo e a circunferência estão funcionando. A tabuada está ótima com while, mas vale a pena testar também com for, como exemplo para variar.

Parabéns pelo trabalho!

Siga firme nos seus estudos e conte com o fórum sempre que precisar!

Abraços :)

Gostei muito de como vc usou recursão pra calcular fatorial. Valeu pela dica. Queria compartilhar a minha solução para tabuada. Eu tentei mostrar na tela mesmo, usando quebra de linha e tal. Ficou assim:

function tabuada(num) {
    let texto = document.querySelector('h2');

    let txt;
    txt = `A tabuada de ${num} é:<br>`; //inicializa com o "título"

    let i = 1;
    while (i<10) {
        txt += `<br>${num} x ${i} = ${i * num}`; 
        i++;
    }

    texto.innerHTML = txt;
}

let n = prompt("Digite um número para calcular tabuada.");
tabuada(n);