Korrektur für Blatt 11
Parsing
- Gewählte Syntax
- Umgekehrte Polnische Notation
- Mathematische Ausdrücke mit Operatorpräzedenz
- Funktionalität:
- Ziffern (1 Pkt)
- Ganze Zahlen (1 Pkt)
- Binäre Operatoren
+
, /
, -
, ^
(2 Pkt) - Unärer Operator
-
(unär) (1 Pkt) - Variablen (1 Pkt)
- Funktionen (
sin
, cos
, exp
und log
) (2 Pkt) - Bonus: Fließkommazahlen (zusätzlich 3 Pkt)
- Erklärung des Klassendesigns (2 Pkt)
- Bonus: UML-Diagramm der Klassenhierarchie (zusätzlich 7 Pkt)
- Zusatzpunkte für den schwierigeren Parser nach ermessen (zusätzlich bis zu 40 Pkt)
Evaluation
- 1) Rücktransformation (3 Pkt)
- 1) Tests bestanden; es gilt
Expr(Expr(s)).to_string() == Expr(s).to_string()
(2 Pkt) - 2) Mathematische Evaluation (3 Pkt)
- 2) Tests bestanden; beide Gleichungen stimmen (bis auf Machinenungenauigkeit) im selbst implementierten System (2 Pkt)
Symbolische Ableitung
- Standardableitungen für die vordefinierten Funktionen korrekt implementiert (2 Pkt)
- Produktregel d. Ableitung korrekt implementiert (2 Pkt)
- Additivität d. Ableitung korrekt implementiert (2 Pkt)
- Kettenregel d. Ableitung korrekt implementiert (2 Pkt)
- Standardableitungen für die restlichen Operatoren (
^
und -
) korrekt implementiert (2 Pkt) - Bonus: Ableitung v. Divisionen korrekt implementiert (zusätzlich 3 Pkt)
GUI
- Gewählte GUI
- Basisfenster (Grundgerüst steht & wird wie beschrieben dargestellt) (2 Pkt)
- Eigener Parser eingebaut / wird verwendet (2 Pkt)
- Funktionalität wie beschrieben (6 Pkt)
Feedback zum Code (keine Punkte)
...
Gesamtwertung
erreichte Punkte: 0 Pkt / 40 Pkt