Calcular Juros ao mês.

Delphi

20/04/2005

Alguém tem alguma função que calcule a porcentagem de juros ao mês?

Exemplo.
Tenho uma mercadoria que custa 100 reais, se comprá-la em 10 vezes o valor dela sobe para 130.

Sei q o total de juros é 30¬, mas se for calcular os juros mensais não irá dar 3¬(30/10) e sim o valor mais baixo.

Alguém tem alguma função q execute este cálculo?


Anfm

Anfm

Curtidas 0

Respostas

Edilcimar

Edilcimar

20/04/2005

Em cálculos de juros existem dois tipos principais um deles calcula o juro total e depois divide pela quantidade de vezes, este é chamado de juro simples(é o mais utilizado no comércio) e o outro é o juro composto onde você pega o valor divide pela quantidade de vezes aplica o juro depois subtrai este total do valor total e sobre o novo total calcula o novo juro(este aqui dá uma valor maior, é normalmente utilizado por bancos).
Para o primeiro caso que é o normal
ValorJuroTotal := Total * JuroAoMes * QuantidadeMeses / 100
ValorJuroMensal := ValorJuroTotal / QuantidadeMeses


GOSTEI 0
Marco Salles

Marco Salles

20/04/2005

Exemplo. Tenho uma mercadoria que custa 100 reais, se comprá-la em 10 vezes o valor dela sobe para 130.


Sei q o total de juros é 30¬, mas se for calcular os juros mensais não irá dar 3¬(30/10) e sim o valor mais baixo.


Dara mais alto não :?: :?: :?: Cobrar 3¬ de 100 reais ao longo de Dez Mes Dá um Toral de 134,39 Rs...

Conclusão : Se o Capital inicial for de 100,00 e voce ira pagar 10 Parcelas Fixas de 13,00 R$ = 10x13,00 = 130,00 R$ Certamente a Taxa cobrada é menor que 3¬

A Razao disso esta no Juros Composto.. Que é o Calculo de Juros cobrado [b:d08956e1f9]somente[/b:d08956e1f9] no Saldo Devedor

Colega, 

Operação (End): 

Código: 
function PrestacaoFixa(Capital, Juros: Currency; 
  Periodos: Integer): Currency; 
begin 
  Result := Capital / ((1 - Power( 1 + (Juros/100),-1 * Periodos))/(Juros/100)); 
end; 


Como no exemplo enterior, não esqueça de declarar Math na lista de uses da unit.


P:s Codigo passado pelo nosso amigo e eterno Moderador Aroldo Zanela


GOSTEI 0
Anfm

Anfm

20/04/2005

Então..... oq quero calcular não é qto vai ser o valor da prestação.... eu sei q o valor a vista é 100 e sei q em 10 vezes é 130. Quero saber como saber a taxa de juros por mes.


GOSTEI 0
Fred

Fred

20/04/2005

Olha, nao sei por qual motivo vc precisaria desta taxa de juros?? Quem tem que dizer qual eh o juro cobrado por mes, eh a empresa!!! tipo tem um campo la que grava o juro/mes, ai quando vender parcelado o programa faz os calculos de juros simples ou composto e calcula o valor total!!! a empresa tem que ter feito algum calculo pra chegar nestes 130,00!!


GOSTEI 0
Anfm

Anfm

20/04/2005

Esta empresa que me pediu isso, eles definem o juros pelo valor final. Eles decidem q em 10 vez vai ter 30¬ de juros. Só q na etiqueta q é impressa para colocar nos produtos, eles querem saber qual a taxa mensal de juros cobrado em cada plano de pagamento.


GOSTEI 0
Kotho

Kotho

20/04/2005

a fórmula para esse cálculo seria

     n |--------------|
i = \  |    M/C              - 1
      \|           
[\code]


onde:
i = juros
n = parcelas
M = Montante final
C = Capital inicial

Eu não sei como calcular raiz enésima em Delphi... fica pro próximo colega dizer...


GOSTEI 0
Fred

Fred

20/04/2005

A taxa eh 3¬ ao mes de Juros Simples ou 30¬ sobre o valor total!!! Neste Caso!!

100,00/10 = 10,00 + 3¬ = 13,00 * 10 = 130,00.

mas ai c outros produtos forem com juros diferentes e vc quiser saber qual o juro!! ai complica!! Uma Calculadora HP12 faz isso hehe!! acho que c teria que ver com um professor de matematica financeira pra ver como seria o calculo, pra entao vc implementar no delphi!!


GOSTEI 0
Kotho

Kotho

20/04/2005

fiz um teste no Delphi utilizando o próprio Power... considerando que a raiz enézima é o mesmo que elevar a 1/n... ficaria mais ou menos assim:

taxa := Power( montante / capital, 1 / parcelas) * 100;

no seu caso:

