Olá Moises! Tudo bem?
O problema que você está enfrentando está relacionado ao escopo das variáveis e à forma como os parâmetros funcionam em JavaScript.
Quando você cria uma função e define parâmetros para ela, esses parâmetros são variáveis locais à função. No seu caso, a função verificarAprovacao
está esperando receber um argumento para o parâmetro media
. No entanto, ao chamar verificarAprovacao()
sem passar nenhum argumento, o JavaScript não sabe que você quer usar a variável global media
dentro da função.
Aqui está como você pode corrigir isso:
Passar a variável media
como argumento para a função verificarAprovacao
:
let nota1 = 7;
let nota2 = 6;
let nota3 = 5;
let nota4 = 3;
function calcularMedia(n1, n2, n3, n4) {
return (nota1 + nota2 + nota3 + nota4) / 4;
}
let media = calcularMedia();
function verificarAprovacao(media) {
return media >= 5 ? 'Aprovado' : 'Reprovado';
}
let aprovacao = verificarAprovacao(media); // Passando 'media' como argumento
console.log(aprovacao);
Ajustar a função calcularMedia
para usar os parâmetros:
Se você quiser que a função calcularMedia
use os parâmetros que você definiu, altere a função para usar n1
, n2
, n3
, e n4
em vez de nota1
, nota2
, nota3
, e nota4
.
function calcularMedia(n1, n2, n3, n4) {
return (n1 + n2 + n3 + n4) / 4;
}
let media = calcularMedia(nota1, nota2, nota3, nota4);
Assim, a função calcularMedia
recebe as notas como argumentos e calcula a média corretamente. E a função verificarAprovacao
usa a média calculada para determinar o resultado.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.