“Amortizar pode ser definido como o processo de saldar uma dívida, originada por meio de empréstimo ou financiamento, de forma parcelada em um determinado período de tempo e de acordo com um sistema previamente estabelecido em contrato” – Livro: Introdução a Administração Financeira com HP12C
A amortização de uma dívida pode ser feita por meio de diferentes tipos de sistemas de cálculo. Em alguns financiamentos imobiliários, como no caso do programa Minha Casa Minha Vida, é utilizado o sistema de amortização constante (SAC). A principal característica do SAC é que a amortização é feita por meio de parcelas iguais, desta forma os valores dos juros e prestações são decrescentes.
Neste tutorial iremos aprender como criar uma classe Python para o cálculo do SAC.
Criando a classe SAC
Na Figura 1 temos a representação em UML da estrutura da classe SAC a ser criada. Como pode ser observado ela é composta de três atributos e dois métodos.
As fórmulas a serem utilizadas são:
amortizacao = saldo devedor / parcelas
juros = (taxa * saldo devedor) / 100
pagamento = juros + amortizacao
saldo devedor = saldo devedor anterior - amortizacao
A seguir temos a implementação da classe em código Python.
# Classe para Calculo de Amortizacao com SAC class SAC: def __init__(self, principal, taxa, parcelas): self.__principal = principal self.__taxa = taxa self.__parcelas = parcelas def show(self): dash = '-'*42 amort = self.__principal/self.__parcelas saldo = self.__principal print(dash) print('{:<2}{:>10}{:>10}{:>10}{:>10}'.format('#','juros','amort','pgto','saldo')) print(dash) for n in range(1,self.__parcelas+1): juros = (saldo * self.__taxa)/100 pgto = juros + amort saldo -= amort print('{:<2}{:>10}{:>10}{:>10}{:>10}'.format(n,juros,amort,pgto,saldo)) print(dash)
Agora iremos criar um código para testar a classe criada. Para isto podemos utilizar o seguinte problema:
Um advogado comprou uma sala para instalar seu escritório por $ 120.000,00 utilizando o sistema de amortização constante (SAC). O banco financiou a compra dessa sala em 24 meses com juros de 2% ao mês.
A seguir temos a solução utilizando a classe SAC:
sac = SAC(120000,2,24) sac.show()
Ao ser executado o código acima retornará à seguinte saída:
------------------------------------------ # juros amort pgto saldo ------------------------------------------ 1 2400 5000 7400 115000 2 2300 5000 7300 110000 3 2200 5000 7200 105000 4 2100 5000 7100 100000 5 2000 5000 7000 95000 6 1900 5000 6900 90000 7 1800 5000 6800 85000 8 1700 5000 6700 80000 9 1600 5000 6600 75000 10 1500 5000 6500 70000 11 1400 5000 6400 65000 12 1300 5000 6300 60000 13 1200 5000 6200 55000 14 1100 5000 6100 50000 15 1000 5000 6000 45000 16 900 5000 5900 40000 17 800 5000 5800 35000 18 700 5000 5700 30000 19 600 5000 5600 25000 20 500 5000 5500 20000 21 400 5000 5400 15000 22 300 5000 5300 10000 23 200 5000 5200 5000 24 100 5000 5100 0 ------------------------------------------
Com isso concluímos o nosso tutorial da classe SAC em Python. Logicamente, é possível criar essa classe em outras linguagens de programação, basta que sejam aplicadas as mesmas regras usando os recursos da linguagem que deseja usar.