Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Zinsrechnung (https://www.delphipraxis.net/160381-zinsrechnung.html)

Rakash 10. Mai 2011 16:03

Delphi-Version: 7

Zinsrechnung
 
Zinsrechnung mal anders: Wie berechne ich denn aus einem gegebenem Startkapital, dem Endkapital und dem Zinssatz die Laufzeit, bis zum gegebenen Endkapital?

Viel wichtiger: Wie codiere ich es?

Ich habe mir nun eine Tabelle gemacht, 3 Editfenster und 2 Buttons.
Allerdings verwirrt mich schon der einfache Rechenweg: Wie würde ichs denn im Matheunterricht lösen? Sitze sicher nur auf leitung^^

Aphton 10. Mai 2011 16:21

AW: Zinsrechnung
 
Startkapital: x
Endkapital: y
Zinssatz: p
--
Aufzinsungsfaktor: q = 1+p

KapitalNachNJahren(n) := Startkapital * q^n

Fallst du Derive hast, kannst du es wie folgt lösen:
Code:
solve(Endkapital = Startkapital * q^n, n);
Ansonsten müsstest du selbst umformen und dir n ausrechnen:
Endkapital/Starkapital = q^n | log
log(Endkapital/Startkapital) = n*log(q)
log(Endkapital/Startkapital)/log(q) = n

Rakash 10. Mai 2011 16:28

AW: Zinsrechnung
 
Zitat:

Zitat von Aphton (Beitrag 1100023)
Startkapital: x
Endkapital: y
Zinssatz: p
--
Aufzinsungsfaktor: q = 1+p

KapitalNachNJahren(n) := Startkapital * q^n

Fallst du Derive hast, kannst du es wie folgt lösen:
Code:
solve(Endkapital = Startkapital * q^n, n);
Ansonsten müsstest du selbst umformen und dir n ausrechnen:
Endkapital/Starkapital = q^n | log
log(Endkapital/Startkapital) = n*log(q)
log(Endkapital/Startkapital)/log(q) = n

und die logarythmusfkt. wie drück ich die aus?

Wolfgang Mix 10. Mai 2011 16:37

AW: Zinsrechnung
 
http://www.delphibasics.co.uk/RTL.asp?Name=Log10

alternativ: ln statt log

Aphton 10. Mai 2011 16:38

AW: Zinsrechnung
 
Binde die Math Unit ein!

-Phantom- 10. Mai 2011 19:50

AW: Zinsrechnung
 
Delphi-Quellcode:
Uses Math;

FUNCTION lZeit(gWert,eWert,pSatz:Real): Real;
var
faktor : Real;
BEGIN
 faktor := (pSatz / 100) + 1;  
result := (ln(eWert) -  ln(gWert)) / ln(faktor);
Müsste gehen :wink:

Rakash 10. Mai 2011 20:52

AW: Zinsrechnung
 
Zitat:

Zitat von -Phantom- (Beitrag 1100045)
Delphi-Quellcode:
Uses Math;

FUNCTION lZeit(gWert,eWert,pSatz:Real): Real;
var
faktor : Real;
BEGIN
 faktor := (pSatz / 100) + 1;  
result := (ln(eWert) -  ln(gWert)) / ln(faktor);
Müsste gehen :wink:

okay. aber ist das ganze auch völlig primitiv ohne zinseszins und logarythmus möglich? :)

Aphton 10. Mai 2011 21:15

AW: Zinsrechnung
 
Um den Logarithmus wirst du nicht drumherum kommen!
Das ist notwendig, um die Potenz "runterzuziehen" und durchs Umformen dieselbe zu bestimmen!

Luckie 10. Mai 2011 21:20

AW: Zinsrechnung
 
Zitat:

Zitat von Rakash (Beitrag 1100063)
okay. aber ist das ganze auch völlig primitiv ohne zinseszins und logarythmus möglich? :)

Wenn du die Mathematik neu erfindest. Was stört dich an dem Logarithmus?

Rakash 10. Mai 2011 21:27

AW: Zinsrechnung
 
Zitat:

Zitat von Aphton (Beitrag 1100070)
Um den Logarithmus wirst du nicht drumherum kommen!
Das ist notwendig, um die Potenz "runterzuziehen" und durchs Umformen dieselbe zu bestimmen!

