1
resposta

[Projeto] Desafio: Verificação de desconto

Você está desenvolvendo o sistema de bilheteria para um cinema. Os clientes podem ter direito a meia-entrada em duas situações:

Se tiverem menos de 18 anos

ou

Se forem estudantes

Sua tarefa é criar um algoritmo em linguagem natural ou gráfica (usando fluxogramas, por exemplo) que avalie as informações do cliente e exiba uma mensagem indicando se ele tem ou não direito ao desconto.

resolução:

idade = 18
estudante = false

se idade < 18 OU estudante:
exibir "tem direito ao desconto"
senão:
exibir"não tem direito ao desconto"

   não sei se está correto, porque me cofundi na parte da idade
   como esta falando que o desconto só tem direito a menos de 18, fiquei nesta duvida se teria que colocar, exemplo (18<= ou estudante) ou desta forma que fiz.
   
1 resposta

Olá, João. Como vai?

Sua lógica está corretíssima, você fez exatamente o que o exercício pediu! É super comum bater essa dúvida com os operadores de comparação no começo dos estudos.

Como o enunciado diz especificamente que o desconto é para quem tem menos de 18 anos, o operador correto é mesmo o de menor que (<), da exata forma que você fez.

Se você utilizasse o operador de menor ou igual (<=), a regra do cinema mudaria na prática e as pessoas com exatamente 18 anos também receberiam o desconto automaticamente pela idade. Da forma como você construiu, o sistema se comporta perfeitamente:

  • Se a idade for 17: 17 < 18 é Verdadeiro (tem direito ao desconto).
  • Se a idade for 18: 18 < 18 é Falso (não tem desconto pela idade, a menos que a variável estudante seja verdadeira).

Portanto, o seu código está estruturado de forma perfeita, inclusive usando muito bem o operador lógico OU para garantir que basta atender a apenas uma das condições para ganhar a meia-entrada. Parabéns pela resolução!

Espero que possa ter lhe ajudado!