Aprender / Pode entrar no cinema?

Pode entrar no cinema?

Combine duas condições com && (e) e || (ou) numa só decisão.

Enunciado

O cinema exibe um filme para maiores de 16 anos. Uma pessoa pode entrar se tiver 16 anos ou mais e tiver ingresso. Mas há uma exceção: se estiver acompanhada de um responsável, entra mesmo sendo mais nova, desde que tenha ingresso.

Escreva podeEntrar(idade, temIngresso, comResponsavel) que devolve true ou false.

EntradaSaída
podeEntrar(18, true, false)true
podeEntrar(18, false, false)false
podeEntrar(12, true, true)true
podeEntrar(12, true, false)false

Processamento local: nada do que você digita sai do seu navegador.

O conceito

Operadores lógicos juntam perguntas de sim/não. && é o e: para entrar na balada, precisa ter idade e documento. || é o ou: para pagar, vale dinheiro ou cartão. E ! é o não, que inverte o resultado.

Assim como na matemática, parênteses organizam a conta: a && (b || c) não é o mesmo que (a && b) || c.

const temDinheiro = true;
const temCartao = false;
temDinheiro || temCartao; // true
temDinheiro && temCartao; // false

Erros comuns

  • Trocar && por || sem perceber, mudando totalmente a regra.
  • Esquecer os parênteses e deixar o ingresso opcional para quem tem responsável.
  • Escrever idade >= 16 || 18 em vez de comparar a idade em cada parte.

Perguntas frequentes

Qual a diferença entre && e ||?

&& só dá verdadeiro se as duas condições forem verdadeiras. || dá verdadeiro se pelo menos uma for.

Preciso de if para usar && e ||?

Não. Eles produzem um booleano, então dá para devolver o resultado direto, como neste exercício, ou usá-los dentro de um if.

Veja também

Precisa de um sistema ou app sob medida?

A VcInova desenvolve software, aplicativos e integrações para empresas de todo o Brasil.

Fale com a VcInova