Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Na função verificar aprovação quando aponto o parâmetro com o mesmo nome da variável media não funciona correto o resultado

Na função verificar aprovação quando aponto o parâmetro com o mesmo nome da variável (media) não funciona correto o resultado, mas quando altero o nome do parâmetro para qualquer outro nome funciona perfeito poderiam explicar o que tem de errado ? já que no exercício aponta como correto.

2 respostas
solução!

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:

  1. 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);
    
  2. 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 ✓.

Muito bom a explicação, ficou claro de mais !