1
resposta

Reiniciando o jogo desafio

//Desafio 1
function imc(peso, altura) {
    if (isNaN(peso) || isNaN(altura) || altura <= 0) {
        return 'Erro: valores inválidos';
    }
    return (peso / (altura * altura)).toFixed(2);
}

let pesoKg = parseFloat(prompt('Qual é o seu peso?'));
let alturaM = parseFloat(prompt('Qual é a sua altura?'));
alert(`Seu IMC é ${imc(pesoKg, alturaM)}`);

//Desafio 2 
function valorFatorial(numero) {
let resultado = numero;
if(numero == 0 || numero == 1){
return 1;
};
while(numero > 1){
numero--;
resultado *= numero;
};
return resultado;
};
let valor = valorFatorial(1);
console.log(valor);

//Desafio 3
function conversor(dolar) {
let cotacao = 4.80;
return dolar * cotacao;
}
console.log(conversor(3).toFixed(2));

//Desafio 4
function areaSalaRetangular(altura, largura) {
let area = altura * largura;
let perimetro = 2 * largura + 2 * altura;
return `A área é ${area}m² e o perímetro é ${perimetro}m.`;
}
alert(areaSalaRetangular(12, 4));

//Desafio 5
function areaCirculo(r) {
let pi = 3.14;
let area = pi * r * r;
let perimetro = 2 * pi * r;
return `A área do círculo é ${area.toFixed(2)}m2 e o perímetro é ${perimetro.toFixed(2)}m.`;
}
alert(areaCirculo(4));

//Desafio 6
function tabuada(numero) {
let numb = 0;
while (numb < 10) {
numb++;
let resultado = numero * numb;
console.log(`${numero} * ${numb} = ${resultado}`);
}
}
tabuada(2);
1 resposta

Oii, Guilherme. Tudo bem?

É muito legal ver sua dedicação em resolver os desafios propostos. Praticar a lógica de programação com funções é um passo fundamental para consolidar o que você aprendeu no curso.

Sua implementação ficou organizada e demonstra que você compreendeu bem a estrutura das funções e o uso de parâmetros e retornos.

  • Tratamento de erros: No desafio do IMC, você adicionou uma verificação com isNaN e conferiu se a altura é maior que zero. Isso demonstra cuidado com possíveis entradas inválidas do usuário.
  • Uso do while: Você utilizou o laço de repetição while de forma correta nos desafios do fatorial e da tabuada, mostrando domínio sobre diferentes estruturas de repetição além do for.
  • Formatação de resultados: O uso do .toFixed(2) garante que os valores monetários e medidas fiquem legíveis para quem utiliza o programa.

Continue praticando e explorando novas formas de escrever seus códigos.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!