taxa := Power( 130 / 100, 1 / 10) * 100;

que dará: 2.66¬ ao mes...


GOSTEI 0
Marco Salles

Marco Salles

20/04/2005

Desculpe Descordar , :lol: :lol: :lol:

Mas para Capital = 100,00 Rs Perido 10 E Prestacao de 13,00 Rs a Taxa Operada Para Mim Foi De 5,1 ¬ Aproximadamente


É SO jogar na formula que obtera as prestações de 13,00 Rs

Colega, 

Operação (End): 

Código: 
function PrestacaoFixa(Capital, Juros: Currency; 
  Periodos: Integer): Currency; 
begin 
  Result := Capital / ((1 - Power( 1 + (Juros/100),-1 * Periodos))/(Juros/100)); 
end; 


Como no exemplo enterior, não esqueça de declarar Math na lista de uses da unit.


O Problema é que o [b:aca8fb5cba]anfm[/b:aca8fb5cba] [b:aca8fb5cba]quer a operação inversa[/b:aca8fb5cba].. Isto é dado Captital , Numero de prestações, Valor Da Mensalidade ---->>>> [b:aca8fb5cba]Obter a taxa de Juros[/b:aca8fb5cba]

[b:aca8fb5cba]Se ninguem Tiver uma Formula matemática para isto , eu proponho faze-lo Como eu Calculo Numerico[/b:aca8fb5cba]


GOSTEI 0
Kotho

Kotho

20/04/2005

Não entendi se descordou da minha solução!!! :D

seguinte...

se você tiver um capital de 100,00 em um periodo de 10 (meses), cobrando uma taxa de 2.66 ao mes, qual será o resultado do montante final???

eu coloque esses dados na HP12c... e como arredondei o resultado da taxa, o resultado foi 130,02

A minha fórmula está rigorosamente correta... me desculpe se pareço arrogante, mas eu testei...


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

20/04/2005

a fórmula para esse cálculo seria
     n |--------------|
i = \  |    M/C              - 1
      \|           
[\code]
onde: i = juros n = parcelas M = Montante final C = Capital inicial Eu não sei como calcular raiz enésima em Delphi... fica pro próximo colega dizer...

Colega,

Para calcular a raiz n-ésima. Onde você encontrar ´@$¬¨&*bica´, leia-se cúbica: http://www.forumweb.com.br/foruns/index.php?showtopic=721


GOSTEI 0
Marco Salles

Marco Salles

20/04/2005

Não entendi se descordou da minha solução!!
!

[color=red:6cc62a9f2d]Desculpe , me interpretei mau[/color:6cc62a9f2d] :oops: :oops: :oops:

O Que esta ocorrendo é o seguinte :

Se For para Juros Simples a Taxa de Juros é de 2,66¬ ao mes


[b:6cc62a9f2d]Juros cobrado no comercio ---->>> Engana bobo[/b:6cc62a9f2d]

:idea: Se for para calcular a taxa de Juros para juros Simples é muito mais fácil
Criar uma função...

Se for para Juros Composto a taxa e d e 5,1¬ ao mes


[b:6cc62a9f2d]Juros cobrado pelo sistema financeiro [/b:6cc62a9f2d]

:idea: Se for para calcular a taxa de Juros para juros Composto[b:6cc62a9f2d] é muito mais Complicado[/b:6cc62a9f2d].. Se ninguem apresentar uma formúla , sugiro uma solução , utilizando Calculo Numerico

Resta por fim, o [b:6cc62a9f2d]anfm[/b:6cc62a9f2d] Definir Qual o Tipo de Juros , que sera utilizado pela sua empresa.. Olhando por este prisma é mais sugestivo usar a formula do Juros Simples ----->>> Engana bobo... Soa melhor para os ouvidos do Consumidor

[b:6cc62a9f2d]Para o Tipo de Juros Simples Pode-se usar a função abaixo[/b:6cc62a9f2d]:

function CalcularTaxaDeJurosSimples(Capital,Acrescimo:Real;Prazo:Integer):Real;
var
 ValorFinal:Real;
begin
  ValorFinal:=Capital*(1+Acrescimo/100);
  result:=Power((ValorFinal/Capital),1/Prazo);
end;


[b:6cc62a9f2d]Para Chamar a função:[/b:6cc62a9f2d]
procedure TForm1.Button1Click(Sender: TObject);
var
 Juros:Real;
begin
Juros:=CalcularTaxaDeJurosSimples(100,30,10);
Showmessage(FloatToStr(Juros));
end;



GOSTEI 0
Kotho

Kotho

20/04/2005

Aroldo... obrigado pela resposta, mas eu já havia postado a resposta logo em seguida... ou seja elevar a 1/n...

Marco... eu acho que estamos tendo divergencias de conceitos de matemática financeira... a menos que o curso que eu fiz me ensinou tudo errado, a fórmula que passei é de juros compostos...

