3
respostas

O meu script também é válido?

function calcularMedia(nota1,nota2,nota3,nota4){
  let resultadoMedia = (nota1+nota2+nota3+nota4)/4;
  
if (resultadoMedia > 5){
  console.log(`Aprovado, a sua média é ${resultadoMedia}`)
}else{
  console.log(`Você foi reprovado, a sua média é ${resultadoMedia}`)
}
}
parseFloat(calcularMedia(8,9,7.5,9))
3 respostas

Ola, Na sua primeira Function você pode colocar um

function calcularMediar (nota1, nota2, nota3, nota4) {
     let resultadoMedia = (nota1 + nota 2 + nota3 + nota4) / 4;
     return resultadoMedia;
}

você precisa fazer o return para que o valor seja retornado se não ele apenas fica "parado" na função.

Na parte de verificar a media seria bom colocar

if (resultadoMedia >= 5) {
}

Pois do jeito que você colocou caso a media do aluno for exatamente 5 o resulta vai dar False caindo no else e fazendo aparecer a mensagem que o Aluno foi reprovado.

Olá Maykon,

A questão pede duas alternativas com implementações separadas, mas em um outro cenário no seu código, você pode fazer o que quiser. Recomendo a dica do Clean Code: "Cada função deve fazer apenas uma única coisa. Se a função fizer mais de uma coisa, ela precisa ser reduzida." Assim o reaproveitamento de código fica facilitado e a manutenção também.

//Cria uma função para calcular a média

function calcularMedia(nota1, nota2, nota3, nota4){ let media = (nota1+nota2+nota3+nota4)/4; return media; }

//Depois Cria a função para ver se a média atende as funções de aprovado ou reprovado

function verificarAprovacao(media){ return media >=5 ? 'Aprovado' : 'Reprovado'; }

Dependendo se você quiser utilizar o if/else na função ela pode entrar na primeira função caso se sinta melhor em utilizar.

//Cria uma função para calcular a média e depois de retornar a media compara se é verdadeiro ou falso

function calcularMedia(nota1, nota2, nota3, nota4){ let media = (nota1+nota2+nota3+nota4)/4; return media; if(media >= 5){ exibirMensagemNaTela('Aprovado') }else{ exibirMensagemNaTela('Reprovado') } }