Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Zinsberechnung mit For Do Schleife (https://www.delphipraxis.net/157335-zinsberechnung-mit-do-schleife.html)

JuPi2904 9. Jan 2011 15:17

AW: Zinsberechnung mit For Do Schleife
 
Zitat:

Zitat von Luckie (Beitrag 1073360)
// 101,120413075641343

ok leute danke erstmal für eure hilfe:thumb:, nur was heißt diese zahl???

Matze 9. Jan 2011 15:19

AW: Zinsberechnung mit For Do Schleife
 
Zitat:

Zitat von JuPi2904 (Beitrag 1073452)
nur was heißt diese zahl???

Das ist vermutlich das Endkapital, das Luckies "ShowMessage" in seinem Beispiel ausgibt.

JuPi2904 9. Jan 2011 15:24

AW: Zinsberechnung mit For Do Schleife
 
entschuldigt die antwort aber der quelltext ist mir n bisschen zu schwer, dafür fehlt mir einfach das wissen, könnt ihr vlt. mein so bearbeiten das er stimmt?? danke

Luckie 9. Jan 2011 20:52

AW: Zinsberechnung mit For Do Schleife
 
Wer lesen kann, ist klar im Vorteil:
Zitat:

Wobei ich mir bei der Formel nicht sicher bin, denn mit der Formel aus der Wikipedia bekomme ich den auskommentierten Wert raus.
Was sind denn noch für Fehler übrige, nach dem du die Hinweise hier in den Beiträgen befolgt hast?

Jumpy 10. Jan 2011 14:20

AW: Zinsberechnung mit For Do Schleife
 
In Luckies Code ist mMn ein Denkfehler (mathem. gesehen):
Das Endkapital im nullten Jahr ist das Startkapital. Somit die Zeile

Delphi-Quellcode:
  EndKapital := 0.0;
ändern in

Delphi-Quellcode:
  EndKapital := Startkapital;


Anschließend ist in jedem Jahr das (neue) Startkapital das Endkapital des Vorjahres, somit:

Delphi-Quellcode:
for i := 1 to Jahre do
    EndKapital := EndKapital*(Zins/100)+StartKapital;
ändern zu:
Delphi-Quellcode:
for i := 1 to Jahre do
  begin  
  Startkapital:=Endkapital;
  EndKapital := EndKapital*(Zins/100)+StartKapital;
  end;
dann sollte es doch stimmen??? Zinsrechnung ist schon so lange her...

Luckie 10. Jan 2011 16:34

AW: Zinsberechnung mit For Do Schleife
 
Der Denkfehler stammt aber nicht von mir. Ich habe einfach nur den Code übernommen.

Damit kommt jetzt auch was sinnvolles raus:
Delphi-Quellcode:
function EndKapital(StartKapital, Zins: Double; Jahre: Integer): Double;
var
  i: Integer;
  EndKapital: Double;
begin
  if Zins <= 0 then
    Raise ERangeError.Create('Zins ist kleiner/ gleich Null');
  if StartKapital <= 0 then
    Raise ERangeError.Create('Startkapital ist kleiner/gleich Null');
  if Jahre < 0 then
    Raise ERangeError.Create('Jahre ist kleiner Null');
  EndKapital := StartKapital;
  for i := 1 to Jahre do
  begin
    Startkapital:=Endkapital;
    EndKapital := EndKapital*(Zins/100)+StartKapital;
  end;
  Result := EndKapital;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    ShowMessage(FloatToStr(EndKapital(100, 2.3, 5)));
  except
    on E: Exception do
      ShowMessage(E.Message);
  end;
end;

DeddyH 10. Jan 2011 16:47

AW: Zinsberechnung mit For Do Schleife
 
Wenn man für "Jahre" einen vorzeichenlosen Typ nimmt, spart man eine Prüfung ein. Und die Variable EndKapital ist überflüssig, da sie genauso wie die Funktion heißt und somit als Result fungiert (wie in seligen TP-Zeiten).

Luckie 10. Jan 2011 16:49

AW: Zinsberechnung mit For Do Schleife
 
Oh, ist mir gar nicht aufgefallen mit dem Funktionsnamen. Und mit dem vorzeichenlosen Integer ist das so eine Sache. Denn was passiert, wenn der Benutzer einen negativen Wert eingibt? ;)

Delphi-Quellcode:
function ZinsesZins(StartKapital, Zins: Double; Jahre: Integer): Double;
var
  i: Integer;
begin
  if Zins <= 0 then
    Raise ERangeError.Create('Zins ist kleiner/ gleich Null');
  if StartKapital <= 0 then
    Raise ERangeError.Create('Startkapital ist kleiner/gleich Null');
  if Jahre < 0 then
    Raise ERangeError.Create('Jahre ist kleiner Null');
  Result := StartKapital;
  for i := 1 to Jahre do
  begin
    Startkapital := Result;
    Result := Result*(Zins/100)+StartKapital;
  end;
end;

Jumpy 10. Jan 2011 22:15

AW: Zinsberechnung mit For Do Schleife
 
mMn kann man die Prüfungen ganz weglassen.
Negativen Zinssatz nennt man Inflation und negatives Startkapital entspricht dem Inhalt meines Bankkontos. :-D

Da das erst mein 4. oder 5. Post hier ist und ich die Sitten noch nicht so kenne, hoffe ich das gelegntlich etwas Humor mal erlaubt ist :?:

Matze 10. Jan 2011 22:23

AW: Zinsberechnung mit For Do Schleife
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Jumpy (Beitrag 1073778)
Da das erst mein 4. oder 5. Post hier ist und ich die Sitten noch nicht so kenne, hoffe ich das gelegntlich etwas Humor mal erlaubt ist :?:

OT: Natürlich ist gelegentlicher Humor gestattet, keine Angst. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz