1
resposta

[Dúvida] desafio: verificação de desconto

isso funciona?


(idade < 18 ou estudante == true)
        exibir "tem direito a meia entrada"
        senão:
            exibir "valor inteiro"`
1 resposta

Oi, Luiz! Tudo bem por aí?

Mandou muito bem na lógica! O seu código tá certinho e resolve o problema proposto pelo desafio. Você conseguiu captar exatamente como o operador OU funciona: se pelo menos uma das condições for verdadeira, o desconto é aplicado.

Só uma dica pra deixar seu pseudocódigo ainda mais redondo e com "cara de dev": faltou apenas o "se" no começo da estrutura pra abrir a condição, e um pequeno detalhe sobre como o computador lê os valores.

Dá uma olhada em como ficaria:

Se (idade < 18 ou estudante == verdadeiro)
    exibir "Tem direito a meia-entrada"
senão
    exibir "Valor integral"

Por que isso funciona?

Pensa que o operador OU é bem "generoso". Ele só vai dizer que a pessoa paga o valor inteiro se as duas coisas forem falsas ao mesmo tempo (ou seja, se a pessoa tiver 18 anos ou mais E não for estudante).

Se chegar um adolescente de 15 anos que não estuda, o idade < 18 já garante o desconto pra ele, né? O sistema nem precisa olhar o resto pra saber que ele tem direito.

Um detalhe extra

Na maioria das linguagens de programação, quando a gente trabalha com variáveis que já são booleanas (verdadeiro ou falso), nem precisamos escrever o == true. Dá pra escrever direto assim:

Se (idade < 18 ou estudante)

O computador já entende que, se estudante for verdadeiro, a condição está valendo. Mas do jeito que você fez está ótimo pra treinar a lógica!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!