AGB  ·  Datenschutz  ·  Impressum  







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

Zinsberechnung mit For Do Schleife

Ein Thema von JuPi2904 · begonnen am 8. Jan 2011 · letzter Beitrag vom 10. Jan 2011
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#1

AW: Zinsberechnung mit For Do Schleife

  Alt 10. Jan 2011, 16:47
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).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Zinsberechnung mit For Do Schleife

  Alt 10. Jan 2011, 16:49
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;
Michael
Ein Teil meines Codes würde euch verunsichern.

Geändert von Luckie (10. Jan 2011 um 16:54 Uhr)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: Zinsberechnung mit For Do Schleife

  Alt 10. Jan 2011, 22:15
mMn kann man die Prüfungen ganz weglassen.
Negativen Zinssatz nennt man Inflation und negatives Startkapital entspricht dem Inhalt meines Bankkontos.

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
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: Zinsberechnung mit For Do Schleife

  Alt 10. Jan 2011, 22:23
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.
Angehängte Grafiken
Dateityp: png beitraege.png (15,1 KB, 15x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#5

AW: Zinsberechnung mit For Do Schleife

  Alt 10. Jan 2011, 22:36
mMn kann man die Prüfungen ganz weglassen.
Negativen Zinssatz nennt man Inflation und negatives Startkapital entspricht dem Inhalt meines Bankkontos.

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
Negativen Zinssatz gibt es nicht (Inflation ist die Vergrößerung der Geldmenge, es gibt auch Deflation aber das hat nicht direkt etwas mit den Zinsen zu tun) da niemand (gewerblich) Geld verleiht wenn er weis dass er weniger zurückbekommt.

Negatives Startkapital OK - das ist dann halt keine Geldanlage sondern ein Kredit.

Um noch etwas herumzuoptimieren:
Delphi-Quellcode:
  for i := 1 to Jahre do
  begin
    Startkapital := Result;
    Result := Result*(Zins/100)+StartKapital;
  end;
// ist gleich
  for i := 1 to Jahre do
  begin
    Result := Result*(Zins/100)+Result;
  end;
// ist gleich
  for i := 1 to Jahre do
  begin
    Result := Result * (Zins/100 + 1);
  end;
// ist gleich
Result := Result * Power(1 + Zins/100, Jahre);
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#6

AW: Zinsberechnung mit For Do Schleife

  Alt 10. Jan 2011, 23:48
@Matze:
4. oder 5. Post: gemeint waren Hilfsversuche meinerseits.
Die wo ich die Newbie-Fragen gestellt habe, hab ich nicht mitgezählt.

@jfheins:
Du hast natürlich recht, was die Optimierung angeht, aber es sollte ja mit For-Schleife gelöst werden, daher passt der letzte nicht so gut. Der dritte ist daher mMn der optimalste, obwohl man didaktisch im ersten oder zweiten noch mehr sieht was passiert (Ausklammern ist schon nicht mehr jedermanns Sache).

Oft ist es ja auch gewünscht die Kapitalentwicklung zwischendurch auszugeben, dann muss es ja denk ich 'ne Schleife sein, wobei man natürlich auch die letzte Variante zu Ausgabezwecken in ne Schleife packen kann...

Gute Nacht,
Jumpy
Ralph
  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 01:37 Uhr.
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