Autor Beitrag
NoEon
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 138

win9x, win 2000, win xp, linux 8.0

BeitragVerfasst: So 13.04.03 12:50 
Hallo ich stehe gerade von einem Problem. Ich weiss nicht wie ich in meiner Formel die "Hochzahl" angeben muss. --->Potenz?<---
Mist ich kenn gerade nicht mal den Mathematisch korrekten Ausdruck dafür.

Also es geht um ZinsesZinsrechnung.
ich weiss das man das theoretisch auch mit der for do schleife machen kann, aber.. da hab ich im Unterricht "gepennt"

Es gibt aber auch eine Formel dafür, die hab ich mir gebastelt!

Wer kann mal helfen?!


Danke schön

NoEon
Husar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 18



BeitragVerfasst: So 13.04.03 13:21 
Willst du einfach nur potenzieren oder willst du ein funktion zur zinsberechnung, das sind nämlich 2 paar Schuhe und das 2. hat nichts mit Potenzen zu tun?

_________________
unmögliches Sofort, Wunder dauern ein wenig länger
NoEon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 138

win9x, win 2000, win xp, linux 8.0

BeitragVerfasst: So 13.04.03 13:24 
beide Wege würden mir weiterhelfen!! --->weil ich beide nicht kenne!

Potenzieren wäre aber der wichtigste!!
BungeeBug
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 901



BeitragVerfasst: So 13.04.03 13:24 
Hi,
naja nicht wirklich da das eine das andere mit sich bringt ... also wenn ich das richtg verstanden hab kannst du das einfach so schreiben <Basis>^<Potenz> und dann geht das schon :P

MfG BungeeBug

?dit
Scheint doch nicht zu gehn ....
dann bin ich auch mal gespannt ...
NoEon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 138

win9x, win 2000, win xp, linux 8.0

BeitragVerfasst: So 13.04.03 13:29 
na wenn das so ist!... let's go

zufällig ne Ahnzng wo ich den MS Help Workshop herbekomme??
Husar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 18



BeitragVerfasst: So 13.04.03 13:29 
Potenzieren =

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
program potenzieren; 
uses crt; 
var x,potenziertes_x,n:integer; 
begin 
     clrscr; 
     write('Geben Sie die Basis ein: '); 
     readln(x); 
     potenziertes_x:=x; 
     write('Geben Sie den Exponenten ein: '); 
     readln(n); 
     while n>1 do 
     begin 
          potenziertes_x:=potenziertes_x*x; 
          n:=n-1; 
     end; 
     write(radiziertes_x); 
     readln; 
end.

_________________
unmögliches Sofort, Wunder dauern ein wenig länger
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 13.04.03 13:53 
Ich würde die Funktion "power" empfehlen.

Oder, wenn Du das nicht willst, für ganzzahlige Exponenten diese Funktion (ist um einiges schneller als eine simple Schleife):
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
function potenz (basis : Extended; exponent : Integer) : Extended;
VAR ergebnis : Extended;
begin
  if exponent = 0 then result:=1
  else begin
    if exponent = 1 then result:=basis else
    begin
      if exponent mod 2 = 0 then
      begin
        ergebnis:=potenz(basis, exponent div 2);
        result:=ergebnis*ergebnis;
      end else result:=potenz(basis, exponent-1)*basis;
    end;
  end;
end;


Oder für x > 0 geht auch, wenn Du x^k haben willst: exp(k*ln(x))

Ich würde aber power empfehlen.

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
NoEon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 138

win9x, win 2000, win xp, linux 8.0

BeitragVerfasst: So 13.04.03 14:08 
Danke das Funzt! Fertig!!!


Was war mit dem Help Workshop zum erstellen von Hilfe Datein? oder macht man das woanderes mit??


Danke schöen


Gruss
NoEoN
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 13.04.03 14:15 
Hi!

Den gibt es, glaube ich, hier:
msdn.microsoft.com/w...hop/author/htmlhelp/

der Link ist aus einem Tutorial bei Delphi-Source. Unter Tutorials --> Tools-Tutorials oder so.

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
NoEon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 138

win9x, win 2000, win xp, linux 8.0

BeitragVerfasst: So 13.04.03 14:22 
Wunderbar!!!


Der Sonntag ist gerettet, die 99 Steps hab ich schon gefunden. Jetzt geht es rund, sprach der Kanarienvogel und flog in den Ventilator
Aso noch was... gibt es da auch so was wo ich das Programm einpacken lassen kann...? So ein Setup Dingsbums?

NoEoN
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 13.04.03 14:36 
Jupp, gibt es: Inno Setup

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
NoEon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 138

win9x, win 2000, win xp, linux 8.0

BeitragVerfasst: So 13.04.03 17:42 
Titel: mist geht noch nicht ganz
Hallo ich bin es noch mal schau mal das hab ich jetzt Fabriziert:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TForm1.BitBtn6Click(Sender: TObject);
var kn, k0, n, p:real;
begin

k0:=StrToFloat(edit16.Text);
p :=StrToFloat(edit17.Text);
n :=StrToFloat(edit18.Text);

                      if edit16.text = '0' then if abfang1(edit16) then Exit;
                      if edit17.text = '0' then if abfang1(edit17) then Exit;
                      if edit18.text = '0' then if abfang1(edit18) then Exit;

                      kn:= (k0*((1+p)/(100)^n));
                      label27.caption:-=FloatToStrf(kn, ffFixed, 18,2);
end;

end.


