AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Delphiproblem - Taschenrechner brauche hilfe !
Thema durchsuchen
Ansicht
Themen-Optionen

Delphiproblem - Taschenrechner brauche hilfe !

Ein Thema von -Ptype- · begonnen am 11. Mai 2010 · letzter Beitrag vom 28. Jul 2011
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.745 Beiträge
 
Delphi 12 Athens
 
#7

Re: Delphiproblem - Taschenrechner brauche hilfe !

  Alt 11. Mai 2010, 11:48
Erstmal wissen wir garnicht wie dein Taschenrechner arbeitet, da ist es schwer zu sagen, wie du was lösen kannst.

Dann kann ich garnicht verstehen, wie du nichts finden konntest, denn immerhin gibt es alleine mehrere Taschenrechner und Mathe-Bibliotheken hier in der DP, da sollte sich langsam mal für alles eine Lösung finden lassen.

Zitat von -Ptype-:
Zur rechenart die ich noch gerne haben würde, wäre die n-te wurzel aus x zu berechnen ohne die function oder wie das auch genannt wir "Power" aus der Unit math zu verwenden.
Tja, das sagt abernichts darüber aus, was du alles zum Lösen nutzen kannst.

PS: Es läßt sich eigentlich fast jede mathematische Operation auf die grundlegenste Operation reduzueiren.
> Die Addition
Das ginge selbst mit sowas, wie den Wurzeln.

PSS: Wenn ich mal so in meine letze Mathe-Lib reinschaue, dann wurde wird da grundsätzlich alles manuell errechnet und diese Lib ist hier in der DP zu finden.
In diese Lib ist zwar keine Funktion für die n-te Wurzel zu finden, aber wenn man sich das "einfache" Prinzip der "Quadratwurzel" ansieht, dann ist es ein Leichtes dieses für eine mehrfache Wurzelfunktion zu verwenden.




Zu dem Komma ... wenn dein Löschbutton das Komma löscht (du kannst ja vor dem Löschen prüfen was gelöscht wird), dann stellst du einfach das Button.Enable wird auf True und fertig.
Ist das denn so schwer?

PS: Hier mal eine etwas ältere und einfache Power-Funktio aus Delphi.
(in neueren Versionen ist ja eine optimiertere Variante verbaut)
Delphi-Quellcode:
{ Power: Raise base to any power.
  For fractional exponents, or |exponents| > MaxInt, base must be > 0. }

function Power(const Base, Exponent: Extended): Extended;
begin
  if Exponent = 0.0 then
    Result := 1.0 { n**0 = 1 }
  else if (Base = 0.0) and (Exponent > 0.0) then
    Result := 0.0 { 0**n = 0, n > 0 }
  else if (Frac(Exponent) = 0.0) and (Abs(Exponent) <= MaxInt) then
    Result := IntPower(Base, Integer(Trunc(Exponent)))
  else
    Result := Exp(Exponent * Ln(Base))
end;
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06: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