im unterricht haben wir soetwas noch nicht behandelt. und ich bezweifle, dass es in einer hausaufgabe gilt, etwas neues zu bearebitet, war bis jetzt nämlich noch nicht so. aber gut. ich behalt die lösung auf jeden fall im hinterkopf, habe sie ja codiert.:)

-Phantom- 10. Mai 2011 21:29

AW: Zinsrechnung
 
Klar darf man sowas im Unterricht anwenden. Wie will man es sonst herausbekommen?

// die Funktion hat jeder normale Taschenrecher...

Aphton 10. Mai 2011 21:35

AW: Zinsrechnung
 
Ne, er meint, dass sie es nicht durchgearbeitet haben, was heißen soll, dass es durch ein anderes Verfahren zu lösen gilt.
Man kann es aber nicht ohne den Logarithmus lösen!

-Phantom- 10. Mai 2011 21:42

AW: Zinsrechnung
 
Nun ja. Wir haben es auch auf eine andere art gelernt. Und zwar durch ausprobieren. Man denkt sich z.B. ein Jahr aus setzt es in die Formel ein und guckt wie weit es hinkommt, so probiert man immer weiter bis man auf das ungefähr richtige Jahr kommt. Aber z.B in der Abschlussprüfung in Mathe durfe ich die Formel mit (ln) benutzen, wenn man die angegeben hat und man die Rechnung nachvollziehen kann.

idefix2 10. Mai 2011 21:44

AW: Zinsrechnung
 
Natürlich geht es auch ohne logarithmus.
Einfach iterativ jährlich oder monatlich die Zinsen zum Kapital schlagen und die Schleife abbrechen, wenn das Endkapital erreicht ist.

scrat1979 10. Mai 2011 21:46

AW: Zinsrechnung
 
Nimm doch eine Schleife und rechne Jahr für Jahr das neue Kapital aus. In dem Jahr (Zähler), in welchem das EndKapital >= dem Zielkapital entspricht, hast Du es erreicht. Der Zähler enthält dann die Anzahl der Jahre. Zwar etwas umständlich, aber ohne Logarithmus...

SCRaT

//EDIT: Grrr, idefix war schneller. Wo war der Kasten - Urlaub???

-Phantom- 10. Mai 2011 21:51

AW: Zinsrechnung
 
So gehts auch aber wieso das Rad neu erfinden?

Mit der Schleife würd ich mir das so vorstellen :
Delphi-Quellcode:
repeat
//zinsen berechnen
 anfangskapital := anfangskapital+zinsen
jahr := jahr+1
until anfangskapital > endkapital

idefix2 10. Mai 2011 21:57

AW: Zinsrechnung
 
Zitat:

So gehts auch aber wieso das Rad neu erfinden?
Die Frage verstehe ich nicht

Die Variable "anfangskapital" würde ich übrigens kapital nennen, weil die enthält ja nicht das Anfangskapital, sondern Kapital + Zinsen zum jeweiligen Zeitpunkt. Aber sonst geht es genau so.

Rakash 10. Mai 2011 22:01

AW: Zinsrechnung
 
Zitat:

Zitat von idefix2 (Beitrag 1100082)
Natürlich geht es auch ohne logarithmus.
Einfach iterativ jährlich oder monatlich die Zinsen zum Kapital schlagen und die Schleife abbrechen, wenn das Endkapital erreicht ist.

Das würde bedeuten ich nehme eine zählschleife mit

for Kapital to Endkapital do
begin
Zinsen:= Kapital * Zinssatz / 100;
Kapital:= Kapital + Zinsen;
end; // of for

Die Ausgabe erfolgt dann in einer Tabelle.
Danke. ich glaub ich hab jetzt den richtigen riecher. werds morgen codieren bzw. nochmal nachfragen.


edit: Ah. Repeat until funktioniert also genauso. gut. danke :)

Aphton 10. Mai 2011 22:25

AW: Zinsrechnung
 
Nun ja, somit approximierst du ja nur den Wert.
Aber wenn das reicht, dann von mir aus.

idefix2 12. Mai 2011 20:53

AW: Zinsrechnung
 
Nachdem Zinsen im wirklichen Leben normalerweise nicht sekündlich, sondern immer am Ende einer Periode - Monat oder Jahr - berechnet und dem Kapital zugeschlagen werden, ist eine "exakte" Berechnung obsolet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:28 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-2025 by Thomas Breitkreuz