Olá, Idemilson. Como vai?
Sua lógica está corretíssima! Você aplicou um dos conceitos mais fundamentais da programação: o Operador Lógico OU (OR).
Muitas pessoas se confundem nessa parte, achando que deveriam usar o "E", mas a sua escolha foi perfeita. Na lógica de meia-entrada, as condições são inclusivas: basta que uma delas seja verdadeira para que o resultado final seja verdadeiro.
Analisando a sua Lógica
Para agregar valor ao seu tópico, veja como o computador "pensa" ao processar o seu passo 3:
- Cenário A: O usuário tem 15 anos, mas não é estudante. (Idade < 18 é Verdade). Resultado: Desconto!
- Cenário B: O usuário tem 25 anos, mas é estudante. (Estudante == "Sim" é Verdade). Resultado: Desconto!
- Cenário C: O usuário tem 30 anos e não é estudante. (Ambas são Falso). Resultado: Valor Integral.
Dica de Ouro: Boas Práticas de Programação
Quando você for transformar esse algoritmo em código real (como em JavaScript ou Python), aqui estão dois pontos que podem ajudar a evitar erros:
- Padronização de Texto (Case Sensitivity): Se o usuário digitar "sim" com "s" minúsculo, o computador pode não reconhecer. Uma dica é sempre converter a resposta para maiúsculo antes de comparar, ou verificar as duas opções:
SE Estudante == "Sim" OU Estudante == "sim". - Valores de Fronteira: O seu algoritmo usa "menor que 18". Isso significa que quem tem exatamente 18 anos e não é estudante pagaria inteira. Se a regra da empresa for "até 18 anos", o operador correto seria o menor ou igual ($\leq 18$).
Parabéns pela clareza na construção do algoritmo. O uso de nomes de variáveis bem definidos como Idade e Estudante torna seu código muito mais legível!
Você já pensou em como incluiria uma terceira condição, como por exemplo, um desconto especial para Idosos (maiores de 60 anos)?