Olá, Ricardo. Como vai?
Sua estruturação do problema está muito boa e clara! Você definiu bem as variáveis e as condições necessárias para a regra de negócio da meia-entrada.
Para agregar valor à sua resolução, gostaria de fazer uma pequena observação técnica sobre a sua segunda condição (Se idade >= 18 ou Não Estudante). Na lógica de programação, quando usamos o operador OU, basta que uma das afirmações seja verdadeira para o código entrar naquela condição.
No seu exemplo, se uma pessoa tiver 20 anos (idade >= 18) mas for estudante, ela acabaria caindo na segunda regra e pagando o valor integral, pois a idade dela satisfaz a primeira parte da condição. Para evitar esse conflito, o ideal é usar apenas o Senão (Else), que já engloba automaticamente todos os casos que não entraram no primeiro critério de desconto.
Veja como o seu algoritmo ficaria mais preciso:
- SE idade < 18 OU estudante == Verdadeiro:
- Exibir "Desconto de 50% aplicado."
- SENÃO:
- Exibir "Valor do ingresso integral."
Dessa forma, o sistema primeiro verifica se o cliente atende a qualquer um dos requisitos do desconto. Se não atender a nenhum, ele obrigatoriamente cai na regra do valor integral, eliminando qualquer margem de erro no cálculo.
Espero que possa ter lhe ajudado!