1
resposta

[Projeto] Desafio: Verificação de desconto

Regras do desconto

O cliente terá direito ao desconto se:

tiver menos de 18 anos; ou for estudante.

Lógica

Recebe a idade do cliente.
Verifica se ele é estudante.
Analisa as condições utilizando o operador lógico “OU”.
Se pelo menos uma condição for verdadeira:
menor de 18 anos;
estudante;
então o desconto é concedido.
Caso contrário, o sistema informa que não há direito à meia-entrada.

Algoritmo em linguagem natural

Início

Solicitar a idade do cliente

Perguntar se o cliente é estudante
(Resposta: SIM ou NÃO)

Se a idade for menor que 18
    OU
   o cliente for estudante:

    Exibir:
    "Cliente possui direito à meia-entrada."

Senão:

    Exibir:
    "Cliente não possui direito ao desconto."

Fim
1 resposta

Olá, Paola. Como vai?

Parabéns por mais uma excelente entrega! O seu algoritmo para a verificação de desconto está perfeito e demonstra uma compreensão impecável sobre o funcionamento das tabelas verdade e dos operadores lógicos.

A escolha do operador OU (OR) foi aplicada com maestria. Na lógica de programação, esse operador é utilizado exatamente quando precisamos que pelo menos uma das condições seja verdadeira para que todo o bloco seja executado. Ou seja, se o cliente for menor de idade (Verdadeiro) mas não for estudante (Falso), ele ganha o desconto. Se for maior de idade (Falso) mas for estudante (Verdadeiro), também ganha. O único cenário que cai no Senão é se ambas as condições forem falsas.

Para agregar ainda mais valor ao seu projeto e trazer uma excelente boa prática do mundo real da programação, quero chamar a atenção para a etapa onde você pergunta se o cliente é estudante (Resposta: SIM ou NÃO).

Na prática, quando um usuário digita um texto em um sistema, ele pode escrever de formas diferentes: "sim", "Sim", "SIM" ou até mesmo digitar uma letra minúscula por engano. Na programação, o computador diferencia letras maiúsculas de minúsculas. Se o seu código testar apenas por "SIM", e o usuário digitar "sim", a condição falharia.

Para evitar esse problema, uma grande boa prática é aplicar uma função de padronização de texto logo após a entrada do dado. No Python, por exemplo, costumamos usar a função .upper() ou .strip() para garantir que o texto fique limpo e todo em maiúsculo antes do teste.

Veja como a sua lógica se traduz de forma limpa e profissional para um código em Python utilizando essa boa prática:

# Solicitar a idade do cliente
idade = int(input("Digite a idade do cliente: "))

# Perguntar se o cliente é estudante e padronizar para letras maiúsculas
estudante_input = input("O cliente é estudante? (SIM ou NÃO): ")
eh_estudante = estudante_input.strip().upper() == "SIM"

# Analisa as condições utilizando o operador lógico OU
if idade < 18 or eh_estudante:
    print("Cliente possui direito à meia-entrada.")
else:
    print("Cliente não possui direito ao desconto.")

Com o uso do .strip().upper(), não importa se o usuário digitar "sim", "Sim " ou "sIm", o programa vai entender perfeitamente e conceder o benefício corretamente.

Você mantém uma constância e clareza excepcionais na escrita dos seus algoritmos. Continue assim!

Espero que possa ter lhe ajudado!