Faça um programa que solicite o total gasto por um cliente em uma loja, imprima as opções de pagamento, solicite a opção desejada e imprima o valor total das prestações (se houver)
a. Opção à vista, com
de desconto
b. Opção em duas vezes (popular preço da etiqueta)
c. Opção parcelada, de 3 até 10 vezes, com
de juros (compostos) ao mês, somente para compras acima de R$ 100,00
a. Opção à vista, com
b. Opção em duas vezes (popular preço da etiqueta)
c. Opção parcelada, de 3 até 10 vezes, com
Passo 1
Beleza, então o que a gente precisa fazer é escrever um programinha que:
- peça pro cliente digitar quanto ele gastou;
- mostre umas opções de pagamento (à vista, 2x sem juros ou de 3 a 10x com juros);
- pergunte qual opção ele quer;
- calcule o valor final (e as parcelas, se for o caso).
Conteúdo envolvido:
- Porcentagem (pra calcular desconto de 10%);
- Juros compostos (pra calcular 3% ao mês em até 10 vezes);
- Estruturas condicionais (if/elif) e laço de repetição (for) pra gerar todas as opções de parcelamento.
O que vamos precisar saber:
- Fórmula do desconto: se o preço é
, o preço com 10% de desconto é - Fórmula de juros compostos: se o preço é
, a taxa mensal é e o número de parcelas é , o montante é
Depois é só dividir
por
pra achar o valor de cada parcela.
Passo 2
Vamos ler o valor gasto pelo cliente, chamar isso de
valor_total
.Exemplo em Python (só pra gente entender):
valor_total = float(input("Digite o total gasto (R$): "))
Passo 3
Mostrar as opções de pagamento:
a) À vista, 10% de desconto
b) Em 2x, sem juros
c) De 3x até 10x, com 3% de juros compostos ao mês (só se
a) À vista, 10% de desconto
b) Em 2x, sem juros
c) De 3x até 10x, com 3% de juros compostos ao mês (só se
valor_total > 100
)Em código:
print("Opções de pagamento:")
print("1 - À vista (10% de desconto)")
print("2 - 2x sem juros")
print("3 - 3x a 10x com 3% de juros (se > R$100)")
opcao = int(input("Escolha a opção: "))
Passo 4
Tratar a opção 1 e a opção 2:
- Se a opção for 1 (à vista):
- Se a opção for 2 (2x sem juros):
Em Python:
if opcao == 1:
valor_final = valor_total * (1 - 0.10)
print(f"Valor à vista: R${valor_final:.2f}")
elif opcao == 2:
parcela2 = valor_total / 2
print(f"2x de R${parcela2:.2f} (total R${valor_total:.2f})")
Passo 5
Tratar a opção 3 (parcelamento de 3 a 10 vezes com juros compostos):
- Primeiro verifica se
valor_total > 100
. Se não, informa que não pode. - Se pode, faz um loop de
n = 3
até10
e calcula: - Mostra para cada
n
quanto vai ficar a parcela e o total.
Em Python:
elif opcao == 3:
if valor_total <= 100:
print("Parcelamento com juros só para compras acima de R$100")
else:
for n in range(3, 11): # de 3 até 10
montante = valor_total * (1 + 0.03)**n
parcela = montante / n
print(f"{n}x de R${parcela:.2f} (total R${montante:.2f})")
Passo 6
Tratar caso o usuário digite uma opção inválida (nem 1, nem 2, nem 3):
else:
print("Opção inválida, escolha 1, 2 ou 3.")
Resposta
Aqui está o programa completo em Python, juntando tudo:
valor_total = float(input("Digite o total gasto (R$): "))
print("Opções de pagamento:")
print("1 - À vista (10% de desconto)")
print("2 - 2x sem juros")
print("3 - 3x a 10x com 3% de juros (se > R$100)")
opcao = int(input("Escolha a opção: "))
if opcao == 1:
# Desconto de 10%
valor_final = valor_total * (1 - 0.10)
print(f"Valor à vista: R${valor_final:.2f}")
elif opcao == 2:
# 2x sem juros
parcela2 = valor_total / 2
print(f"2x de R${parcela2:.2f} (total R${valor_total:.2f})")
elif opcao == 3:
# Parcelamento com juros compostos de 3% ao mês
if valor_total <= 100:
print("Parcelamento com juros só para compras acima de R$100")
else:
for n in range(3, 11): # de 3 até 10
# M = P * (1 + i)^n
montante = valor_total * (1 + 0.03)**n
parcela = montante / n
print(f"{n}x de R${parcela:.2f} (total R${montante:.2f})")
else:
print("Opção inválida, escolha 1, 2 ou 3.")