|
|
Programm, dass Terme mit einer Variablen vereinfachen kann |
JAB6240
Grünschnabel
Dabei seit: 03.04.2015
Beiträge: 1
|
|
Programm, dass Terme mit einer Variablen vereinfachen kann |
|
Meine Frage:
Hallo,
ich möchte eine iOS-App in Objective-C schreiben, die Terme, die man als String mit der Infix-Notation eingibt,
ableitet. Eine mögliche Eingabe wäre z.B.: "3*X+5". Es ist mir nun gelungen, den Term abzuleiten, und den abgeleiteten Term in Form der Postfix-Notation auszugeben. Dieser abgeleitete Term ist aber noch gar nicht
vereinfacht, sodass bei dem oben genannten Beispiel folgendes rauskommt: "0 X * 3 1 * + 0 +". Das ist zwar schon die richtige Ableitung, aber noch lange nicht vereinfacht. Welchen Algorithmus benötigte man, um diesen Term zu vereinfachen, sodass nur "3" rauskommt?
Vielen Dank für Hilfe im Voraus
Meine Ideen:
Der zu vereinfachende Term liegt sowohl in Postfix- als auch in Infixnotation vor.
|
|
03.04.2015 17:24 |
|
|
|
Da führt wohl kein Weg daran vorbei, Vereinfachungsregeln zu definieren:
- Multiplikation mit 0 gibt 0
- Multiplikation mit 1 / Addition mit 0 ändert nichts
- Rechnung mit Konstanten kann berechnet und eingesetzt werden
- Minus mal Minus gibt Plus
- ...
Ich habe vor einiger Zeit mal C# Code dazu hochgeladen, falls der dir weiterhilft: Link, ab Zeile 150.
Die Funktion wird hier aber über einen Binärbaum gespeichert.
Habe das auch noch in Java auf der Platte, falls Interesse besteht.
__________________ Syntax Highlighting fürs Board (Link)
|
|
03.04.2015 21:00 |
|
|
|
|
|
|
|