UPN-Taschenrechner


UPN steht für umgekehrte Polnische Notation, setzt man diese Notation ein um Rechnungen durchzuführen benötigt man keine Klammern und muss sich auch keine Gedanken über Vorrangregeln machen.

Beispiele:
Gewohnte Infix Notation UPN (Postfix) Notation
(2 + 3) * 5 2 3 + 5 *
1 + 2 + 3 1 2 + 3 + oder 1 2 3 + +
sqrt(25) 25 sqrt

Aufgabe:
Um das Ergebnis möglichst flexibel nutzen zu können soll eine Bibliothek entwickelt werden, welche die Funktionalität enthält. Zur Nutzung soll ein Frontend für die Kommandozeile und eventuell eine graphische Oberfläche entwickelt werden.

Funktionalität:

  • Grundrechenarten, Wurzel, Trigonometrie, Logarithmus, ...
  • Definieren symbolischer Funktionen (z.B.: "x = a + b * 2" => "2 3 x = 8")
  • Ergebnisverfolgung in Postfix/Infix (wie ist ein Ergebnis entstanden z.B.: Eingabe: "1 2 3 + +" => Ergebnis: "6" => Weg: "1 + 2 + 3")

Hinweise: Das Projekt soll in einzelnen Stufen bearbeitet werden:

  • Die Problemanalyse soll mit einem kurzen Pflichtenheft (2-4 Seiten) abgeschlossen werden.
  • An die Analyse soll sich die Implementierung anschließen.
  • Als Abschluss des Bakkalaureatsprojekts ist ein schriftlicher Bericht von 30-40 Seiten abzugeben, der zumindest die folgenden Kapitel enthalten soll: Beschreibung der Aufgabe und ihres Umfeldes (d.h. wichtige Begriffe, bestehende Lösungen, etc.), Benutzerdokumentation, Implementierungsbeschreibung, Kritische Beurteilung und Ausblick.

Betreuung: Nach der intensiveren Anfangsphase (kurze Besprechungen im Wochenabstand), die zur Absteckung des Problemfeldes und zur Klärung von Problemen dient, sollen im Zweiwochen-Rhythmus kurze Besprechungen stattfinden, um einen zügigen Fortgang des Projekts zu gewährleisten.

Programmiersprache: C# oder Java
Betreuer: Dipl.-Ing. Markus Löberbauer