Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Programm, dass Terme mit einer Variablen vereinfachen kann » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Programm, dass Terme mit einer Variablen vereinfachen kann
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
JAB6240
Grünschnabel


Dabei seit: 03.04.2015
Beiträge: 1

Programm, dass Terme mit einer Variablen vereinfachen kann Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 JAB6240 ist offline E-Mail an JAB6240 senden Beiträge von JAB6240 suchen Nehmen Sie JAB6240 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Programm, dass Terme mit einer Variablen vereinfachen kann