pelo que aprendi, o juros simples é sempre aplicado ao valor inicial, quanto o juros compostos é aplicado (sempre) sobre o saldo devedor.

por exemplo:
valor inicial = 100
juros = 1¬ ao mes

juros simples: todo mes, o valor inicial terá um acréscimo de 1 (fixo)...

juros compostos: cada mes o valor inicial terá um acréscimo diferente, pois o valor do juros do mes anterior é sempre somado ao mes atual para efetuar o novo calculo.
1o. mes = 1,00 + 100,00 = 101,00
2o. mes = 1,01 + 101,00 = 102,01
3o. mes = 1,02 + 102,01 = 103,03
4o. mes = 1,03 + 103,03 = 104,06
5o. mes = 1,04 + 104,06 = 105,10
... e ai vai...

Pensando assim, para um resultado final semelhante, a taxa do juros compostos será sempre ´menor´ do que a do simples (isso é que é engana bobo, pois o que parece uma taxa baixa é na verdade uma armadilha).


GOSTEI 0
Marco Salles

Marco Salles

20/04/2005

Marco... eu acho que estamos tendo divergencias de conceitos de matemática financeira... a menos que o curso que eu fiz me ensinou tudo errado, a fórmula que passei é de juros compostos...


pelo que aprendi, o juros simples é sempre aplicado ao valor inicial, quanto o juros compostos é aplicado (sempre) sobre o saldo devedor.


[b:11d6d90bfb][color=red:11d6d90bfb]O Conceito esta corretissimo[/color:11d6d90bfb][/b:11d6d90bfb]

porem a formula de Juros que voce mencionou a meu Ver se refere a Juros Simples :arrow:

[b:11d6d90bfb]Ela não se Aplica a juros Composto[/b:11d6d90bfb]

na verdade o nome de composto e simples foge um pouco da lógica e da para fazer confusão..

Veja:
juros compostos: cada mes o valor inicial terá um acréscimo diferente, [b:11d6d90bfb]pois o valor do juros do mes anterior é sempre somado ao mes atual para efetuar o novo calculo[/b:11d6d90bfb]. 1o. mes = 1,00 + 100,00 = 101,00 2o. mes = 1,01 + 101,00 = 102,01 3o. mes = 1,02 + 102,01 = 103,03 4o. mes = 1,03 + 103,03 = 104,06 5o. mes = 1,04 + 104,06 = 105,10 ... e ai vai...


Não e bem assim.. [color=red:11d6d90bfb][b:11d6d90bfb]E como voce Mesmo disse anteriormente[/b:11d6d90bfb][/color:11d6d90bfb]:

[b:11d6d90bfb]o juros compostos é aplicado (sempre) sobre o saldo devedor[/b:11d6d90bfb].

Exemplo: Capital=100 Taxa=5,1¬ Aproximadamente i=10 Parcelas Valor de Cada Parcela = 13,00 Rs


1 mes --->>> 100+5,1¬ - 13,00Rs = 105,10 - 13,00 = 92,10 Saldo Dev
2 mes --->>> 92,10+5,1¬ - 13,00Rs = 96,78 - 13,00 =  83,79 Saldo Dev
3 mes --->>> 83,79+5,1¬ - 13,00Rs =88,07 - 13,00 = 75,07 Saldo Dev

.....................

10 mes --->>> 13,00 - 13,00Rs = 00,00 =  Saldo Devedor = 00,00


P:S Se for fazer as Contas o Valor sera aproximado porque a taxa não é exatamente de 5,1¬

Esta é minha opinião , mas estou aberto inteiramente ao dialogo. E se estiver errado Sobre este conceito é melhor eu aprender agora do que morrer com ele...


GOSTEI 0
Kotho

Kotho

20/04/2005

puxa vida Marco... agora me caiu a ficha...

realmente estamos tendo uma pequena confusão... bem, a fórmula que eu passei, realmente, é de juros compostos...

e o que vc está passando se chama Amortização, ou tabela price...

A diferença entre os dois é exatamente os pagamentos das parcelas (que no caso do nosso colega, são necessários). O que quer dizer que a sua taxa está correta, e a minha errada... :oops:

Agora, quanto a fórmula... eu tenho quase certeza que tenho em uma apostila em casa... Vou fazer força para lembrar de pesquisar...


GOSTEI 0
Marco Salles

Marco Salles

20/04/2005

O[b:ad1faaf3a3] anfm [/b:ad1faaf3a3]deve Ta Doido :P :P :P

[b:ad1faaf3a3]Vamos encadear idéias para o Caso de[/b:ad1faaf3a3] :arrow:

Capital = 100 Rs
Montante = 130,00 Rs
Juros = 30,00 Rs
Perido = 10 meses


