Oii, Gabriel. Tudo bem?
Fico feliz em ver que você aplicou o raciocínio lógico de forma direta no desafio. O uso do operador OU é a escolha certa aqui, pois ele garante que o benefício seja concedido caso pelo menos uma das condições seja verdadeira.
Seu algoritmo tá correto e bem estruturado. Para que ele funcione exatamente como planejado em um programa real, o único passo adicional seria garantir que a variável estudante também fosse recebida como um dado de entrada, assim como você fez com a idade.
Para visualizar como o computador processa essa decisão, podemos pensar na seguinte estrutura:
- Entrada de dados: Idade e se é estudante (Sim/Não).
- Processamento: Avaliar se (Idade menor que 18) OU (Estudante é verdadeiro).
- Saída: Mensagem de desconto ou valor integral.
Sugestão de melhoria
No seu código, você utilizou:
se idade < 18 OU estudante = true:
Uma curiosidade interessante é que, em muitas linguagens de programação, quando trabalhamos com variáveis booleanas (que já são verdadeiras ou falsas), não precisamos comparar com true. Poderia escrever apenas:
se idade < 18 OU estudante:
Isso deixa a leitura do código ainda mais limpa e próxima da nossa fala natural.
Parabéns pelo empenho e por compartilhar sua resolução no fórum. Continue praticando essa conversão do pensamento humano para a lógica computacional.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!