Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Lista de Fuções (IMC, Fatorial, ConversorDeMoeda, Area&Perímetro, Tabuada)

Segue abaixo minha lista de funções referente ao desafio para análise.

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.

let altura = Number(prompt('Qual sua altura?'));
let peso = Number(prompt('Qual seu peso?'));

function calculaImc(altura, peso){
    return peso / (altura * altura);

}
let imc = calculaImc(altura, peso);
let msg = `Seu imc é ${imc}`;
alert(msg);

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

let numero = Number(prompt('Digite um número'));

function calcularFatorial(num) {
    if (num == 0 || num == 1) {
      return 1;
    }
  
    let fatorial = 1;
    for (let i = 2; i <= num; i++) {
      fatorial *= i;
    }
    return fatorial;
  }
  
  let resultado = calcularFatorial(numero);
  alert(`O fatorial de ${numero} é ${resultado}`);

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.

let dolar = 4.80;
let real = 1;

function cambioDeMoeda(dolar, real) {
  let cambio = real / dolar
  return cambio;
}
console.log(cambioDeMoeda(dolar, real))

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 largura = 100
let altura = 20

function calculaArea(largura, altura) {
  return largura * altura;
}

function calculaPerimetro(largura, altura) {
  return 2 * (largura + altura);
}

let area = calculaArea(largura, altura);
let perimetro = calculaPerimetro(largura, altura);

function mostraResultado(){
  console.log(`A aréa é ${area} e o perímetro é ${perimetro}`)
}
mostraResultado();

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.

let pi = 3.14;
let diametro = 15;

function calculaPerimetroCircular(pi, diametro) {
  return pi*diametro;
}
let perimetro = calculaPerimetroCircular(pi, diametro);

let raio = diametro / 2;
function calculaAreaCircular(pi, raio) {
  return pi * (raio * raio)
}
let area = calculaAreaCircular(pi, raio);

console.log(perimetro);
console.log(area);

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

let numero = 7;
function criaTabuada(numero) {
    let contador = 10;
    while (contador >= 1) {
        console.log(numero * contador);
        contador--;
    }
}
let tabuada = criaTabuada(numero)
console.log(tabuada);
1 resposta
solução!

Olá, Luiz! Como vai? Vi que você postou suas soluções para os desafios de Lógica de Programação. Parabéns pela iniciativa! Vamos analisar suas funções.

Desafio 1: Sua função calculaImc parece estar correta. Ela recebe altura e peso como argumentos e retorna o IMC calculado corretamente.

Desafio 2: A função calcularFatorial também parece estar correta. Ela recebe um número como argumento e retorna o fatorial desse número.

Desafio 3: A função cambioDeMoeda também está correta, mas acredito que houve um pequeno equívoco na lógica. Na sua função, você está dividindo o real pelo dólar, quando deveria ser o contrário (dólar dividido pelo real) para obter a conversão correta. A função corrigida ficaria assim:

function cambioDeMoeda(dolar, real) {
  let cambio = dolar / real;
  return cambio;
}

Desafio 4: As funções calculaArea e calculaPerimetro estão corretas, calculando a área e o perímetro de uma sala retangular respectivamente.

Desafio 5: As funções calculaPerimetroCircular e calculaAreaCircular também estão corretas, calculando o perímetro e a área de uma sala circular respectivamente.

Desafio 6: A função criaTabuada está correta, porém, ela não retorna nada. Isso faz com que, quando você tenta imprimir tabuada, o console exiba undefined. Para corrigir isso, você pode criar uma string dentro da função e retorná-la no final. Veja como ficaria:

function criaTabuada(numero) {
    let contador = 10;
    let tabuada = '';
    while (contador >= 1) {
        tabuada += `${numero} * ${contador} = ${numero * contador}\n`;
        contador--;
    }
    return tabuada;
}
let tabuada = criaTabuada(numero);
console.log(tabuada);

No geral, você fez um ótimo trabalho! Continue assim! Espero ter ajudado e bons estudos!