aber das ghet nicht so wie ich mir das gedacht habe.
das Basiert auf der Zinseszinsformel. Ich ich gefunden habe!

Kn=K0*((1+p)/(1*100))^n

das sollte so auch von der Umstellung her Stimmen, kann mir das mal jemand sagen ob das überhaupt richtig ist??

Danke noch mal

NoEoN
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 13.04.03 17:53 
In meiner Formelsammlung steht die Zinseszinsformel so drin, dass nicht 1+p durch 100 geteilt wird, sondern dass es so aussieht: 1+p/100.

Die Formel sieht dann so aus:

kn = k0*q^n mit q = 1+p/100

Außerdem haben wir alle so fleißig Algorithmen und befehle für die Potenzberechnung gepostet, dass Du sie auch benutzen sollest!

Zitat:

label27.caption:-=FloatToStrf(kn, ffFixed, 18,2);

Das Minus in der Zuweisung solltest Du wegmachen.

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
NoEon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 138

win9x, win 2000, win xp, linux 8.0

BeitragVerfasst: So 13.04.03 18:03 
hast Du p und q durcheinander gebracht???
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 13.04.03 18:15 
Nö. So steht es in der Formelsammlung. Scheint mir auch einleuchtend zu sein. Wenn ich p = 3 habe (also 3% Zinsen), muss ich k0 mit 1,03 multiplizieren. Stimmt doch, oder?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
NoEon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 138

win9x, win 2000, win xp, linux 8.0

BeitragVerfasst: So 13.04.03 18:47 
ne sorry heute rall ich nichst mehr ich glaub für heute lass ich das ich krieg das jetzt nicht merh in das billy billig Programm rein, mal sehn vielleicht morgen.

sag: for do schleife wurde oben erklärt... wurd die auch schon mal woanderes erklärt ich hab nichts gefunden. :-(

bis dann

ich gebs auf-....
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 13.04.03 19:33 
Hier hat sich Chatfix die Mühe gemacht, und was über Schleifen geschrieben.

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
NoEon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 138

win9x, win 2000, win xp, linux 8.0

BeitragVerfasst: Mo 14.04.03 13:48 
ok also jetzt sieht das bei mri so aus.. mit der Power Funktion

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
procedure TForm1.BitBtn6Click(Sender: TObject);
var z, kn, p,ze,k0, lz:real;

begin

kn:=StrToFloat(edit16.Text);
p :=StrToFloat(edit17.Text);
lz :=StrToFloat(edit18.Text);

                      if edit16.text = '0' then if abfang1(edit16) then Exit;
                      if edit17.text = '0' then if abfang1(edit17) then Exit;
                      if edit18.text = '0' then if abfang1(edit18) then Exit;


                      k0:=kn*power((1+p/1*100), 1/lz);
                      //ze:=k0*(1+p/1*100);
                      //z:=power(ze, 1/lz);
                      //kn:= (k0*(power(1+p)/(100), 1/n));
                      //kn := k0*q^n mit q = 1+p/100


                      label27.caption:=FloatToStrf(k0, ffFixed, 18,2);
end;

aber ich bekomme krumme werte raus.. also stimmt nicht .. aber was nur ich hatte die Formel schon 2 mal umgestellt aber es ändert sich nichts!

unit math läuft und ist eingebunden
Danke und Gruss
NoEoN
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 14.04.03 14:08 
Zitat:
k0:=kn*power((1+p/1*100), 1/lz);
Wie kommst Du auf diese Formel? Wenn ich die Formel, die ich gepostet habe, nach k0 umstelle, bekomme ich ein 1/(q^lz) und dann muss es also nicht 1/lz, sondern -lz heißen.

Zitat:
kn:= (k0*(power(1+p)/(100), 1/n));
Wieso 1/n ? Und das (1+p) ist auch falsch. Es muss doch 1 + p/100 heißen und nicht (1+p)/100.

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
NoEon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 138

win9x, win 2000, win xp, linux 8.0

BeitragVerfasst: Mo 14.04.03 14:57 
hi Peter, erstmal danke das Du Dich intensiv mit meinem Problem beschäftigst!
p das ist meine Variable
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
begin
     if LCSAbfang(edit16) then begin
          kn:=StrToFloat(edit16.Text);
          if LCSAbfang(edit17) then begin
               p :=StrToFloat(edit17.Text);
               if LCSAbfang(edit18) then begin
                    lz :=StrToFloat(edit18.Text);



-->diese Zeile  kn:= (k0*(power(1+p)/(100), 1/p));---->ist unterlegt
                      //k0:=kn*power((1+p/1*100), 1/lz);
                      //ze:=k0*(1+p/1*100);
                      //z:=power(ze, 1/lz);
                      //kn:= (k0*(power(1+p)/(100), 1/n));
                      //kn := k0*q^n mit q = 1+p/100


                      label27.caption:=FloatToStrf(kn, ffFixed, 18,2);
end;
end;
end;

end.

das ist jetzt erstmal mein text (quelltext)
und ich bekomme noch immer folgenden Fehler
warte ich Zitiere
Zitat:
[Hinweis] Unit1.pas(116): Auf 'wert' zugewiesener Wert wird niemals benutzt
[Fehler] Unit1.pas(228): Nicht genügend wirkliche Parameter
[Fataler Fehler] zinsen.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden


so das setht da.. aber was nun noch nicht merh stimmt, das kann ich beim bestenwillen nicht sagen! Weil diese Meldungen, bis auf die letzte kenne ich nicht!

danke