Introdução
Neste laboratório, você aprenderá a calcular prestações de hipoteca usando a linguagem C. O laboratório cobre os passos essenciais, incluindo a leitura do valor principal, da taxa de juros e do número de prestações, e, em seguida, a aplicação da fórmula de cálculo de prestações de hipoteca para determinar a prestação mensal. No final deste laboratório, você terá um programa C funcional que pode calcular prestações de hipoteca com base na entrada do utilizador.
O laboratório percorre todo o processo, desde a criação de um novo ficheiro C até à implementação do cálculo da prestação e à impressão do resultado. Este exercício prático ajudará a desenvolver as suas competências em matemática financeira e cálculos de juros usando a programação C.
Ler o Capital Inicial, Taxa e Número de Prestações
Neste passo, aprenderemos a ler as entradas essenciais para calcular as prestações de uma hipoteca: o valor principal, a taxa de juro e o número de prestações.
Primeiro, vamos criar um novo ficheiro C para a nossa calculadora de prestações de hipoteca:
cd ~/project
nano mortgage_calculator.c
Agora, vamos escrever o código para ler os valores de entrada:
#include <stdio.h>
int main() {
double principal, taxa;
int num_prestacoes;
// Solicitar e ler o valor principal
printf("Introduza o valor principal do empréstimo: ");
scanf("%lf", &principal);
// Solicitar e ler a taxa de juro anual (como um decimal)
printf("Introduza a taxa de juro anual (como um decimal): ");
scanf("%lf", &taxa);
// Solicitar e ler o número de prestações
printf("Introduza o número total de prestações: ");
scanf("%d", &num_prestacoes);
// Imprimir os valores de entrada para verificar
printf("\nDetalhes do Empréstimo:\n");
printf("Capital Inicial: $%.2f\n", principal);
printf("Taxa de Juro Anual: %.2f%%\n", taxa * 100);
printf("Número de Prestações: %d\n", num_prestacoes);
return 0;
}
Compilar e executar o programa:
gcc mortgage_calculator.c -o mortgage_calculator
./mortgage_calculator
Exemplo de saída:
Introduza o valor principal do empréstimo: 200000
Introduza a taxa de juro anual (como um decimal): 0.05
Introduza o número total de prestações: 360
Detalhes do Empréstimo:
Capital Inicial: $200000.00
Taxa de Juro Anual: 5.00%
Número de Prestações: 360
Vamos decompor o código:
- Usamos
doublepara o capital inicial e a taxa para lidar com valores decimais scanf()é usado para ler as entradas do utilizador- O especificador de formato
%lfé usado para valoresdouble %dé usado para o número inteiro de prestações- Imprimimos as entradas para verificar se foram capturadas corretamente
Pagamento = P*(R*(1+R)^N)/((1+R)^N -1)
Neste passo, iremos implementar a fórmula de cálculo de prestações de hipoteca utilizando as entradas do passo anterior.
Vamos modificar o ficheiro mortgage_calculator.c existente:
cd ~/project
nano mortgage_calculator.c
Atualize o código para calcular a prestação mensal:
#include <stdio.h>
#include <math.h>
double calculate_mortgage_payment(double principal, double rate, int num_payments) {
// Taxa de juro mensal
double monthly_rate = rate / 12;
// Calcular o pagamento usando a fórmula da hipoteca
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 ler o valor principal
printf("Introduza o valor principal do empréstimo: ");
scanf("%lf", &principal);
// Solicitar e ler a taxa de juro anual (como um decimal)
printf("Introduza a taxa de juro anual (como um decimal): ");
scanf("%lf", &rate);
// Solicitar e ler o número de prestações
printf("Introduza o número total de prestações: ");
scanf("%d", &num_payments);
// Calcular a prestação mensal
double monthly_payment = calculate_mortgage_payment(principal, rate, num_payments);
// Imprimir os valores de entrada e o pagamento calculado
printf("\nDetalhes do Empréstimo:\n");
printf("Capital Inicial: $%.2f\n", principal);
printf("Taxa de Juro Anual: %.2f%%\n", rate * 100);
printf("Número de Prestações: %d\n", num_payments);
printf("Prestação Mensal: $%.2f\n", monthly_payment);
return 0;
}
Compile o programa com a biblioteca matemática:
gcc mortgage_calculator.c -o mortgage_calculator -lm
Execute o programa:
./mortgage_calculator
Exemplo de saída:
Introduza o valor principal do empréstimo: 200000
Introduza a taxa de juro anual (como um decimal): 0.05
Introduza o número total de prestações: 360
Detalhes do Empréstimo:
Capital Inicial: $200000.00
Taxa de Juro Anual: 5.00%
Número de Prestações: 360
Prestação Mensal: $1073.64
Pontos chave sobre a fórmula de cálculo de prestações de hipoteca:
Pé o valor principal do empréstimoRé a taxa de juro mensal (taxa anual dividida por 12)Né o número total de prestações- A função
pow()da biblioteca<math.h>é usada para calcular expoentes - Compilamos com
-lmpara ligar a biblioteca matemática
Imprimir o Pagamento
Neste passo final, iremos melhorar a nossa calculadora de hipotecas para fornecer uma análise detalhada do pagamento e formatar a saída para melhor legibilidade.
Vamos modificar o ficheiro mortgage_calculator.c para adicionar informações mais abrangentes sobre o pagamento:
cd ~/project
nano mortgage_calculator.c
Atualize o código com a impressão melhorada do pagamento:
#include <stdio.h>
#include <math.h>
double calculate_mortgage_payment(double principal, double rate, int num_payments) {
// Taxa de juro mensal
double monthly_rate = rate / 12;
// Calcular o pagamento usando a fórmula da hipoteca
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--- Detalhes do Pagamento da Hipoteca ---\n");
printf("Capital Inicial: $%10.2f\n", principal);
printf("Taxa de Juro Anual: %10.2f%%\n", rate * 100);
printf("Número Total de Pagamentos: %d\n", num_payments);
printf("Pagamento Mensal: $%10.2f\n", monthly_payment);
printf("Pagamentos Totais: $%10.2f\n", total_payment);
printf("Juros Totais Pagos: $%10.2f\n", total_interest);
}
int main() {
double principal, rate;
int num_payments;
// Solicitar e ler o valor principal
printf("Introduza o valor principal do empréstimo: ");
scanf("%lf", &principal);
// Solicitar e ler a taxa de juro anual (como um decimal)
printf("Introduza a taxa de juro anual (como um decimal): ");
scanf("%lf", &rate);
// Solicitar e ler o número de pagamentos
printf("Introduza o número total de pagamentos: ");
scanf("%d", &num_payments);
// Calcular o pagamento mensal
double monthly_payment = calculate_mortgage_payment(principal, rate, num_payments);
// Imprimir informações detalhadas sobre o pagamento
print_payment_details(principal, rate, num_payments, monthly_payment);
return 0;
}
Compile o programa:
gcc mortgage_calculator.c -o mortgage_calculator -lm
Execute o programa:
./mortgage_calculator
Exemplo de saída:
Introduza o valor principal do empréstimo: 200000
Introduza a taxa de juro anual (como um decimal): 0.05
Introduza o número total de pagamentos: 360
--- Detalhes do Pagamento da Hipoteca ---
Capital Inicial: $ 200000.00
Taxa de Juro Anual: 5.00%
Número Total de Pagamentos: 360
Pagamento Mensal: $ 1073.64
Pagamentos Totais: $ 386510.40
Juros Totais Pagos: $ 186510.40
Melhorias chave:
- Adicionada uma nova função
print_payment_details()para saída formatada - Calcula os pagamentos totais e os juros totais
- Utilização de formatação para alinhar valores decimais
- Fornece uma análise clara e legível dos detalhes da hipoteca
Resumo
Neste laboratório, aprendemos a ler as entradas essenciais para calcular prestações de hipoteca, incluindo o valor principal, a taxa de juro e o número de pagamentos. Em seguida, implementamos a fórmula de cálculo de prestações de hipoteca utilizando estas entradas para calcular o valor da prestação mensal. Finalmente, imprimimos o pagamento calculado para apresentar o resultado.
Os passos-chave abordados neste laboratório são: ler o valor principal, a taxa e o número de pagamentos a partir da entrada do utilizador e, em seguida, aplicar a fórmula de pagamento da hipoteca para calcular a prestação mensal. O programa garante que as entradas são capturadas corretamente e fornece uma saída clara dos detalhes do empréstimo e do pagamento calculado.



