Olá, Bruno. Como vai?
Esse é um excelente exercício para fixar os fundamentos da lógica de programação e o uso dos operadores lógicos, especificamente o operador OU (OR), que exige que apenas uma das condições seja verdadeira para validar todo o conjunto.
Para complementar o seu desafio e mostrar como esse pensamento computacional se transforma em código real, montei o exemplo desse algoritmo estruturado em JavaScript e também em Python. Assim, você consegue visualizar a lógica aplicada na prática.
Exemplo em JavaScript
// Etapas 1 e 2: Solicitando as informações do cliente
const idade = parseInt(prompt("Qual a idade do cliente?"));
const ehEstudante = prompt("O cliente é estudante? (sim/nao)").toLowerCase() === "sim";
// Etapa 3: Verificando as condições com o operador lógico OU (||)
if (idade < 18 || ehEstudante) {
// Etapa 4: Condição verdadeira
console.log("Meia-entrada aplicada.");
} else {
// Etapa 5: Caso contrário
console.log("Valor integral.");
}
Exemplo em Python
# Etapas 1 e 2: Solicitando as informações do cliente
idade = int(input("Qual a idade do cliente? "))
eh_estudante = input("O cliente é estudante? (sim/nao) ").lower() == "sim"
# Etapa 3: Verificando as condições com o operador lógico ou (or)
if idade < 18 or eh_estudante:
# Etapa 4: Condição verdadeira
print("Meia-entrada aplicada.")
else:
# Etapa 5: Caso contrário
print("Valor integral.")
- Pontos-chave da lógica aplicada:
- Operador Lógico OU (
|| ou or): Ele garante exatamente o que o seu desafio propõe. Se o cliente tiver 15 anos (menor que 18) mas não for estudante, ele ganha o desconto. Se tiver 25 anos mas for estudante, também ganha. Apenas se ambas as condições forem falsas (maior de idade e não estudante) o sistema cairá no "Valor integral". - Tratamento de texto (
toLowerCase() / .lower()): Uma boa prática comum para evitar erros caso o usuário digite "SIM", "Sim" ou "sim". O código converte tudo para minúsculo antes de fazer a checagem.
O seu mapeamento de etapas está perfeito e demonstra que você compreendeu muito bem como estruturar o pensamento computacional antes de partir para a escrita do código.
Espero que possa ter lhe ajudado!