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.
| Entrada | Saí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; // falseErros 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 || 18em 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