Calcular o Valor Presente de um Valor Futuro em C

CBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a calcular o valor presente de um valor futuro usando a programação em C. O laboratório cobre os passos essenciais, incluindo a leitura dos parâmetros financeiros (valor futuro, taxa de juros e período de tempo), e, em seguida, a aplicação da fórmula do valor presente para calcular o valor presente. O laboratório fornece um guia passo a passo com exemplos de código para ajudá-lo a entender e implementar o cálculo do valor presente em C.

O laboratório demonstra como usar a função scanf() para ler as entradas do usuário, armazená-las como números de ponto flutuante de precisão dupla e, em seguida, realizar o cálculo do valor presente usando a fórmula: Valor Presente (VP) = Valor Futuro (VF) / (1 + Taxa)^Tempo. O valor presente calculado é então impresso no console, permitindo que você veja o resultado do cálculo.

Ler Valor Futuro, Taxa e Tempo

Neste passo, você aprenderá a ler os parâmetros financeiros essenciais para calcular o valor presente: Valor Futuro, Taxa de Juros e Período de Tempo.

Primeiro, crie um novo arquivo C para o cálculo do valor presente:

cd ~/project
nano present_value.c

Agora, vamos escrever o código para ler os valores de entrada:

#include <stdio.h>
#include <math.h>

int main() {
    double valor_futuro, taxa, tempo;

    printf("Digite o Valor Futuro: ");
    scanf("%lf", &valor_futuro);

    printf("Digite a Taxa de Juros Anual (em decimal): ");
    scanf("%lf", &taxa);

    printf("Digite o Período de Tempo (em anos): ");
    scanf("%lf", &tempo);

    printf("Entradas:\n");
    printf("Valor Futuro: %.2f\n", valor_futuro);
    printf("Taxa de Juros: %.2f%%\n", taxa * 100);
    printf("Período de Tempo: %.2f anos\n", tempo);

    return 0;
}

Compile o programa:

gcc -o present_value present_value.c -lm

Exemplo de saída ao executar o programa:

Digite o Valor Futuro: 1000
Digite a Taxa de Juros Anual (em decimal): 0.05
Digite o Período de Tempo (em anos): 3
Entradas:
Valor Futuro: 1000.00
Taxa de Juros: 5.00%
Período de Tempo: 3.00 anos

Este código demonstra como:

  • Usar scanf() para ler as entradas do usuário para o valor futuro, taxa de juros e período de tempo
  • Armazenar as entradas como números de ponto flutuante de precisão dupla
  • Imprimir os valores inseridos para confirmar a entrada correta

PV = FV/(1+R)^T

Neste passo, você implementará o cálculo do valor presente usando a fórmula financeira: Valor Presente (VP) = Valor Futuro (VF) / (1 + Taxa)^Tempo.

Modifique o arquivo present_value.c anterior para incluir o cálculo:

nano ~/project/present_value.c

Atualize o código com o cálculo do valor presente:

#include <stdio.h>
#include <math.h>

int main() {
    double valor_futuro, taxa, tempo, valor_presente;

    printf("Digite o Valor Futuro: ");
    scanf("%lf", &valor_futuro);

    printf("Digite a Taxa de Juros Anual (em decimal): ");
    scanf("%lf", &taxa);

    printf("Digite o Período de Tempo (em anos): ");
    scanf("%lf", &tempo);

    // Calcular o Valor Presente
    valor_presente = valor_futuro / pow((1 + taxa), tempo);

    printf("\nResultados do Cálculo:\n");
    printf("Valor Futuro: %.2f\n", valor_futuro);
    printf("Taxa de Juros: %.2f%%\n", taxa * 100);
    printf("Período de Tempo: %.2f anos\n", tempo);
    printf("Valor Presente: %.2f\n", valor_presente);

    return 0;
}

Compile e execute o programa atualizado:

gcc -o present_value present_value.c -lm
./present_value

