Calcular el Valor Presente de una Cantidad Futura en C

CBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderás a calcular el valor presente de una cantidad futura utilizando el lenguaje de programación C. El laboratorio cubre los pasos esenciales, incluyendo la lectura de los parámetros financieros (valor futuro, tasa de interés y período de tiempo), y luego la aplicación de la fórmula del valor presente para calcular el valor presente. El laboratorio proporciona una guía paso a paso con ejemplos de código para ayudarte a comprender e implementar el cálculo del valor presente en C.

El laboratorio demuestra cómo usar la función scanf() para leer las entradas del usuario, almacenarlas como números de punto flotante de doble precisión y luego realizar el cálculo del valor presente utilizando la fórmula: Valor Presente (VP) = Valor Futuro (VF) / (1 + Tasa)^Tiempo. El valor presente calculado se imprime luego en la consola, permitiéndote ver el resultado del cálculo.

Leer Valor Futuro, Tasa e Intervalo de Tiempo

En este paso, aprenderás a leer los parámetros financieros esenciales para calcular el valor presente: Valor Futuro, Tasa de Interés y Periodo de Tiempo.

Primero, crea un nuevo archivo C para el cálculo del valor presente:

cd ~/project
nano present_value.c

Ahora, escribamos el código para leer los valores de entrada:

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

int main() {
    double valor_futuro, tasa, tiempo;

    printf("Ingrese el Valor Futuro: ");
    scanf("%lf", &valor_futuro);

    printf("Ingrese la Tasa de Interés Anual (en decimal): ");
    scanf("%lf", &tasa);

    printf("Ingrese el Periodo de Tiempo (en años): ");
    scanf("%lf", &tiempo);

    printf("Entradas:\n");
    printf("Valor Futuro: %.2f\n", valor_futuro);
    printf("Tasa de Interés: %.2f%%\n", tasa * 100);
    printf("Periodo de Tiempo: %.2f años\n", tiempo);

    return 0;
}

Compila el programa:

gcc -o present_value present_value.c -lm

Ejemplo de salida al ejecutar el programa:

Ingrese el Valor Futuro: 1000
Ingrese la Tasa de Interés Anual (en decimal): 0.05
Ingrese el Periodo de Tiempo (en años): 3
Entradas:
Valor Futuro: 1000.00
Tasa de Interés: 5.00%
Periodo de Tiempo: 3.00 años

Este código demuestra cómo:

  • Usar scanf() para leer las entradas del usuario para el valor futuro, la tasa de interés y el periodo de tiempo.
  • Almacenar las entradas como números de punto flotante de doble precisión.
  • Imprimir los valores ingresados para confirmar la entrada correcta.

PV = FV/(1+R)^T

En este paso, implementarás el cálculo del valor presente utilizando la fórmula financiera: Valor Presente (VP) = Valor Futuro (VF) / (1 + Tasa)^Tiempo.

Modifica el archivo present_value.c anterior para incluir el cálculo:

nano ~/project/present_value.c

Actualiza el código con el cálculo del valor presente:

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

int main() {
    double valor_futuro, tasa, tiempo, valor_presente;

    printf("Ingrese el Valor Futuro: ");
    scanf("%lf", &valor_futuro);

    printf("Ingrese la Tasa de Interés Anual (en decimal): ");
    scanf("%lf", &tasa);

    printf("Ingrese el Periodo de Tiempo (en años): ");
    scanf("%lf", &tiempo);

    // Calcular el Valor Presente
    valor_presente = valor_futuro / pow((1 + tasa), tiempo);

    printf("\nResultados del Cálculo:\n");
    printf("Valor Futuro: %.2f\n", valor_futuro);
    printf("Tasa de Interés: %.2f%%\n", tasa * 100);
    printf("Periodo de Tiempo: %.2f años\n", tiempo);
    printf("Valor Presente: %.2f\n", valor_presente);

    return 0;
}

