5
respostas

[Projeto] Minhas resoluções para os desafios de funções e listas.

Boa tarde, galera! Segue os códigos que utilizei para resolver os exercícios.

Trabalhei inteiramente com o console, mas pretendo aplicar as funções no HTML.

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 calcularIMC(peso, altura) {
    let resultadoIMC = peso / (altura * altura);
    return resultadoIMC.toFixed(2);
    //Opção 2: peso / (altura**2);
    //Opção 3: peso / (Math.pow(altura, 2));
}
//Teste
console.log(`Seu IMC é: ${calcularIMC(76, 1.75)}`);

Crie uma função que calcule o valor do fatorial de um número passado como parâmetro.

function calcularFatorial(numero) {
    let fatorial = numero;
    let multiplicador = 1;
    if (numero === 0) {
        return {
            numero: numero,
            fatorial: 1
        };
    }
    if (numero >= 1) {
        while (multiplicador < numero) {
            fatorial *= multiplicador;
            multiplicador++;
        }
        return {
            numero: numero,
            fatorial: fatorial
        };
    } else {
        console.log('O valor é negativo ou invalido para o cálculo.');
    }
}

//Como foi realizada a conta: 4x1 = 4 > 4x2 = 8 > 8x3 = 24 | Em vez de 4.3.2.1, foi feito 4.1.2.3
//Encerra pois o multiplicador iria para 4, mesmo valor do número, encerrando o while
let resultadoFatorial = calcularFatorial(4);
//Teste
console.log(`O resultado fatorial de ${resultadoFatorial.numero}! é: ${resultadoFatorial.fatorial}`);

/*
//Segunda função que criei, ainda faltando as validações
function calcularFatorial(numero) {
    let numeroBase = numero;
    let fatorial = 1;
    while (numero > 1) {
        fatorial *= numero;
        numero--;
    }
    return {
        numero: numeroBase,
        fatorial: fatorial
    };
}
//Como foi realizada a conta: 1x4 = 4 > 4x3 = 12 > 12x2 = 24 | Em vez de 4.3.2.1, foi feito 4.1.3.2
//Encerra pois o número chegaria a 1, encerrando o while
let resultadoFatorial = calcularFatorial(4);
//Teste
console.log(`O resultado fatorial de ${resultadoFatorial.numero}! é: ${resultadoFatorial.fatorial}`);
*/

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 converterDolarEmReal(inputDolar) {
    let cotacaoDolar = 4.80;
    let conversaoReal = inputDolar * cotacaoDolar;
    return {
        conversaoReal: conversaoReal.toFixed(2),
        inputDolar: inputDolar.toFixed(2)
    };
}
//Valor a ser convertido
let retorno = converterDolarEmReal(0.10);
//Ternários para avaliar o nome correto do valor
let palavraDolar = retorno.inputDolar < 1 ? 'cents' : retorno.inputDolar === 1 ? 'dólar' : 'dólares';
let palavraReal = retorno.conversaoReal < 1 ? 'centavos' : retorno.conversaoReal === 1 ? 'real' : 'reais';
//Teste
console.log(`US$${retorno.inputDolar} ${palavraDolar} equivale a R$${retorno.conversaoReal} ${palavraReal}`);

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 calcularAreaPerimetroRetangular(altura, largura, unidade = 'm' ) { //Caso não coloquem a unidade
    let area = altura * largura;
    let perimetro = 2 * (altura + largura);
    return {
        area: area.toFixed(2),
        perimetro: perimetro.toFixed(2),
        unidade: unidade
    };
}
let retornoRetangular = calcularAreaPerimetroRetangular(2.5, 7, 'm');
//Teste
console.log(`Área: ${retornoRetangular.area}${retornoRetangular.unidade}²\nPerímetro: ${retornoRetangular.perimetro}${retornoRetangular.unidade}`);

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 calcularAreaPerimetroCircular(raio, unidade) {
    let pi = 3.14;
    //let pi = Math.PI;
    let area = pi * (raio ** 2);
    //let area = pi * (Math.pow(raio, 2));
    let perimetro = 2 * pi * raio;
    return {
        area: area.toFixed(2),
        perimetro: perimetro.toFixed(2),
        unidade: unidade
    };
}
//Teste
let retornoCircular = calcularAreaPerimetroCircular(3, 'm');
console.log(`Área: ${retornoCircular.area}${retornoCircular.unidade}²\nPerímetro: ${retornoCircular.perimetro}${retornoCircular.unidade}`);

Crie uma função que mostre na tela a tabuada de um número dado como parâmetro.

//Crie uma função que mostre na tela a tabuada de um número dado como parâmetro.
function tabuada(numero) {
    console.log(`TABUADA DO NÚMERO ${numero}`);
    let resultado;
    let base = 1;
    while (base <= 10) {
        resultado = numero * base;
        console.log(`${numero} x ${base} = ${resultado}`);
        base++;
    }
}
//Teste
tabuada(3);
5 respostas

Boa Arthur!

É isso ai!

Imagens do console:

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.
Resultado do cálculo de IMC no console.

Crie uma função que calcule o valor do fatorial de um número passado como parâmetro.
Resultado do cálculo fatorial no console.

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.
Resultado da conversão de dólares em reais com um valor baixo.
Resultado da conversão de dólares em reais com um valor maior.

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.
Resultado do cálculo de área e perímetro retangular no console.

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.
Resultado do cálculo de área e perímetro circular no console.

Crie uma função que mostre na tela a tabuada de um número dado como parâmetro.
Resultado da tabuada no console.
Também fiz um código para conversão de real para dólar:

//Para ver meus conhecimentos, também fiz uma função mais simples que converte real em dólar
function converterRealEmDolar(inputReal) {
    let cotacaoDolar = 4.80;
    let conversaoDolar = inputReal / cotacaoDolar;
    return conversaoDolar.toFixed(2);
}
console.log(converterRealEmDolar(10));

E outra variação da tabuada, mas agora somente adicionando os resultados a um objeto:

//Outra versão, adicionando os resultados em um objeto
function tabuada(numero) {
    let resultado = {};
    let base = 1;
    while (base <= 10) {
        resultado[`${numero}x${base}`] = numero * base;
        base++;
    }
    return resultado;
}
console.log(tabuada(2));

Valeu, Leo!

Show!