 |
|
 |
 |
| Der Formelprozessor akzeptiert bei der Eingabe von Werten
auch komplexere Angaben wie |
 |
| (1758.30 - 25.50) * 1.2 |
| und kann zur Kalkulation von Preisen oder zur Ermittlung
von Lohndaten verwendet werden. |
|
 |
|
Taschenrechnerfunktion |
|
Bei jeder Eingabe verfügbar |
|
15 Klammerebenen |
|
Beliebige Berechnungen |
|
Logische Vergleiche |
|
Bedingte Anweisungen |
|
 |
| In Auswertungen berechnet der Formelprozessor Informationen, die im
eigentlichen Datenbestand des Systems gar nicht verfügbar sind, etwa eine Lohnliste, in
der alle Werte um 2.5 % erhöht sind, um die Auswirkungen der nächsten KV-Erhöhung
abzuschätzen. |
 |
| Grundsätzliche
Arbeitsweise |
| Generell kann man wie bei einem Taschenrechner Formeln eintippen, die
vom System je nach Anwendung sofort oder später während einer bestimmten Verarbeitung
ausgewertet werden und einen entsprechenden Wert liefern, der die ursprüngliche Eingabe
ersetzt. |
 |
| Funktionsübersicht |
Grundrechnungsarten: +, -, *, /
Punktrechnung vor Strichrechnung
Rundung mit
Standardrundungsoperator
15 Klammerebenen
Anwendungsdaten als Variablen
Währungskennzeichen
Vergleichsfunktionen
Bedingte Anweisungen |
 |
| Systembestandteile |
| Der Formelprozessor setzt sich aus einem Parser, einem Compiler, einem
Interpreter und einem Editor zusammen. |
 |
| Parser |
| Der Parser verarbeitet die eingegebenen Formeln und prüft sie auf
syntaktische Richtigkeit. |
 |
| Compiler |
| Der Compiler wandelt die vom Parser aufbereiteten Formeln in ein
internes Format um, wobei die Anwendung zwischen zwei Formen wählen kann: In einer Form
wird eine maximale Performance erreicht, während die zweite Form ein komprimiertes
Ergebnis liefert, das weniger Speicherplatz belegt, aber etwas langsamer ausgewertet wird. |
 |
| Interpreter |
| Der Interpreter verarbeitet die kompilierten Formeln und liefert das
zugehörige Ergebnis. |
 |
| Editor |
| Der Editor rekonstruiert aus den kompilierten Informationen die
ursprünglich eingegebene Formel, damit die gespeicherten Anweisungen wieder auf dem
Monitor dargestellt oder ausgedruckt werden können. |
 |
| Performance |
| Die Performance des Formelprozessors ist bei Verwendung von
nicht komprimierten Formeln so gut, dass sich auch bei 10 Millionen Schleifendurchläufen
keine signifikanten Unterschiede zur Verarbeitung direkt programmierter Formeln gezeigt
haben. Bei komprimierten Formeln muss jeder Wert vor seiner Verwendung erst entpackt
werden, was die Verarbeitungszeiten für eine Formel im Vergleich zur direkten
Programmierung etwa um 170 % erhöht. |
|
 |
| Anwendungsformen |
| Die Berechnungsfunktionen des Formelprozessors werden auf
drei verschiedene Arten verwendet: |
 |
| Eingabe von Beträgen |
Die Funktionen unterstützen den Benutzer
bei der Eingabe von Beträgen und sollen einen Taschenrechner ersetzen. Eingaben wie im obigen Beispiel
werden sofort ausgewertet, wobei das Ergebnis so verwendet wird, als ob es direkt
eingetippt worden wäre. Es ist also für das Programm gleichgültig, ob man 6*3 oder 18 eingibt. In
beiden Fällen arbeitet das Programm mit dem Wert 18. Nach Auswertung der Eingabe wird der
ermittelte Wert in das Eingabefeld übernommen, weshalb man hier nur noch das Ergebnis
sieht und die eingetippte Formel verschwunden ist. |
 |
| Speicherung für spätere Verwendung |
| Die zweite Form der Anwendung besteht darin, dass das Programm die
Eingabe nicht sofort auswertet, sondern sich die eingetippte Formel für eine spätere
Verwendung merkt. Damit kann man beispielsweise in der Warenkalkulation oder im Lohnsystem
Berechnungsvorschriften festlegen, die bei Bedarf immer wieder verwendet werden und je
nach den Ausgangsdaten unterschiedliche Ergebnisse liefern. Im Gegensatz zur
Betragseingabe wird hier nur die Formel gespeichert, weshalb man bei der Eingabe das
Ergebnis noch nicht sehen kann, sondern erst später bei der Ausführung jener
Verarbeitungen, welche die eingegebene Formel anwenden. |
 |
| Anwendung in Auswertungen |
| Bei der dritten Form werden in Listenauswertungen zusätzliche
Ausgabespalten eingefügt, in welche Werte eingetragen werden, die aus den Werten der
übrigen Spalten gemäß den beim Programmaufruf angegebenen Formeln berechnet werden. |
 |
| Variable
Werte |
| Die zweite und dritte Anwendungsform hat nur dann einen
Sinn, wenn variable Werte verwendet werden können, die bei der Eingabe noch gar
nicht bekannt sind und sich bei jeder Anwendung der Formel ändern können, zum Beispiel
"Einkaufspreis des Artikels" oder "Betrag der Lohnart". Außerdem
müssen logische Entscheidungen möglich sein, etwa "wenn der Betrag der
Lohnart 220 größer ist als jener der Lohnart 230, dann wird die Differenz dieser beiden
Lohnarten und andernfalls Null verwendet". |
|
 |
| Details
zum Formelprozessor |
| Allgemeine Rechenfunktionen |
 |
|
 |
| Klammerausdrücke |
 |
|
 |
| Variable Werte |
 |
|
|
 |
Steuerung der Verarbeitung,
Vergleiche und bedingte Anweisungen |
 |
|
|
 |
| Rundung |
 |
|
 |
| Formeln in Anwendungssystemen |
 |
|
|
 |
| Softwareentwicklung |
| Anwender mit eigener Softwareentwicklung können den
Formelprozessor über Bibliotheksfunktionen mit gewöhnlichen Funktionsaufrufen in C
beliebig in eigene Anwendungen integrieren. Zusätzliche
Bibliotheksfunktionen stehen für die Standardoperationen zum Speichern und Lesen von
Formeln in den Stammdaten der Dialog Data Anwendungssysteme sowie für die Verarbeitung
der Kurskennzeichen zur Verfügung. |
 |
 |
Softwarestandards |
|
 |
Benutzerorientierte Funktionen |
|
Allgemeine
Rechenfunktionen |
 |
|
|
 |