Professor Dr. F. Schweiggert Abteilung Angewandte Informationsverarbeitung
Johannes MayerBlatt 9


[c]



Allg. Informatik für WiWi (WS 2000)


Abgabetermin: 18. Januar 2001

1. Bruchstücke (10 Punkte)

Zunächst sollen Sie ein Oberon-Modul WordCut schreiben, das Zeichen von der Standardeingabe liest. Whitespaces, d.h. Leerzeichen, Tabulatoren und Zeilenumbrüche, sollen dabei sofort ausgegeben werden. Alle anderen Zeichen sind jeweils Bestandteil eines Wortes, d.h. Worte sind durch Whitespaces voneinander getrennte Folgen von Nicht-Whitespaces. Von jedem Wort sollen nur die ersten MAXLEN Buchstaben ausgegeben werden, wobei MAXLEN in Ihrem Programm als ganzzahlige Konstante (z.B. mit Wert 3) zu definieren ist. Die restlichen Zeichen eines Wortes werden ignoriert. Sie können (müssen aber nicht!) zunächst einen Automaten konstruieren (vgl. Übungen) und diesen dann in ein Oberon-Programm transformieren.

2. Wortverdreher (10 Punkte)

Nun dürfen Sie ein Oberon-Programm Invert schreiben, das Zeichen für Zeichen von der Standardeingabe liest. Whitespaces sollen unverändert ausgegeben werden. Worte sollen umgedreht ausgegeben werden, d.h. zunächst das letzte Zeichen des Wortes ausgeben, dann das vorletzte und zuletzt das erste Zeichen des Wortes. Sie können annehmen, dass Worte die maximale Länge MAXLEN besitzen. Diese Konstante sollten Sie in Ihrem Programm definieren (z.B. mit dem Wert 80). (Hinweis: Während Sie ein Wort lesen, sollten Sie die einzelnen Zeichen in einem Array speichern. Dieses Array kann die feste Länge MAXLEN haben. Sollte ein Wort größerer Länge vorkommen, so geben Sie eine Fehlermeldung aus. Die Grundstruktur dieses Programmes ist gleich der Grundstruktur des Programmes in der vorigen Aufgabe.)



Viel Erfolg,
fröhliche Weihnachten
und einen guten Rutsch ins neue Jahr!




P.S.: In den Übungen wird das Oberon-Programm As, welches aus den Dateien As.od und As.om besteht, mit Hilfe des folgenden Automaten hergeleitet. (Durch dieses Programm soll von jeder Folge von a's deren Länge ausgegeben werden und am Ende die Länge der längsten Folge. Das Programm arbeitet dabei als Filter, d.h. liest von der Standardeingabe und schreibt auf die Standardausgabe.)

\epsfbox{progs/bilder/As.eps}
Das zu diesem Automaten korrespondierende Programm liest Zeichen für Zeichen von der Standardeingabe, simuliert dabei die Zustandsübergänge (beginnend bei dem oberen Zustand) und führt bei jedem Zustandsübergang das angegebene Oberon-Progrämmchen aus.

Johannes Mayer, 2000-12-21