Compila y ejecuta el programa actualizado:

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

Ejemplo de salida:

Ingrese el Valor Futuro: 1000
Ingrese la Tasa de Interés Anual (en decimal): 0.05
Ingrese el Periodo de Tiempo (en años): 3

Resultados del Cálculo:
Valor Futuro: 1000.00
Tasa de Interés: 5.00%
Periodo de Tiempo: 3.00 años
Valor Presente: 862.07

Puntos clave de este código:

  • Usar la función pow() de <math.h> para calcular (1 + tasa)^tiempo.
  • Implementar la fórmula del valor presente: VP = VF / (1 + R)^T.
  • Mostrar los resultados detallados del cálculo.

Imprimir Valor Presente

En este paso, mejorarás el programa de cálculo del valor presente añadiendo una salida formateada y manejo de errores para una mejor experiencia de usuario.

Actualiza el archivo present_value.c con una mejor formatación y validación:

nano ~/project/present_value.c

Modifica el código para incluir una mejor formatación de la salida:

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

int main() {
    double valor_futuro, tasa, tiempo, valor_presente;

    // Validación de entrada
    printf("Calculadora de Valor Presente\n");
    printf("-----------------------------\n");

    printf("Ingrese el Valor Futuro (debe ser positivo): ");
    if (scanf("%lf", &valor_futuro) != 1 || valor_futuro <= 0) {
        printf("Error: Valor futuro inválido. Ingrese un número positivo.\n");
        return 1;
    }

    printf("Ingrese la Tasa de Interés Anual (en decimal, ej. 0.05 para 5%): ");
    if (scanf("%lf", &tasa) != 1 || tasa < 0) {
        printf("Error: Tasa de interés inválida. Ingrese un número no negativo.\n");
        return 1;
    }

    printf("Ingrese el Periodo de Tiempo (en años, debe ser positivo): ");
    if (scanf("%lf", &tiempo) != 1 || tiempo <= 0) {
        printf("Error: Periodo de tiempo inválido. Ingrese un número positivo.\n");
        return 1;
    }

    // Calcular el Valor Presente
    valor_presente = valor_futuro / pow((1 + tasa), tiempo);

    // Salida formateada
    printf("\n--- Cálculo del Valor Presente ---\n");
    printf("Valor Futuro:     $%.2f\n", valor_futuro);
    printf("Tasa Anual:      %.2f%%\n", tasa * 100);
    printf("Periodo de Tiempo: %.2f años\n", tiempo);
    printf("Valor Presente:    $%.2f\n", valor_presente);

    return 0;
}

Compila y ejecuta el programa actualizado:

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

Ejemplo de salida:

Calculadora de Valor Presente
-----------------------------
Ingrese el Valor Futuro (debe ser positivo): 1000
Ingrese la Tasa de Interés Anual (en decimal, ej. 0.05 para 5%): 0.05
Ingrese el Periodo de Tiempo (en años, debe ser positivo): 3

--- Cálculo del Valor Presente ---
Valor Futuro:     $1000.00
Tasa Anual:      5.00%
Periodo de Tiempo: 3.00 años
Valor Presente:    $862.07

Mejoras clave:

  • Se añadió validación de entrada para evitar entradas inválidas.
  • Se mejoró la formatación de la salida con etiquetas claras.
  • Se mejoró el manejo de errores para las entradas del usuario.
  • Se añadieron indicaciones descriptivas y un resumen del cálculo.

Resumen

En este laboratorio, aprenderás a leer los parámetros financieros esenciales para calcular el valor presente, incluyendo el Valor Futuro, la Tasa de Interés y el Periodo de Tiempo. Luego, implementarás el cálculo del valor presente utilizando la fórmula financiera: Valor Presente (VP) = Valor Futuro (VF) / (1 + Tasa)^Tiempo. El laboratorio demuestra cómo usar programación en C para solicitar al usuario la entrada, realizar el cálculo y mostrar el valor presente resultante.