1
resposta

Professora não explica direito

Professora confunde mais do que qualquer coisa, graças a Deus eu entendo os operadores lógicos, mas pra quem tá começando ela deve ter confundido demais...

Começou explicando sobre o operador lógico || (ou/or) e vem e me faz esse código:
const notaFinal = 7;
const faltas = 5;

if (notaFinal < 7 || faltas > 4) {
console.log("Reprovado");
} else {
console.log("Reprovado por faltas");
}

E nessa lógica não traz a resposta de aprovado? Pra quem tá começando, isso é muito desestimulante.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi Caique! Como vai?

O código que você mencionou utiliza o operador lógico ||, que significa "OU". Isso quer dizer que a condição dentro do if será verdadeira se pelo menos uma das duas condições for verdadeira.

No seu exemplo:

const notaFinal = 7;
const faltas = 5;

if (notaFinal < 7 || faltas > 4) {
    console.log("Reprovado");
} else {
    console.log("Reprovado por faltas");
}

A lógica é a seguinte: o aluno será considerado "Reprovado" se a nota final for menor que 7 OU se tiver mais de 4 faltas. No seu caso, faltas é 5, que é maior que 4, então a condição faltas > 4 é verdadeira, e por isso o console imprime "Reprovado".

Se quisermos que o aluno seja reprovado apenas se as duas condições forem verdadeiras (nota menor que 7 E mais de 4 faltas), teríamos que usar o operador && em vez de ||. Ficaria assim:

const notaFinal = 7;
const faltas = 5;

if (notaFinal < 7 && faltas > 4) {
    console.log("Reprovado");
} else {
    console.log("Aprovado");
}

Nesse caso, o aluno só seria reprovado se ambas as condições fossem verdadeiras.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.