Escreva um programa que solicita ao usuário um montante inicial de investimento (vp), uma taxa de juros anual (i) e o número de anos (n) que durará esse investimento. O programa deverá imprimir na tela o valor futuro (
) do investimento. Considere a seguinte fórmula:
-
Observação: as mensagens exibidas para o usuário deverão ser exatamente como apresentado abaixo (mensagens exibidas com os comandos input() e print()).
Exemplo 1 de execução do programa:
Digite o valor do investimento inicial: 10000.0
Digite a taxa de juros anual: 3.5
Digite o período do investimento em anos: 7
Valor futuro: 12722.79
Exemplo 2 de execução do programa:
Digite o valor do investimento inicial: 4030.50
Digite a taxa de juros anual: 2.0
Digite o período do investimento em anos: 3
Valor futuro: 4277.20
Digite a taxa de juros anual: 3.5
Digite o período do investimento em anos: 7
Valor futuro: 12722.79
Digite a taxa de juros anual: 2.0
Digite o período do investimento em anos: 3
Valor futuro: 4277.20
Passo 1
O enunciado pede um programa que leia do usuário três valores e calcule o valor futuro do investimento usando uma fórmula de juros compostos. Especificamente, o que é pedido:
- Ler o montante inicial de investimento, que chamaremos de
. - Ler a taxa de juros anual, que chamaremos de
(em porcentagem). - Ler o número de anos do investimento, que chamaremos de
. - Calcular e exibir o valor futuro
usando a fórmula fornecida.
As mensagens exibidas ao usuário devem ser exatamente estas (essas strings serão passadas para as chamadas de
input() e print()):- Para ler o investimento inicial: "Digite o valor do investimento inicial: "
- Para ler a taxa anual: "Digite a taxa de juros anual: "
- Para ler o período em anos: "Digite o período do investimento em anos: "
- Para exibir o resultado: "Valor futuro: " seguido do número formatado com duas casas decimais
Passo 2
Entender a fórmula e as variáveis. A fórmula dada é:
Explicando cada símbolo:
-
é o valor presente, isto é, o montante inicial investido. -
é a taxa de juros anual, expressa em porcentagem (por exemplo, para 3,5% usar ). -
é o fator para converter porcentagem em decimal (porque em decimal). -
é o número de anos que o investimento ficará aplicado. -
é o valor futuro após anos com capitalização composta anual.
Interpretação em palavras: multiplicar o valor inicial por um fator que cresce cada ano; esse fator é
e ele é elevado a
porque os juros são compostos anualmente.
Passo 3
Como aplicar isso em cálculo passo a passo (intuição numérica):
- Converter a taxa percentual
para decimal dividindo por : isto é ou, na fórmula, . - Somar 1 para obter o fator anual:
. - Elevar esse fator à potência
: . A potência significa multiplicar o fator por ele mesmo vezes. - Finalmente multiplicar por
para obter .
Exemplo numérico rápido (só para entender): se
,
e
, então o fator anual é
. Elevando a
:
. Multiplicando por
dá
.
Passo 4
Como implementar isso em Python (detalhes didáticos sobre cada construção):
input(prompt)lê uma string do usuário exibindoprompt. As instruções pedem que opromptseja exatamente as strings do Passo 1.float(...)converte uma string para número de ponto flutuante; usar parae porque podem ter casas decimais. int(...)(oufloat(...)) pode ser usado para. Como o número de anos costuma ser inteiro, convertemos para int.- O operador de potência em Python é
**, então(1 + (i * 0.01)) ** ncalcula a potência. - Para apresentar o resultado com exatamente duas casas decimais (como nos exemplos), usar formatação:
f"{vf:.2f}"ou"{:.2f}".format(vf).
Vamos ver linha a linha (explicando o que cada linha faz):
vp = float(input("Digite o valor do investimento inicial: "))
-> mostra a mensagem pedida, lê a entrada, e converte parafloatarmazenando emvp(que corresponde a). i = float(input("Digite a taxa de juros anual: "))
-> lê a taxa anual em porcentagem e guarda emi.n = int(input("Digite o período do investimento em anos: "))
-> lê o número de anos e converte para inteiro.vf = vp * (1 + (i * 0.01)) ** n
-> aplica exatamente a fórmula. print(f"Valor futuro: {vf:.2f}")
-> imprime a mensagem final com o número formatado com duas casas decimais, garantindo que aparecerá como nos exemplos.
Passo 5
Observações práticas e cuidados na prova:
- Tome cuidado com a conversão de tipos: se esquecer de converter o resultado de
input()para número, o programa tentará fazer operações com strings e dará erro. - Use
floatpara as quantias e taxa para aceitar números com casas decimais; useintpara anos se o enunciado garantir anos inteiros. - Para garantir a formatação de saída exatamente como no enunciado, use
"{:.2f}".format(vf)ouf"{vf:.2f}"— isso sempre mostra duas casas, mesmo quando terminam em zero (por exemplo4277.20).
Passo 6
Verificação rápida com os exemplos do enunciado usando o programa (resultados esperados):
- Exemplo 1: entrada
, , -> saída Valor futuro: 12722.79 - Exemplo 2: entrada
, , -> saída Valor futuro: 4277.20
Esses valores concordam com os exemplos fornecidos, mostrando que a implementação segue a fórmula corretamente e a formatação de saída está adequada.
Resposta
vp = float(input("Digite o valor do investimento inicial: "))
i = float(input("Digite a taxa de juros anual: "))
n = int(input("Digite o período do investimento em anos: “))
vf = vp * (1 + (i * 0.01)) ** n
print(f"Valor futuro: {vf:.2f}”)
i = float(input("Digite a taxa de juros anual: "))
n = int(input("Digite o período do investimento em anos: “))
vf = vp * (1 + (i * 0.01)) ** n
print(f"Valor futuro: {vf:.2f}”)