zurück
parser
Ablauf:
Prüfen
Rekursiver Algorithmus
String "von aussen" zerlegen: Suche nach (){}[]
Teilstring nach Operatoren absuchen: +-*/.x^
Nach den Operatoren kommen die Funktionen: sum, ... incl. Klammern
Baumstruktur aufbauen
Variablen prüfen
Auswerten:
Variablen belegen
rekursiv Baum "von hinten" aufrollen; richtige Zuordnung beachten !
Ergebnis ausgeben
Funktionstypen:
Messfunktion: f_1,...,f_m
Dreieck : A,B,C
Kante : P,Q
Operatoren:
+ : | vekt + vekt -> vekt, |
zahl + zahl -> zahl |
- : | vekt - vekt -> vekt, |
zahl - zahl -> zahl |
* : | zahl * vekt -> vekt, |
vekt * zahl -> zahl, |
zahl * zahl -> zahl |
/ : | vekt / zahl -> vekt, |
zahl / zahl -> zahl |
. : | vekt . vekt -> vekt |
x : | vekt x vekt -> vekt |
^ : | zahl ^ zahl -> zahl |
Funktionen:
Messfunktion
sum |
sum() | Summe |
min |
min() | Minimum |
max |
max() | Maximum |
span |
span() | Spanne |
Dreieck
a |
a (A,B,C) | Fläche |
v |
v (A,B,C) | Volumen |
u |
u (A,B,C) | Umfang |
u |
u (A,B,C,zahl) | Umfang |
det |
det(A,B,C) | Determinante |
R |
R (A,B,C) | Umkreisradius |
r |
r (A,B,C) | Inkreisradius |
isq |
isq(A,B,C) | isoper. Quot. |
Vektor
len |
len (A) | Länge |
len |
len (A,p) | lp-norm |
sph |
sph (A,B) | sph. Distanz |
dist |
dist(A,B) | eukl. Distanz |
Zahl
sin | cos | tan |
csc | sec | cot |
asin | acos | atan |
acsc | asec | acot |
exp | sqrt | root |
Lienhard Wimmer ( Impressum )
2004-04-21