1
resposta

Desafio: Verificação de desconto

Objetivo: desenvolver algoritmo que fornece desconto se usuário condições: ter menos de 18 anos OU for estudante.

//obter dado usuário:
    obter idade;
    
    se idade < 18 OU estudante = true:
        exibir("Desconto ativo");
    senão:
        exibir("Desconto indisponível");
1 resposta

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.

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