[color=darkred:ad1faaf3a3][b:ad1faaf3a3]Pergunta-se ---->>>> Calcular a Taxa de Juros nos tres casosabaixo: [/b:ad1faaf3a3][/color:ad1faaf3a3]

:arrow: [b:ad1faaf3a3]1) Juros Simples[/b:ad1faaf3a3]

TaxaJuros:=Juros/Capital*Periodo ----->>>> 3¬

:arrow: [b:ad1faaf3a3]2)Juros Composto[/b:ad1faaf3a3]

a fórmula para esse cálculo seria 

Código: 

     n |--------------| 
i = \  |    M/C              - 1 
      \|            
[\code] 


onde: 
i =  Taxa de juros 
n = parcelas 
M = Montante final 
C = Capital inicial 



[color=darkred:ad1faaf3a3][b:ad1faaf3a3]A Implementação para esta Formula é :[/b:ad1faaf3a3][/color:ad1faaf3a3]

function CalcularTaxaDeJurosComposto(Capital,Juros:Real;Prazo:Integer):Real; 
var 
 ValorFinal:Real; 
begin 
  ValorFinal:=Capital*(1+Juros/100); 
  result:=(Power((ValorFinal/Capital),1/Prazo)-1)*100; 
end;


[b:ad1faaf3a3]Para Chamar a Função:[/b:ad1faaf3a3]
procedure TForm1.Button1Click(Sender: TObject); 
var 
 TaxaDeJuros:Real; 
begin 
TaxaDeJuros:=CalcularTaxaDeJurosSimples(100,30,10); 
Showmessage(FloatToStr(TaxaDeJuros)); 
end;


[b:ad1faaf3a3]O Resultado disso para os valores [/b:ad1faaf3a3]
Capital = 100 Rs Montante = 130,00 Rs Juros = 30,00 Rs Perido = 10 meses

[b:ad1faaf3a3][color=darkred:ad1faaf3a3]Da uma Taxa de 2,66¬[/color:ad1faaf3a3][/b:ad1faaf3a3]

:arrow: [b:ad1faaf3a3]3) Amortização, ou tabela price... [/b:ad1faaf3a3]

Vale lembra que a tabela Prece ou calculo de Amortização , leva em conta o Principio do Juros Composto.. Segue dai a Razão de toda essa Polemica e particularmente a minha confusão :oops: :oops: :oops: :oops:

Se for para calcular a taxa de Juros usando a Tabela Prece ou amortização é muito mais Complicado.. Se ninguem apresentar uma formúla , sugiro uma solução , utilizando Calculo Numerico 

[b:ad1faaf3a3][color=darkred:ad1faaf3a3]Calculo na calculadora Hp da aproximadamente Uma taxa de 5,1¬:[/color:ad1faaf3a3][/b:ad1faaf3a3]

[b:ad1faaf3a3][color=darkred:ad1faaf3a3]Conclusão[/color:ad1faaf3a3][/b:ad1faaf3a3]

1) eu errei na definição de Juros Compostos :oops: :oops: :oops:

2) Tanta a taxa de Juros Simples e a Taxa de Juros Composto , ao meu ver é [b:ad1faaf3a3]Engana Bobo[/b:ad1faaf3a3].. A Taxa mais correta leva em conta a [b:ad1faaf3a3]amortização[/b:ad1faaf3a3]

3) voce se confundiu [b:ad1faaf3a3]ao achar [/b:ad1faaf3a3]que o Código que eu estava passando[b:ad1faaf3a3] era [/b:ad1faaf3a3]para calcular [b:ad1faaf3a3]a Taxa de Juros Para a Tabela Price[/b:ad1faaf3a3].. [color=darkred:ad1faaf3a3][b:ad1faaf3a3]Não !!!![/b:ad1faaf3a3][/color:ad1faaf3a3]. A formula que passei , calcula a taxa de Juros :arrow: para o caso de Juros Compostos

Defato , no inicio do tópico eu apresentei uma formula passado pelo Aroldo que calcula o Valor De Cada Prestação , dado o Capital, a Taxa de Juros, e a Qauntidade De Parcelas: Esta Formula se Baseia na idéia de amotização

Colega, 

Operação (End): 

Código: 
function PrestacaoFixa(Capital,TaxadeJuros: Currency; 
  Periodos: Integer): Currency; 
begin 
  Result := Capital / ((1 - Power( 1 + (TaxaDeJurosJuros/100),-1 * Periodos))/(TaxaDeJurosJuros/100)); 
end; 

Como no exemplo enterior, não esqueça de declarar Math na lista de uses da unit.


[b:ad1faaf3a3]e por favor:[/b:ad1faaf3a3] :lol: :lol: :lol:
Esta é minha opinião , mas estou aberto inteiramente ao dialogo. E se estiver errado Sobre este conceito é melhor eu aprender agora do que morrer com ele...



GOSTEI 0
POSTAR