SAI || Wintersemester 1997/98 || Entwicklung objekt-orientierter Bibliotheken || Übungen

Übungen zu Entwicklung objekt-orientierter Bibliotheken
Blatt 2 (24. 10. - 31. 10. 1997)


Aufgabe 4 (20 Punkte)

Schreiben Sie ein Oberon-Modul für das Rechnen mit Booleschen Ausdrücken. Die Datenstruktur sollte Bäume aus folgenden Elementen darstellen können: Das Modul soll Prozeduren zur Verfügung stellen, um solche Ausdrücke aufzubauen, und eine Funktion, die einen Ausdruck mit einer konkreten Belegung der Variablen berechnet. Hierfür ist es zweckmäßig, einen Parameter vom Typ SET zu verwenden. Die Datenstruktur für Ausdrücke soll als abstrakter Datentyp realisiert werden.

Schreiben Sie ein zweites Oberon-Modul, mit dem man solche Ausdrücke einlesen kann. Dazu wird folgende Eingabesyntax empfohlen:
0 steht für FALSE
1 steht für TRUE
Kleinbuchstaben stehen für Variablen
- steht für NOT
* steht für AND
+ steht für OR
/ steht für XOR (exklusives Oder)

Ein Ausdruck wird in Polnischer Notation eingegeben, d.h., die Operatoren gehen den Operanden voran.

Beispiel:

+ * a b * - a c steht für: (a AND b) OR ((NOT a) AND c)

Ergänzen Sie die beiden Module durch ein Hauptprogramm, mit dem Sie alle Funktionen testen können.


SAI || Wintersemester 1997/98 || Entwicklung objekt-orientierter Bibliotheken || Übungen

Martin Hasch, Oktober 1997