Olá, Henrique! Como vai?
Excelente resolução! Você demonstrou um domínio muito claro da Lógica de Programação ao utilizar uma estrutura de repetição (Para) em conjunto com estruturas condicionais (Se). Esse é um exemplo clássico de como o pensamento computacional resolve problemas do cotidiano, como o fechamento de uma conta em uma cafeteria.
Sua lógica de acumular o valor total dentro do laço e só aplicar o desconto ao final é a abordagem mais eficiente e organizada.
Destaques do seu Algoritmo
- Uso do Acumulador: A linha
total ← total + precoItem é o coração do programa. Sem ela, o computador "esqueceria" o preço do item anterior a cada nova volta do laço. - Cálculo de Porcentagem: Você aplicou corretamente a lógica de desconto utilizando $total \times 0,10$.
- Clareza nas Variáveis: Declarar as variáveis logo no início facilita muito a leitura e a manutenção do código.
Dicas para Evoluir o Projeto
Para deixar o seu simulador ainda mais robusto e próximo de um sistema real, deixo duas sugestões:
- Validação de Resposta: No campo
clienteCadastrado, o que aconteceria se o usuário digitasse "s" (minúsculo)? Para o computador, "S" e "s" são caracteres diferentes. Em linguagens como Python, usamos o método .upper() para garantir que qualquer "s" seja tratado como maiúsculo. - Modularização: Se a cafeteria decidisse que o desconto agora é de 15% para datas especiais, você teria que procurar o valor no meio do código. Uma boa prática é criar uma variável de configuração no início, como
TAXA_DESCONTO ← 0,10.
Veja como ficaria em Python:
total = 0
quantidade = int(input("Quantos itens o cliente vai pedir? "))
for i in range(quantidade):
nome_item = input(f"Digite o nome do item {i+1}: ")
preco_item = float(input(f"Digite o preço de {nome_item}: R$ "))
total += preco_item
cliente_cadastrado = input("O cliente é cadastrado? (S/N): ").strip().upper()
if cliente_cadastrado == "S":
desconto = total * 0.10
total_final = total - desconto
print(f"\nValor sem desconto: R$ {total:.2f}")
print(f"Desconto (10%): R$ {desconto:.2f}")
print(f"Valor final: R$ {total_final:.2f}")
else:
print(f"\nValor total: R$ {total:.2f}")
Sua base lógica está muito sólida, Henrique! Dominar o fluxo de repetição e decisão é o passo mais importante para qualquer pessoa que deseja mergulhar na programação.
Espero que possa ter lhe ajudado!
Uma pergunta para refletirmos: Se a regra mudasse e o desconto só fosse aplicado para compras acima de R$ 50,00, onde você adicionaria essa nova condição no seu código?