AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Annuitätendarlehn programmieren

Ein Thema von crusor · begonnen am 31. Jan 2008 · letzter Beitrag vom 31. Jan 2008
Antwort Antwort
crusor

Registriert seit: 25. Jan 2008
26 Beiträge
 
#1

Annuitätendarlehn programmieren

  Alt 31. Jan 2008, 12:23
Hallo,

ich habe ein Programm erstellt, wo nach Eingabe der Schulden, des Zinsens, der Tilgung und der Jahre, die Schulden nach einer bestimmter Jahresanzahl errechnet werden.

Hier der Quelltext:
Delphi-Quellcode:
procedure TForm1.BBerechnenClick(Sender: TObject);
var kb,ts,zs,Ekb,Z,T,An,Ekb1,P: real;
var n,i,a:integer;
begin
kb:=strtofloat(Edit1.Text);
zs:=strtofloat(Edit2.Text);
ts:=strtofloat(Edit3.Text);
n:=strtoint(Edit4.Text);

//berechnen
a:=0; // variable


                     Z:=kb*zs/100; // Zinsenberechnung
                     T:=kb*ts/100; // Tilgung
                     An:=Z+T; // Annuität
                     Ekb:=kb-T; // Endkapital am Jahresende

                     a:=a+1; // Anzahl der Jahre
                     stringgrid1.Cells[0,1]:=inttostr(a);
                     stringgrid1.Cells[1,1]:=floattostrf(kb,fffixed,10,2); // Ausgabe der Daten in einer Tabelle
                     stringgrid1.Cells[2,1]:=floattostrf(Z,fffixed,10,2);
                     stringgrid1.Cells[3,1]:=floattostrf(T,fffixed,10,2);
                     stringgrid1.Cells[4,1]:=floattostrf(An,fffixed,10,2);
                     stringgrid1.Cells[5,1]:=floattostrf(Ekb,fffixed,10,2);
                     kb:=Ekb ; // Kredibetrag wird Endkreditbetrag zugewiesen



       // neue Schleife (es beginnt eine andere Rechnung)
For i:=1 TO n-1 DO begin
                     P:=Ekb1+Z; // endkapital + zinsen
                     Z:=Ekb*zs/100; // zinsenberechnung
                     T:=An-Z; // tilgung
                     An:=Z+T; // annuität
                     Ekb1:=Ekb-T; // endkapital neu
                     a:=a+1; // variable für Ausgabe (also Jahre)
                     stringgrid1.Cells[0,a]:=inttostr(a);
                     stringgrid1.Cells[1,a]:=floattostrf(Ekb,fffixed,10,2);
                     stringgrid1.Cells[2,a]:=floattostrf(Z,fffixed,10,2);
                     stringgrid1.Cells[3,a]:=floattostrf(T,fffixed,10,2);
                     stringgrid1.Cells[4,a]:=floattostrf(An,fffixed,10,2);
                     stringgrid1.Cells[5,a]:=floattostrf(Ekb1,fffixed,10,2);
                     Ekb:=Ekb1 ;

                   end;

//ausgabe
stringgrid1.RowCount:=n+1 ;

end;
meine Fragen:
1. was muss ich machen, dass ausgerechnet wird (ohne eingabe der jahre), wann die schulden abbezahlt sind?
2. die schleife soll aufhören, wenn P kleiner als die im vorherigen Jahr vorzufindene Annuität ist. Und die Annuität beträgt dann: das letzte anfangskapital + Zinsen(damit bei der letzten ausgabe des endkapitals '0' erscheint,da P - P gerechnet wird).
Wie funktioniert dies?

Ich hoffe das Ihr eine Lösung dafür wisst.
Ich bedanke mich für eure Hilfe !!!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Annuitätendarlehn programmieren

  Alt 31. Jan 2008, 12:44
Du solltest dir zuerst die mathematischen Formeln und Hintergründe aneignen:
http://de.wikipedia.org/wiki/Annuit%C3%A4tendarlehen
Dann solltest du diese Formeln als Delphi Funktionen in den Sourcecode aufnehmen.
function berechneAnuitaet(S0, i:Extended; n : integer):Extended; Ist dir aufgefallen, dass du sehr oft Folgendes geschrieben hast: ?
floattostrf(x,fffixed,10,2) Daraus kann man (sollte man !!) ebenfalls eine Funktion machen.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von iKilledKenny
iKilledKenny

Registriert seit: 25. Apr 2007
Ort: Bergstrasse
49 Beiträge
 
Delphi 5 Professional
 
#3

Re: Annuitätendarlehn programmieren

  Alt 31. Jan 2008, 13:43
Was ist denn floattostrf, wenn nicht eine Funktion?
Alexander Stork
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Annuitätendarlehn programmieren

  Alt 31. Jan 2008, 13:47
Shima meint sowas:

Delphi-Quellcode:
function FTSF(Value: Double): String;
begin
  Result := floattostrf(Value,fffixed,10,2);
end;
Und anstatt FloattStrF aufzurufen, rufst Du eben FTSF auf. Hat den Vorteil, wenn sich einmal ein Paramter (die 10 oder die 2) ändert, gleich alle anderen angepasst sind. Dann brauchst Du das eben nur einmal ändern und nicht 10 mal.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz