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

Dificuldade com os condicionais...

O sistema de notas de uma faculdade possui 3 etapas chamadas AV1, AV2, e AV3.

Para o aluno estar apto a cursar a AV3, ele precisa ter atingido média 4 entre AV1 e AV2.

Para o aluno obter aprovação, ele precisa ter nota mínima de 4 na AV3, e a média entre a nota da AV3 e a média da AV1 e AV2 precisa ser pelo menos 5.

Faça um programa que leia as notas da AV1 e AV2, avalie se o aluno está apto a seguir para a AV3.

Caso esteja, o aluno deve solicitar a nota da AV3 e verificar se o aluno obteve aprovação.

<script>

var AV1, AV2, AV3, mediaParcial1, mediaParcial2;

AV1 = parseFloat (prompt ("Informe a nota da 1ªAV: "));
AV2 = parseFloat (prompt ("Informe a nota da 2ªAV: "));


mediaParcial1 = (AV1 + AV2) /2;


if(mediaParcial1 >= 4) {
    alert("Parabéns! Sua média parcial 1 foi: " + mediaParcial1 + "\n Você está apto a fazer a 3ªAV.");

    AV3 = parseFloat (prompt ("Informe a nota da 3ªAV: "));

    mediaParcial2 = (AV3 + mediaParcial1) /2;

    alert("Sua média parcial 2 foi: " + mediaParcial2);

} if (AV3 >= 4 && mediaParcial2 <= 5){
    document.write("Parabéns! Você foi aprovado!");

} else {
    document.write("Inapto a cursar a AV3. Media AV1/AV2 inferior a 4.");}

</script>

Acho que estou errando algo na lógica dos else /ifs mas não sei ao certo onde...

2 respostas
solução!
    var AV1, AV2, AV3, mediaParcial1, mediaParcial2;

    AV1 = parseFloat (prompt ("Informe a nota da 1ªAV: "));
    AV2 = parseFloat (prompt ("Informe a nota da 2ªAV: "));

    mediaParcial1 = (AV1 + AV2) /2;

    if(mediaParcial1 >= 4) { // Se a média parcial 1 for maior ou igual a 4 essa condição é verdadeira
        alert(`Parabéns! Sua média parcial 1 foi:  ${mediaParcial1} !\nVocê está apto a fazer a 3ªAV.`); // Essa maneira de escrita facilita pois você pode usar ${} dentro das crases ao invés de concatenar cada pedaço delas, pesquise por Template strings para entender mais sobre isso

        AV3 = parseFloat (prompt ("Informe a nota da 3ªAV: "));

        mediaParcial2 = (AV3 + mediaParcial1) /2;

        if (AV3 >= 4 && mediaParcial2 >= 5){ // Essa condicional precisa estar dentro da primeira pois ela só pode ser calculada se o aluno estiver com uma média e uma nota suficiente 
            alert (`Sua média parcial 2 foi: ${mediaParcial2}`)
            document.write(`Parabéns! Você foi aprovado!`);
        }  else { 
            alert (`Sua média parcial 2 foi: ${mediaParcial2}`)
            document.write(`Infelizmente, você foi reprovado!`);
        }

    }  else  { // Essa condicional acontece se o aluno não atingir a média
        document.write(`Inapto a cursar a AV3.</br>Média AV1/AV2 inferior a 4.`);
    }

João Victor, valeu mesmo irmão! comecei o uso recentemente dos 'template strings' mas esqueci de utilizá-las neste código...

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software