Depois de algumas aula de matemática financeira, resolvi testar meus conhecimentos e fazer um programa pra cálculos de juros compostos. A idéia é que o usuário veja os campos com os dados necessários para o cálculo e deixe em branco aquele que ele deseja descobrir, por exemplo, pra calcular o montante, informa o capital inicial, taxa e tempo, clica em calcular, o programa verifica que foi deixado em branco o campo Montante e então calcula e exibe o resultado naquele campo.
Como tenho instalado no meu note Ubuntu 9.04 e Lázarus, resolvi fazer nele, já mostrei como instalar ele neste post.
Primeiramente, abra o Lázarus e crie um novo projeto (Aplication) e adicione 5 Labels, 5 Edits e 1 Button de forma que fique parecido com a imagem abaixo.

Altere a propriedade name dos Edits para EdtCapital, EdtTaxa, EdtTempo, EdtMontante e EdtJuros. O Button para btnCalcular e as labels tanto faz se renomear ou não.
Feito isso, de um duplo clique no botão BtnCalcular e adicione o seguinte código para fazer os cálculos de juros compostos, eles estão comentados e são auto explicativos.
procedure TfrmJurosComposto.CalcularClick(Sender: TObject); var // Declara variaveis Taxa,Tempo,Capital,Montante:Double; begin // Inicia variaveis com valor 0 Taxa:=0; Tempo:=0; Capital:=0; Montante:=0; try // Variaveis armazenam valores informados se foi informado algum valor if (EdtTaxa.Text <> '') then Taxa := StrToFloat(EdtTaxa.Text); if (EdtTempo.Text <> '') then Tempo := StrToFloat(EdtTempo.Text); if (EdtCapital.Text <> '') then Capital := StrToFloat(EdtCapital.Text); if (EdtMontante.Text <> '') then Montante := StrToFloat(EdtMontante.Text); // Verifica se eh calculo do montante if EdtMontante.Text = '' then begin // Calcula Montante //---> exp(ln(x)*y) ==> x elevado a y Montante:=Capital*(exp(ln((1+(Taxa/100)))*Tempo)); // Exibe Resultado EdtMontante.Text := FloatToStr(Montante); end; // Verifica se eh calculo do capital if EdtCapital.Text = '' then begin // Calcula Capital Inicial Capital := Montante / (exp(ln((1+(Taxa/100)))*Tempo)); // Exibe Resultado EdtCapital.Text := FloatToStr(Capital); end; // Verifica se eh calculo de tempo if EdtTempo.Text = '' then begin // Calcula Tempo Tempo := ((ln(Capital/Montante))/(ln((1+(Taxa/100)))))*-1; // Exibe Resultado EdtTempo.Text := FloatToStr(Tempo); end; // Verifica se eh calculo de taxa if EdtTaxa.Text = '' then begin // Calcula Taxa Taxa := 100*((exp(ln(Montante / Capital)*(1/Tempo)))-1); // Exibe Resultado EdtTaxa.Text := FloatToStr(Taxa); end; // Calcula Juros e Exibe na tela EdtJuros.Text := FloatToStr(Montante-Capital); // Se der algum erro exibe um alerta com a mensagem except on e:exception do ShowMessage(E.Message); end; end;
Salve o projeto e pressione F9 para compilar e executar.
De teste, segui os mesmos passos no Delphi e funcionou também, adicionei os campos com os mesmos nomes, CTRL+C CTRL+V no código, compilei e funcionou, então se você quiser fazer no Delphi sinta-se a vontade, a linguagem é a mesma e o Lázarus é muito semelhante ao Delphi 7, eu testei no 2007 que já muda um pouco a posição dos componentes.
Até.
Nenhum comentário:
Postar um comentário
Faça um blogueiro feliz, deixe um comentário :-)