Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Desafio - Verificação de desconto

Variavel: idade, estudante

Exiba(" Para que possamos analisar seu desconto, por gentileza preencha as informações abaixo: ")
QuebraLinha
Exiba(" Quantos anos você tem?: ")
Leia(Idade)
QuebraLinha
Exiba(" Você é estudante?: ")
Leia(estudante)

Se (idade < 18 ou estudante == "sim" ou estudante == "sou") então
Exiba("Você ganhou um desconto de 50% ao valor total do ingresso ")
Senão
Exiba(" Para as informações preenchidas não há nenhum desconto aplicavel ")
Fimse

1 resposta
solução!

Olá, Vagner. Como vai?

Parabéns por encarar o desafio! O seu algoritmo estruturado em pseudocódigo ficou excelente e demonstra que você compreendeu muito bem os fundamentos da lógica de programação e das estruturas condicionais.

A escolha do operador lógico ou foi perfeita para o cenário, pois basta que o cliente cumpra uma das condições (ser menor de idade ou ser estudante) para ter direito ao benefício.

Para enriquecer ainda mais o seu aprendizado sobre pensamento computacional, trago algumas sugestões de boas práticas e pontos de atenção que vão te ajudar quando você passar essa lógica para uma linguagem de programação real:

1. O problema da sensibilidade de caixa (Maiúsculas e Minúsculas)
No seu código, você validou se a resposta do estudante é igual a "sim" ou "sou". Mas e se o usuário digitar "Sim", "SIM" ou "Sou"?
Na maioria das linguagens de programação, as letras maiúsculas e minúsculas são tratadas como caracteres totalmente diferentes. Uma boa prática do pensamento computacional para contornar isso é converter a resposta do usuário para letras minúsculas antes de fazer a checagem.

2. Tratamento de respostas negativas
Caso a pessoa digite "não estudante" ou qualquer outra frase que por acaso contenha a palavra "sou" (ex: "não sou"), o sistema atual poderia acabar dando o desconto por engano. Para evitar isso, o ideal em sistemas reais é guiar o usuário para responder apenas com opções fechadas (como 1 para Sim e 2 para Não) ou tratar estritamente os textos.

Veja uma forma atualizada do seu pseudocódigo aplicando uma padronização na leitura:

Variavel: idade, estudante

Exiba("Para que possamos analisar seu desconto, por gentileza preencha as informações abaixo:")
QuebraLinha

Exiba("Quantos anos você tem?: ")
Leia(idade)
QuebraLinha

Exiba("Você é estudante? (Digite SIM ou NAO): ")
Leia(estudante)

// Boa prática: Transformamos o texto em minúsculo para evitar o erro de digitação
estudante = Minusculo(estudante)

Se (idade < 18 ou estudante == "sim" ou estudante == "sou") então
    Exiba("Você ganhou um desconto de 50% ao valor total do ingresso")
Senão
    Exiba("Para as informações preenchidas não há nenhum desconto aplicavel")
Fimse

Organizar o código com recuos (identação) dentro do bloco Se/Senão, assim como você fez na estrutura geral, também ajuda muito na leitura do algoritmo conforme ele vai crescendo.

Continue praticando, pois o pensamento computacional é a base mais importante para qualquer linguagem que você escolher aprender no futuro!

Espero que possa ter lhe ajudado!