1
resposta

[Projeto] Desafio 3 - Resolução dos exercícios

  1. Crie uma função que calcule o índice de massa corporal (IMC) de uma pessoa, a partir de sua altura, em metros, e peso, em quilogramas, que serão recebidos como parâmetro.

    function calculoIMC(altura, peso) {
        let imc = parseFloat(peso/(altura*altura));
        let valorDuasCasas = imc.toFixed(2);
        alert(valorDuasCasas)  
        return valorDuasCasas;
    }
    
    calculoIMC(1.78, 56);
    
  2. Crie uma função que calcule o valor do fatorial de um número passado como parâmetro.

    function calculoFatorial(n) {
        if (n === 0 || n === 1) {
            return 1;
        }
        return n * calculoFatorial(n-1);
    }
    
    alert(calculoFatorial(5));
    
  3. Crie uma função que converte um valor em dólar, passado como parâmetro, e retorna o valor equivalente em reais. Para isso, considere a cotação do dólar igual a R$4,80.

    function converterDolar(dolar) {
        let real = dolar * 4.8;
        let mensagem = `O valor em reais: R$${real}.`
        return mensagem;    
    }
    
    alert(converterDolar(7.8));
    
  4. Crie uma função que mostre na tela a área e o perímetro de uma sala retangular, utilizando altura e largura que serão dadas como parâmetro.

    function calculoArea(altura, largura) {
        let area = altura * largura;
        let perimetro = 2 * (altura + largura);
        let mensagem = `A área da sala é de ${area}m², e o perimetro é de ${perimetro}m`;
        return mensagem;
    }
    
    alert(calculoArea(59.5, 8.6));
    
  5. Crie uma função que mostre na tela a área e o perímetro de uma sala circular, utilizando seu raio que será fornecido como parâmetro. Considere Pi = 3,14.

    function calculoAreaCirculo(r) {
        let area = 3.14 * (r*r);
        let perimetro = 2 * 3.14 * r;
        let mensagem = `A área do círculo é de ${area}m², e o perimetro ${perimetro}m`;
        return mensagem;
    }
    
    alert(calculoAreaCirculo(9));
    
  6. Crie uma função que mostre na tela a tabuada de um número dado como parâmetro.

    function tabuada(n) {
        for (let i=1; i <= 10; i++) {
            console.log(n * i);
        }
    }
    
    tabuada(10);
    

*Gostaria de saber se é possível criar o exercício 6 sem o laço for? acabei não conseguindo outra forma se não essa.

1 resposta

Olá, Kelvyn, tudo bem?

Muito bom ver você se desafiando com esses exercícios de lógica de programação. Sobre a sua dúvida, é possível sim criar a função da tabuada sem utilizar um laço for. Uma alternativa seria usar a recursão, que é uma técnica onde uma função chama a si mesma para resolver um problema. Vou mostrar um exemplo de como você poderia fazer isso:

function tabuadaRecursiva(n, i = 1) {
    if (i > 10) {
        return;
    }
    console.log(n * i);
    tabuadaRecursiva(n, i + 1);
}

tabuadaRecursiva(10);

Neste exemplo, a função tabuadaRecursiva recebe dois parâmetros: o número n para o qual você quer a tabuada e i, que começa em 1 e vai até 10. A função imprime o resultado de n * i e chama a si mesma com i incrementado em 1, até que i seja maior que 10, momento em que a função para de chamar a si mesma.

Espero ter ajudado.

Qualquer dúvida, não hesite em compartilhar no fórum.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado