Einzelnen Beitrag anzeigen

crusor

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

Annuitätendarlehn programmieren

  Alt 31. Jan 2008, 13: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