Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Taschenrechner: Quadrieren (a^b) (https://www.delphipraxis.net/86129-taschenrechner-quadrieren-%5Eb.html)

DeviLchen 13. Feb 2007 14:02

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...

TonyR 13. Feb 2007 14:05

Re: Taschenrechner: Quadrieren (a^b)
 
Mit dem "oder?" habe ich mich auf Klaus bezogen....

Hast du jetzt noch Probleme?

Thorben_K 13. Feb 2007 16:08

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;

Jowo 13. Feb 2007 19:40

Re: Taschenrechner: Quadrieren (a^b)
 
Zitat:

Zitat von Klaus01
Zitat:

Zitat von DeviLchen
Hey,

wir sollten heute in Informatik einen Taschenrechner erstellen. Das hab ich soweit auch alles gut hinbekommen. Jedoch sollte dieser auch a^b ausrechnen können. Dafür soll man die Zahlen in 2 Edit Fenster eingeben (a und b) und im 3. soll es angezeigt werden (c). Jedoch weiß ich nicht, wie man das macht. Kann mir da jemand helfen? Ich bin soweit fertig und mein Lehrer sagt wir sollen, wenn wir nicht weiter kommen, im Internet suchen. Aber dazu habe ich nichts gefunden..

Dazu kannst Du dir einmal die Funktion power in der Delphi Hilfe anschauen.

Für Anfänger sicher auch gut geeignet ist die Berechnung von a^b in einer for-Schleife:
Delphi-Quellcode:
for i := 2 to b do
    a := a*a;

3_of_8 13. Feb 2007 19:44

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)

JasonDX 13. Feb 2007 19:44

Re: Taschenrechner: Quadrieren (a^b)
 
Zitat:

Zitat von Jowo
Für Anfänger sicher auch gut geeignet ist die Berechnung von a^b in einer for-Schleife:
Delphi-Quellcode:
for i := 2 to b do
    a := a*a;

Ja, aber sicher nicht so, wie sie da steht.
Da koennte das hier schon eher klappen:
Delphi-Quellcode:
result := 1;
for i := 1 to b do
  result := result * a;
;)

greetz
Mike

Jowo 13. Feb 2007 19:46

Re: Taschenrechner: Quadrieren (a^b)
 
Oh, da hat wohl jemand vor dem schreiben überhaupt nicht nachgedacht :wall:

Amateurprofi 14. Feb 2007 01:46

Re: Taschenrechner: Quadrieren (a^b)
 
Zitat:

Zitat von TonyR
meine proc war ja auch nicht wirklich überlegt,w eil wir hier ja auch eigentlich keine Lösungen präsentieren sollen sondern den Fragesteller zur Lösung hinführen sollen! Weil sonst lernt er es in der Schule ja nie, oder? :wink:

Außerdem hätte meine Proc sogar glaube ich ne Exception hervorgerufen! (bei a=0)


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.

3_of_8 14. Feb 2007 11:31

Re: Taschenrechner: Quadrieren (a^b)
 
Aber auch nur, wenn die Rangechecks an sind, oder? *kratz*

Amateurprofi 14. Feb 2007 18:14

Re: Taschenrechner: Quadrieren (a^b)
 
Zitat:

Zitat von 3_of_8
Aber auch nur, wenn die Rangechecks an sind, oder? *kratz*

daran hatte ich noch gar nicht genacht.
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.
Seite 2 von 2     12   

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