![]() |
Re: Taschenrechner: Quadrieren (a^b)
nya, wir sollten uns anregungen im internet suchen, sozusagen "halbe lösungen".. woher sollen wir wissen wie sowas geht? ich mach das das 1. mal...
|
Re: Taschenrechner: Quadrieren (a^b)
Mit dem "oder?" habe ich mich auf Klaus bezogen....
Hast du jetzt noch Probleme? |
Re: Taschenrechner: Quadrieren (a^b)
Altanative auch noch als rekurive Function
Delphi-Quellcode:
function nfacultaet(a : LongInt):LongInt; begin if a = 1 then result := 1 else result := a * nfacultaet(a-1); end; |
Re: Taschenrechner: Quadrieren (a^b)
Zitat:
Delphi-Quellcode:
for i := 2 to b do
a := a*a; |
Re: Taschenrechner: Quadrieren (a^b)
:shock:
Damit berechnest du alles mögliche, aber NICHT a^b. Genauer: Du berechnest damit a^(2^(b-1)). (wenn b>1, ansonsten kommt da ein undefinierter Wert raus) |
Re: Taschenrechner: Quadrieren (a^b)
Zitat:
Da koennte das hier schon eher klappen:
Delphi-Quellcode:
;)
result := 1;
for i := 1 to b do result := result * a; greetz Mike |
Re: Taschenrechner: Quadrieren (a^b)
Oh, da hat wohl jemand vor dem schreiben überhaupt nicht nachgedacht :wall:
|
Re: Taschenrechner: Quadrieren (a^b)
Zitat:
Nein, warum sollte Deine Lösung eine Exception auslösen? Die for-Schleife wäre schlicht und einfach nicht ausgeführt worden. Allerdings wenn a als vorzeichenloser Typ definiert wäre, Also Cardinal, Word oder Byte, dann hätte bei a=0 das a-1 ne Exception geworfen, aber ich denke mal, daß bei solchen Funktionen normalerweise der Typ Integer benutzt wird. |
Re: Taschenrechner: Quadrieren (a^b)
Aber auch nur, wenn die Rangechecks an sind, oder? *kratz*
|
Re: Taschenrechner: Quadrieren (a^b)
Zitat:
Klar, wenn Rangecheckings aus sind dann gibts keine Fehlermeldung, aber es dauert dann ein paar Sekunden bis das falsche Ergebnis 0 zurückgegeben wird.... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:40 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