va-Makros für Taschenrechner benutzen



  • Hallo.
    Ich habe mir gerade die va-Makros angeschaut und ich muss sagen, dann man mit ihnen wunderbar einen Taschenrechner erstellen könnte, welcher recht komplexe Dinge ausrechnen muss. Zum Beispiel:
    2/3*23^9-2

    So wäre es nämlich egal, wieviel Berechnungen in einem Ausdruck stehen. Es ist zum Beispiel egal, ob:
    4^3
    oder
    1-3*4^(8/2)

    da die Anzahl der Parameter in einer Funktion, welche alles berechnet nicht beschränkt ist.
    Nur man muss ja explizit eine Abbruchbedingung für die Parameterliste bereitstellen, da die va-Makros nicht erkennen, wann eine Parameterliste zu Ende ist.
    Vielleicht hättet ihr eine gute Idee und jetzt ist für mich die Frage, ob dies eine gute Lösung für einen recht komplexen Taschenrechner ist oder ob eine andere Methode besser angebracht wäre.
    Hoffe ihr könnt mir ein paar Tipps geben.

    Gruß Speedy_92



  • Hmm, ich finde die Idee irgendwie nicht so berauschend.
    Solche Ausdrücke würde man durch Rekursion berechnen.
    Und des weiteren weißt du doch noch gar nicht zur Compile-Time
    wieviele Argumente du benötigst. Daher gibt es keinen Vorteil.



  • Bei den va-Makros ist es ja auch egal, wie viele Argumente ich in meiner Funktion habe.



  • sdfd schrieb:

    Und des weiteren weißt du doch noch gar nicht zur Compile-Time
    wieviele Argumente du benötigst.



  • OK. Vielen Dank. Aber wie könnte ich das Problem denn lösen, also sodass es bei einem Taschenrechner egal ist, welche Länge der Ausdruck hat, welcher berechnet werden soll?



  • das ist (leider) ein wenig kompliziert. der erste schritt ist einen parser zu implementieren, der den eingabeausdruck validiert und interpretiert. such mal im forum danach, hier gibt's ein haufen beispiele dafür 😉



  • Ok dann begebe ich mich mal auf die Suche 🙂

    Vielen Dank.


Anmelden zum Antworten