Exemplo de saída:

Digite o Valor Futuro: 1000
Digite a Taxa de Juros Anual (em decimal): 0.05
Digite o Período de Tempo (em anos): 3

Resultados do Cálculo:
Valor Futuro: 1000.00
Taxa de Juros: 5.00%
Período de Tempo: 3.00 anos
Valor Presente: 862.07

Pontos-chave neste código:

  • Usar a função pow() de <math.h> para calcular (1 + taxa)^tempo
  • Implementar a fórmula do valor presente: VP = VF / (1 + R)^T
  • Exibir resultados detalhados do cálculo

Imprimir Valor Presente

Neste passo, você aprimorará o programa de cálculo de valor presente adicionando saída formatada e tratamento de erros para melhorar a experiência do usuário.

Atualize o arquivo present_value.c com formatação e validação aprimoradas:

nano ~/project/present_value.c

Modifique o código para incluir uma melhor formatação de saída:

#include <stdio.h>
#include <math.h>

int main() {
    double valor_futuro, taxa, tempo, valor_presente;

    // Validação de entrada
    printf("Calculadora de Valor Presente\n");
    printf("-----------------------------\n");

    printf("Digite o Valor Futuro (deve ser positivo): ");
    if (scanf("%lf", &valor_futuro) != 1 || valor_futuro <= 0) {
        printf("Erro: Valor futuro inválido. Por favor, digite um número positivo.\n");
        return 1;
    }

    printf("Digite a Taxa de Juros Anual (em decimal, ex.: 0.05 para 5%): ");
    if (scanf("%lf", &taxa) != 1 || taxa < 0) {
        printf("Erro: Taxa de juros inválida. Por favor, digite um número não negativo.\n");
        return 1;
    }

    printf("Digite o Período de Tempo (em anos, deve ser positivo): ");
    if (scanf("%lf", &tempo) != 1 || tempo <= 0) {
        printf("Erro: Período de tempo inválido. Por favor, digite um número positivo.\n");
        return 1;
    }

    // Calcular o Valor Presente
    valor_presente = valor_futuro / pow((1 + taxa), tempo);

    // Saída formatada
    printf("\n--- Cálculo do Valor Presente ---\n");
    printf("Valor Futuro:     R$%.2f\n", valor_futuro);
    printf("Taxa Anual:      %.2f%%\n", taxa * 100);
    printf("Período de Tempo: %.2f anos\n", tempo);
    printf("Valor Presente:    R$%.2f\n", valor_presente);

    return 0;
}

Compile e execute o programa atualizado:

gcc -o present_value present_value.c -lm
./present_value

Exemplo de saída:

Calculadora de Valor Presente
-----------------------------
Digite o Valor Futuro (deve ser positivo): 1000
Digite a Taxa de Juros Anual (em decimal, ex.: 0.05 para 5%): 0.05
Digite o Período de Tempo (em anos, deve ser positivo): 3

--- Cálculo do Valor Presente ---
Valor Futuro:     R$1000.00
Taxa Anual:      5.00%
Período de Tempo: 3.00 anos
Valor Presente:    R$862.07

Melhorias-chave:

  • Adição de validação de entrada para evitar entradas inválidas.
  • Formatação de saída aprimorada com rótulos claros.
  • Tratamento de erros aprimorado para entradas do usuário.
  • Prompts descritivos e resumo do cálculo adicionados.

Resumo

Neste laboratório, você aprenderá a ler os parâmetros financeiros essenciais para calcular o valor presente, incluindo o Valor Futuro, a Taxa de Juros e o Período de Tempo. Em seguida, implementará o cálculo do valor presente usando a fórmula financeira: Valor Presente (VP) = Valor Futuro (VF) / (1 + Taxa)^Tempo. O laboratório demonstra como usar a programação em C para solicitar a entrada do usuário, realizar o cálculo e exibir o valor presente resultante.