Prof. Franz Schweiggert Abteilung Angewandte Informationsverarbeitung 27. Oktober 2004
Christian Ehrhardt Blatt 1


Uni Logo



Allgemeine Informatik 3 (WS 2004/2005)


Abgabetermin 2.11.04 2004

Präprozessor (10 Punkte)

Auf der Homepage der Vorlesung gibt es 2 Dateien:
original
Diese Datei enthält ein Originalgedicht.
gedicht.c
Diese Datei enthält etwas, das dem Originalgedicht nur bedingt ähnlich sieht.
Kopiert beide Dateien in ein Verzeichnis. Die zweite Datei soll vom C-Präprozessor bearbeitet werden. Ziel ist es, daß die Ausgabe des C-Präprozessors dem Originalgedicht möglichst ähnlich sieht. Um dies zu erreichen sollt Ihr zwei weitere neue Dateien ``makros'' und ``strophe'' (im selben Verzeichnis!) erstellen. Wichtig: Die Datei ``gedicht.c'' selbst darf nicht verändert werden.
Wenn man aus der Ausgabe des Präprozessors alle Zeilen, die mit ``#'' beginnen entfernt, dann sollten die Ausgaben des Präprozessors und das Origial exakt übereinstimmen. Testet dies.


Für eine Verfilmung des Gedichts müssen kleinere Anpassungen vorgenommen werden, so heißt der Steuermann aus Werbegründen ``Hewlett Packard'' und das Ziel der Schwalbe ist wegen des schöneren Wetters jetzt Bilbao. Wie aufwendig ist es, diese Änderungen in der Ausgabe des Präprozessors zu erreichen?

Hinweis: Präprozessormakros können auch Parameter bekommen, z.B. so:

#define DOIT(XXX,YYY) XXX muss noch YYY erledigen
Mit dieser Definition wird dann
DOIT(Peter,das AI 3 Uebungsblatt)
durch
   Peter muss noch das AI 3 Uebungsblatt erledigen
ersetzt.

Christian Ehrhardt 2004-10-27