1
resposta

[Desafio] Função 1 à 6

Segue os deafios feitos, gostaria de ler sugestões para aprimorar, se há algo errado.Grato Desafio 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
//indiceMC(50, 1.61)
function indiceMC(peso, altura){
    let imc = peso/(altura * altura);
    console.log(`${imc}`);
    
}
indiceMC(50, 1.61)

Desafio 2

//Crie uma função que calcule o valor do fatorial de um número passado como parâmetro.
function calculaFatorial(valor){
    // caso seja inserido o valor 0 ou 1
    if (valor == 0 || valor == 1) {
        return 1;
    }
    //Caso o valor seja maior que 1
    let contador = valor;
    let fatorial = 1;
    
    while (contador > 0) {
        fatorial = fatorial * contador;
        contador = etapas - 1;
    }
    return fatorial;
    }
let resultadoFatorial = calculaFatorial(5)
let valor = 5;
console.log(`o valor da fatorial de ${valor} é ${resultadoFatorial}`)

Desafio 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 cotacaoMoeda(valor){
    const cotacao = 4.80;
    cambio = valor * cotacao;
    return cambio;
    
}
cotacaoMoeda(9)
console.log(`${cambio}`);
//toFixed arredondando, depois da virgula, e mostra a quantidade dos numeros, recomnedado para valor monetario
//Exemplo : xx.xxxxx
console.log(`${cambio.toFixed(5)}`);
//toFixed ajusta para quantos numeros são mostrados, antes e depois da virgula
//Exemplo : xx.xxx
console.log(`${cambio.toPrecision(5)}`);

Desafio 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.
let altura = parseFloat(prompt("digite o valor da altura"))
let largura = parseFloat(prompt("digite o valor da largura"))

function funcaoArea(altura, largura){
    let area = altura + largura;
    return area;   
}
let area = funcaoArea(altura, largura)
console.log(`${area}`);

function funcaoPerimetro(altura, largura){
    let perimetro = ((altura*2)+(largura*2));
    return perimetro;
}
let perimetro = funcaoPerimetro(altura, largura)
console.log(`${perimetro}`)

Desafio 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.
const pi = 3.14;
let raio = prompt("Digite o valor o raio do circulo");
//Calcula da area
function calculaArea(raio){
    return (raio ** 2) * pi;
}
let area = calculaArea(raio)
// calculo do perimetro
function calculaPerimetro(raio){
    return (2 * pi * raio)
}
let perimetro = calculaPerimetro(raio)

console.log(`O valor da area com raio ${raio} é ${area}`);
console.log(`O valor do perimetro com raio ${raio} ${perimetro}`);

Desafio 6

//Crie uma função que mostre na tela a tabuada de um número dado como parâmetro.
let numero = parseInt(prompt("Digite um numero"));
function criarTabuada(numero){
    let i = 1;
    while (i <= 10){
        tabuada = numero * i;
        console.log(`${i} X ${numero} = ${tabuada} `);
        i++;
    }
}
let tabuadaResultado = criarTabuada(numero);
console.log(`${tabuadaResultado}`);
1 resposta

Oi Ivan,

Excelente trabalho em resolver os desafios! 👍

Vamos a algumas sugestões para aprimorar seu código:

Desafio 1: Seu código para o cálculo do IMC está correto e funcional. 👌

Desafio 2: No cálculo do fatorial, você tem um pequeno erro na linha contador = etapas - 1;. A variável etapas não está definida. O correto seria contador = contador - 1; para decrementar o contador a cada iteração do loop. 💡

Desafio 3: A função cotacaoMoeda está correta, mas a variável cambio está sendo usada fora do escopo da função, o que pode gerar erros. Declare cambio dentro da função ou use let antes de cambio = valor * cotacao;. Além disso, você está chamando a função cotacaoMoeda(9) mas não está usando o retorno dela. Para exibir o resultado, você precisa armazenar o retorno da função em uma variável e depois usar o console.log.

Desafio 4: Na função funcaoArea, você está somando a altura e a largura, quando deveria multiplicá-las para calcular a área de um retângulo. O cálculo do perímetro está correto.

Desafio 5: Seu código para calcular a área e o perímetro de um círculo está correto e funcional. 👏

Desafio 6: Seu código para gerar a tabuada está correto, mas a variável tabuadaResultado não está recebendo nenhum valor da função criarTabuada. A função criarTabuada não retorna nada, então o console.log no final exibirá undefined.

Exemplo de correção do Desafio 2:

function calculaFatorial(valor){
    if (valor == 0 || valor == 1) {
        return 1;
    }
    let contador = valor;
    let fatorial = 1;
    
    while (contador > 0) {
        fatorial = fatorial * contador;
        contador = contador - 1;
    }
    return fatorial;
}
let resultadoFatorial = calculaFatorial(5);
let valor = 5;
console.log(`o valor da fatorial de ${valor} é ${resultadoFatorial}`);

Exemplo de correção do Desafio 3:

function cotacaoMoeda(valor){
    const cotacao = 4.80;
    let cambio = valor * cotacao;
    return cambio;
}
let valorEmReais = cotacaoMoeda(9);
console.log(`${valorEmReais}`);
console.log(`${valorEmReais.toFixed(5)}`);
console.log(`${valorEmReais.toPrecision(5)}`);

Exemplo de correção do Desafio 4:

let altura = parseFloat(prompt("digite o valor da altura"));
let largura = parseFloat(prompt("digite o valor da largura"));

function funcaoArea(altura, largura){
    let area = altura * largura;
    return area;   
}
let area = funcaoArea(altura, largura);
console.log(`${area}`);

function funcaoPerimetro(altura, largura){
    let perimetro = ((altura*2)+(largura*2));
    return perimetro;
}
let perimetro = funcaoPerimetro(altura, largura);
console.log(`${perimetro}`);

Para saber mais: Entenda o escopo de variáveis em JavaScript. Este link aborda o conceito de escopo de variáveis em JavaScript, que é fundamental para evitar erros como o que você encontrou no Desafio 3.

Continue praticando e explorando novas possibilidades! 🤗