Introducción
En este laboratorio, aprenderás a calcular pagos hipotecarios utilizando el lenguaje de programación C. El laboratorio cubre los pasos esenciales, incluyendo la lectura del monto principal, la tasa de interés y el número de pagos, y luego la aplicación de la fórmula de cálculo de pagos hipotecarios para determinar el pago mensual. Al final de este laboratorio, tendrás un programa C funcional que puede calcular pagos hipotecarios basados en la entrada del usuario.
El laboratorio recorre el proceso completo, desde la creación de un nuevo archivo C hasta la implementación del cálculo de pagos e impresión del resultado. Este ejercicio práctico te ayudará a desarrollar tus habilidades en matemáticas financieras y cálculos de interés utilizando la programación en C.
Leer el Capital, la Tasa y el Número de Pagos
En este paso, aprenderemos a leer las entradas esenciales para calcular los pagos hipotecarios: el capital principal, la tasa de interés y el número de pagos.
Primero, creemos un nuevo archivo C para nuestra calculadora de pagos hipotecarios:
cd ~/project
nano mortgage_calculator.c
Ahora, escribamos el código para leer los valores de entrada:
#include <stdio.h>
int main() {
double principal, rate;
int num_payments;
// Solicitar e ingresar el capital principal
printf("Ingrese el capital principal del préstamo: ");
scanf("%lf", &principal);
// Solicitar e ingresar la tasa de interés anual (como decimal)
printf("Ingrese la tasa de interés anual (como decimal): ");
scanf("%lf", &rate);
// Solicitar e ingresar el número total de pagos
printf("Ingrese el número total de pagos: ");
scanf("%d", &num_payments);
// Imprimir los valores de entrada para verificarlos
printf("\nDetalles del Préstamo:\n");
printf("Capital: $%.2f\n", principal);
printf("Tasa de Interés Anual: %.2f%%\n", rate * 100);
printf("Número de Pagos: %d\n", num_payments);
return 0;
}
Compile y ejecuta el programa:
gcc mortgage_calculator.c -o mortgage_calculator
./mortgage_calculator
Salida de ejemplo:
Ingrese el capital principal del préstamo: 200000
Ingrese la tasa de interés anual (como decimal): 0.05
Ingrese el número total de pagos: 360
Detalles del Préstamo:
Capital: $200000.00
Tasa de Interés Anual: 5.00%
Número de Pagos: 360
Desglose del código:
- Usamos
doublepara el capital y la tasa para manejar valores decimales. scanf()se utiliza para leer las entradas del usuario.- El especificador de formato
%lfse utiliza para valoresdouble. %dse utiliza para el número entero de pagos.- Imprimimos las entradas para verificar que se capturaron correctamente.
Pago = P*(R*(1+R)^N)/((1+R)^N -1)
En este paso, implementaremos la fórmula de cálculo de pagos hipotecarios utilizando las entradas del paso anterior.
Modifiquemos el archivo mortgage_calculator.c existente:
cd ~/project
nano mortgage_calculator.c
Actualiza el código para calcular el pago mensual:
#include <stdio.h>
#include <math.h>
double calculate_mortgage_payment(double principal, double rate, int num_payments) {
// Tasa de interés mensual
double monthly_rate = rate / 12;
// Calcular el pago utilizando la fórmula hipotecaria
double payment = principal *
(monthly_rate * pow(1 + monthly_rate, num_payments)) /
(pow(1 + monthly_rate, num_payments) - 1);
return payment;
}
int main() {
double principal, rate;
int num_payments;
// Solicitar e ingresar el capital principal
printf("Ingrese el capital principal del préstamo: ");
scanf("%lf", &principal);
// Solicitar e ingresar la tasa de interés anual (como decimal)
printf("Ingrese la tasa de interés anual (como decimal): ");
scanf("%lf", &rate);
// Solicitar e ingresar el número total de pagos
printf("Ingrese el número total de pagos: ");
scanf("%d", &num_payments);
// Calcular el pago mensual
double monthly_payment = calculate_mortgage_payment(principal, rate, num_payments);
// Imprimir los valores de entrada y el pago calculado
printf("\nDetalles del Préstamo:\n");
printf("Capital: $%.2f\n", principal);
printf("Tasa de Interés Anual: %.2f%%\n", rate * 100);
printf("Número de Pagos: %d\n", num_payments);
printf("Pago Mensual: $%.2f\n", monthly_payment);
return 0;
}
Compila el programa con la biblioteca matemática:
gcc mortgage_calculator.c -o mortgage_calculator -lm
Ejecuta el programa:
./mortgage_calculator
Salida de ejemplo:
Ingrese el capital principal del préstamo: 200000
Ingrese la tasa de interés anual (como decimal): 0.05
Ingrese el número total de pagos: 360
Detalles del Préstamo:
Capital: $200000.00
Tasa de Interés Anual: 5.00%
Número de Pagos: 360
Pago Mensual: $1073.64
Puntos clave sobre la fórmula de pago hipotecario:
Pes el capital del préstamo.Res la tasa de interés mensual (tasa anual dividida por 12).Nes el número total de pagos.- La función
pow()de<math.h>se utiliza para calcular exponentes. - Se compila con
-lmpara enlazar la biblioteca matemática.
Imprimir el Pago
En este paso final, mejoraremos nuestra calculadora hipotecaria para proporcionar un desglose detallado del pago y formatear la salida para una mejor legibilidad.
Modifiquemos el archivo mortgage_calculator.c para agregar información de pago más completa:
cd ~/project
nano mortgage_calculator.c
Actualiza el código con una impresión de pago mejorada:
#include <stdio.h>
#include <math.h>
double calculate_mortgage_payment(double principal, double rate, int num_payments) {
// Tasa de interés mensual
double monthly_rate = rate / 12;
// Calcular el pago utilizando la fórmula hipotecaria
double payment = principal *
(monthly_rate * pow(1 + monthly_rate, num_payments)) /
(pow(1 + monthly_rate, num_payments) - 1);
return payment;
}
void print_payment_details(double principal, double rate, int num_payments, double monthly_payment) {
double total_payment = monthly_payment * num_payments;
double total_interest = total_payment - principal;
printf("\n--- Desglose del Pago Hipotecario ---\n");
printf("Capital del Préstamo: $%10.2f\n", principal);
printf("Tasa de Interés Anual: %10.2f%%\n", rate * 100);
printf("Número Total de Pagos: %d\n", num_payments);
printf("Pago Mensual: $%10.2f\n", monthly_payment);
printf("Pagos Totales: $%10.2f\n", total_payment);
printf("Intereses Totales Pagados: $%10.2f\n", total_interest);
}
int main() {
double principal, rate;
int num_payments;
// Solicitar e ingresar el capital principal
printf("Ingrese el capital principal del préstamo: ");
scanf("%lf", &principal);
// Solicitar e ingresar la tasa de interés anual (como decimal)
printf("Ingrese la tasa de interés anual (como decimal): ");
scanf("%lf", &rate);
// Solicitar e ingresar el número total de pagos
printf("Ingrese el número total de pagos: ");
scanf("%d", &num_payments);
// Calcular el pago mensual
double monthly_payment = calculate_mortgage_payment(principal, rate, num_payments);
// Imprimir información detallada del pago
print_payment_details(principal, rate, num_payments, monthly_payment);
return 0;
}
Compila el programa:
gcc mortgage_calculator.c -o mortgage_calculator -lm
Ejecuta el programa:
./mortgage_calculator
Salida de ejemplo:
Ingrese el capital principal del préstamo: 200000
Ingrese la tasa de interés anual (como decimal): 0.05
Ingrese el número total de pagos: 360
--- Desglose del Pago Hipotecario ---
Capital del Préstamo: $ 200000.00
Tasa de Interés Anual: 5.00%
Número Total de Pagos: 360
Pago Mensual: $ 1073.64
Pagos Totales: $ 386510.40
Intereses Totales Pagados: $ 186510.40
Mejoras clave:
- Se agregó una nueva función
print_payment_details()para una salida formateada. - Se calculan los pagos totales y los intereses totales.
- Se utiliza el formato para alinear los valores decimales.
- Se proporciona un desglose claro y legible de los detalles de la hipoteca.
Resumen
En este laboratorio, aprendimos a leer las entradas esenciales para calcular los pagos de una hipoteca, incluyendo el capital principal, la tasa de interés y el número de pagos. Luego, implementamos la fórmula de cálculo del pago hipotecario utilizando estas entradas para calcular el monto del pago mensual. Finalmente, imprimimos el pago calculado para mostrar el resultado.
Los pasos clave cubiertos en este laboratorio son: leer el capital principal, la tasa y el número de pagos de la entrada del usuario, y luego aplicar la fórmula de pago hipotecario para calcular el pago mensual. El programa asegura que las entradas se capturan correctamente y proporciona una salida clara de los detalles del préstamo y el pago calculado.



