Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Desafio: Verificação de desconto

algoritmo "Verificação de desconto"

var
  idade:inteiro
  estudante:caractere

inicio

   escreva("Você é um estudante?" )
   leia(estudante)
   escreva(" Quantos anos você tem? ")
   leia (idade)
   se estudante = "sim" ou idade < 18 entao 
    escreva ("Você tem direito a meia-entrada!")
   senao 
    escreva ("Você não tem direito a meia-entrada.") 
   fimse
  
fimalgoritmo
2 respostas
solução!

Olá, Lucas. Como vai?

Parabéns por concluir o desafio! O seu algoritmo utiliza corretamente a estrutura condicional se...entao...senao e o operador lógico ou para validar as regras de negócio propostas.

A lógica está correta: no caso do operador ou, se pelo menos uma das condições for verdadeira (ser estudante ou ter menos de 18 anos), o bloco de código que concede o desconto será executado.

Para agregar ainda mais valor ao seu aprendizado, deixo algumas sugestões de boas práticas e pontos de atenção:

  • Sensibilidade a maiúsculas e minúsculas: Em muitas linguagens de programação e no próprio Visualg (dependendo da versão), a comparação de texto é rigorosa. Se o usuário digitar "Sim" ou "SIM", a condição estudante = "sim" pode resultar em falso. Uma boa prática é instruir o usuário sobre como responder ou tratar a entrada para aceitar diferentes formatos.

  • Clareza nas mensagens: Ao solicitar dados, é interessante indicar o formato esperado. Por exemplo: escreva("Você é um estudante? (sim/nao)"). Isso melhora a experiência de quem está utilizando o seu programa.

  • Organização do código: Manter a indentação (os espaços no início das linhas dentro dos blocos) ajuda muito na leitura quando os algoritmos começam a ficar maiores e mais complexos.

Veja um exemplo de como o código poderia ser levemente incrementado:

algoritmo "Verificação de desconto"

var
  idade: inteiro
  estudante: caractere

inicio

   escreva("Você é um estudante? (sim/nao): ")
   leia(estudante)
   escreva("Quantos anos você tem? ")
   leia(idade)

   // A lógica abaixo garante que qualquer uma das condições atenda ao requisito
   se (estudante = "sim") ou (idade < 18) entao 
      escreva("Status: Você tem direito a meia-entrada!")
   senao 
      escreva("Status: Você não tem direito a meia-entrada.") 
   fimse
  
fimalgoritmo

Continue praticando esses fundamentos de lógica, pois eles são a base essencial para aprender qualquer linguagem de programação como JavaScript, Python ou Java.

Espero que possa ter lhe ajudado!

Muito obrigado!