Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Berechnen von simpl. arithm.. Aufgaben in Delphi (https://www.delphipraxis.net/12498-berechnen-von-simpl-arithm-aufgaben-delphi.html)

scouty 28. Nov 2003 16:14


Berechnen von simpl. arithm.. Aufgaben in Delphi
 
Eine kurze Anfrage:

Kennt jemand eine Methode aus der Delphi-Library (Vers. 6) mittels welcher sich eine simple mathematische Aufgabe, die z.B. in einem String der Form „A+C*E-G/F“ vorliegt, ausrechnen lässt. Gerade im Hinblick auf die Regel: „Punktrechnung vor Strichrechnung“ scheue ich den Aufwand, diese Methode selber zu schreiben und hoffe, dass mir die Delphi-Library das irgendwie abnehmen kann.

Vielleicht noch angemerkt bei mir liegen die Werte in einer Liste vom Typ Float vor und die dazugehörigen Operanten (+,-,/,x,) numerisch codiert (1,2,3,4) in einer Integer-Liste. Damit will ich nur ausdrücken, dass ich nicht unbedingt eine Methode brauche, die mathematische Aufgaben in Form von Strings löst, sondern es können auch andere Datentypen sein. Die einzige Bedingung: ich muss die Aufgabe komplett übergeben können, sonst macht es für mich wenig Sinn.


Wenn jemand eine Methode kennt, dann wäre ich sehr dankbar für einen Tipp.

Schon mal vielen Dank im Voraus…

Greetings Scouty

sharkx 28. Nov 2003 16:20

Re: Berechnen von simpl. arithm.. Aufgaben in Delphi
 
es gibt ne unit mathe die einiges mitsich bringt. Aber einfaches (a div b) * c geht auch ohne :>

scouty 28. Nov 2003 16:31

Re: Berechnen von simpl. arithm.. Aufgaben in Delphi
 
Ich glaube, Ihr habt mich falsch verstanden. Ich kenn’ die Unit Math und ich weiß auch, dass man mit simplen Code Aufgaben rechnen kann.

Mein Problem ist jedoch folgendes:

Ich habe in einer Liste Operanten vom Typ Float und in einer anderen die dazugehörigen Operatoren.

z.B.
Liste Operanten: 12|25|6|8|10
Liste Operatoren: -|+|*|-

Das ergäbe dann folgende Aufgabe: 12-25+6*8-10

Jetzt könnte ich mir eine einfache Schleife schreiben, die mir diese Zahlen mit den dazugehörigen Operationen aufeinander rechnen. Das hat dann den Nachteil, dass ich die Regel: PunktVorStrichrechnung nicht eingehalten habe.

Folglich müsste ich die Funktion komplizierter schreiben, wo ich erst die Punktrechnung ausführe und dann die Strichrechnung usw..

Da ich mir das sparen wollte, habe ich mir gedacht, dass vielleicht die Library von Delphi eine Methode hat, wo ich die Aufgabe einfach in einen String packe und ausrechen lasse, oder halt was ähnliches.

Niels 28. Nov 2003 22:23

Re: Berechnen von simpl. arithm.. Aufgaben in Delphi
 
Du machst ne Schleife, die alle * und / sucht und die entsprechende Operation mit dem Element davor und danach ausführt. Das läuft so lange bis keine * und / mehr vorhanden sind. Nun lässt du einfach alle Summanden Addieren.
Fertig! :thuimb:

scouty 30. Nov 2003 10:16

Re: Berechnen von simpl. arithm.. Aufgaben in Delphi
 
Klar, so oder ähnlich hätte ich das wohl letztendlich machen müssen, falls sich keine schon fertige Lösung findest. Ich hatte eben nur gedacht, dass es vielleicht schon eine Methode gibt, die mir das abnimmt. Kennt Ihr denn das nicht, Ihr erarbeitet Euch eine Methode oder gar Klasse, d.h. Ihr entwickelt, programmiert und testet sie, was mitunter viel Zeit in Anspruch nehmen kann, dann läuft sie endlich und Ihr seid zufrieden. Doch irgendwann später stellt Ihr vielleicht dann bei einen Eurer späteren Recherchen in der Delphi-Library fest, dass es dort schon eine Klasse oder Methode für das Problem gab, für welches Ihr einst die Zeit und Energie aufgebracht habt, sie selbst zu entwerfen. Mir ist es jedenfalls schon oft so gegangen. Daher durchstöbere ich immer die Delphi-Library oder höre mich in der Fachwelt um, bevor ich die Lösung für ein Problem entwickle, von dem ich annehme, dass es vielleicht schon eine in der IDE geben könnte. Aber offensichtlich werde ich wohl bei diesem speziellen Problem meine eigene Methode entwickeln müssen. Nun gut der Versuch war’s mir wert. Ich danke Euch trotzdem für Eure Beiträge.

Bis demnächst Scouty

Kamil 30. Nov 2003 10:37

Re: Berechnen von simpl. arithm.. Aufgaben in Delphi
 
Klick mich!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz