Entwickler-Ecke

Algorithmen, Optimierung und Assembler - delphi taschenrechner mit potenzfunktion


gs1905 - So 28.09.08 17:42
Titel: delphi taschenrechner mit potenzfunktion
kann mir jemand helfen wie man einen taschenrechner mit potenzfunktion konstruieren kann ich habe keine ahnung wie es gehen soll wie ich anfangen soll das wäre lieb thx


nagel - So 28.09.08 17:48

Die Funktion zum potenzieren heißt Power und ist in der Unit Math.
Hättest du aber sicher auch mit der Suche gefunden ;) .


gs1905 - So 28.09.08 17:53

ja wie in power in uses math kein plan was du geschrieben hast ich bin ein neu einsteiger ich hab nichts verstanden was du geschrieben hast kannst du es pls besser erklären?

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

wie kann ich denn etwas suchen?


Marc. - So 28.09.08 18:01

Die SuFu (Suchfunktion) findet sich oben rechts oder hier [http://www.delphi-forum.de/search.php].
Schau dir aber am besten mal den Crashkurs [http://www.christian-stelzmann.de/index_tutorials_crashkurs.html] vom user profile iconChristian an. :)

Zu deinem eigentlichen Problem. Ganz oben in der Unit befindet sich die Uses-Klausel, die alle verwendeten Units beinhaltet. Einfach die Unit Math, die die Funktion Power() beinhaltet, mit in die Liste aufnehmen.

Grüße,
Marc


Delete - So 28.09.08 18:19

Mit ein wenig Überlegung kann man sich eine solche Funktion aber auch selber schreiben.


Timosch - So 28.09.08 18:51

user profile iconDeddyH hat folgendes geschrieben:
Mit ein wenig Überlegung kann man sich eine solche Funktion aber auch selber schreiben.

1.) Warum denn bitte schön, wenns doch schon eine gibt...?
2.) Er weiß nicht mal, wo die uses-Klausel steht, also wird er das wohl nicht können... Nicht verunsichern! :mrgreen:

Und an den Threadstarter: Erstmal :welcome:
Wie du vorgehen musst, hat ja schon Marc gesagt. Wenn du allerdings solche elementaren Dinge nicht kennst, solltest du in der Tat mal ein Tutorial (Link wurde ja auch schon gepostet) durchlesen, denn ohne Grundlagen stößt man ständig auf solche Sachen.


Delete - So 28.09.08 18:56

Timosch hat folgendes geschrieben:
Warum denn bitte schön, wenns doch schon eine gibt...?

Weil das übt und das Verständnis erhöht? Mir geht es z.B. ziemlich auf den Geist, dass manche User für die simpelsten Sachen nach einer Komponente schreien.


gs1905 - So 28.09.08 21:32

jao ich habs danke nochmals an alle thx


Jakob_Ullmann - Di 30.09.08 13:32

Weil's auch schwierig wird, wenn man zum Beispiel 4,56512 oder sowas als Exponenten hat. :wink: (ich wüsste jetzt auf Anhieb nicht, wie ich das machen würde, berechnen kann man ja sowas nicht)


AXMD - Di 30.09.08 13:35

user profile iconJakob_Ullmann hat folgendes geschrieben:
Weil's auch schwierig wird, wenn man zum Beispiel 4,56512 oder sowas als Exponenten hat. :wink: (ich wüsste jetzt auf Anhieb nicht, wie ich das machen würde, berechnen kann man ja sowas nicht)


Wieso sollte das ein Problem sein? Exponenten können sehr wohl reell (oder sogar komplex, sofern man die notwendigen Operationen implementiert) sein. Zudem gilt immer:


Quelltext
1:
a^b = Exp(b * Ln(a))                    


AXMD


Jakob_Ullmann - Di 30.09.08 13:39

Ja, aber gebrochene Exponenten kann man doch nur nähern, oder?

BZW: Bei exp(y) benutzt man ja wieder eine fertige Funktion, nämlich e^y, und da wäre man ja wieder vor demselben Problem.


AXMD - Di 30.09.08 13:48

user profile iconJakob_Ullmann hat folgendes geschrieben:
Ja, aber gebrochene Exponenten kann man doch nur nähern, oder?


Das gilt prinzipiell für alles, was du mit einem Computer berechnest - du kannst immer nur auf x Dezimalstellen genau rechnen.

user profile iconJakob_Ullmann hat folgendes geschrieben:
BZW: Bei exp(y) benutzt man ja wieder eine fertige Funktion, nämlich e^y, und da wäre man ja wieder vor demselben Problem.


Inwiefern ist das ein Problem? Außerdem kannst du e^y sehr schön mit einer MacLaurin-Reihe annähern, falls du das unbedingt selbst ausprogrammieren möchtest ;)

AXMD


Tilo - Di 30.09.08 15:19

Kleine Anmerkung am Rande (fals ich falsch liege bitte sagen).
Um die Power Funktion zu nutzen ginge auch ohne bei uses die Math Unit anzugeben. Im Code schreib mann dann einfach

Delphi-Quelltext
1:
Ergebnis:=Math.Power(Basis,Exponent);                    


nagel - Di 30.09.08 15:23

user profile iconTilo hat folgendes geschrieben:
Kleine Anmerkung am Rande (fals ich falsch liege bitte sagen).

Falsch ;) .


Jakob_Ullmann - Di 30.09.08 15:36

Genau, das geht afaik nur, um gleichnamige Funktionen aus verschiedenen Units zu unterscheiden (falls das nicht durch die Parameter möglich ist). Also einbinden musst du immer.