Prof. Franz Schweiggert Abteilung Angewandte Informationsverarbeitung 6. Dezember 2002
Christian Ehrhardt Blatt 8


Uni Logo



Allgemeine Informatik 3 (WS 2002/2003)


Abgabetermin 15.12.2002

1 Modularisierung, die Erste (4 Punkte)

In diesem Blatt soll eine Lösung von Blatt 6 modularisiert werden. Ein Modul (bestehend aus Headerdatei und Implementierung) soll den Baum implementieren, ein weiteres Modul soll das Hauptprogramm enthalten. Das Modul, das den Baum implementiert soll folgende Bedingungen erfüllen: Um die zweite Eigenschaft zu testen, soll das Hauptprogramm von Blatt 6 um einen zweiten Baum erweitert werden. In diesen zweiten Baum werden die gleichen Namen eingefügt, allerdings ohne den ersten Buchstaben. Selbstverständlich gehört zu einem modularisierten Programm auch ein passendes Makefile.
Zusammengefaßt wird das Modul also die folgenden Schnittstellenfunktionen implementieren müssen, die vollkommen unabhängig davon sind, ob die Implementierung einen Baum oder irgend eine andere Datenstruktur verwendet. Deshalb wird in der Beschreibung der Schnittstelle auch der Begriff Container und nicht der Begriff Baum verwendet: Im Hinblick auf den zweiten Teil der Aufgabe (siehe unten), kann die Berechnung der Baumtiefe und alles was im Hauptprogramm damit zusammenhängt, entfallen.

2 Modularisierung die Zweite (6 Punkte)

Um zu testen, ob die Modularisierung auch richtig funktioniert, soll jetzt eine zweite Implementierung der Schnittstelle durch eine einfach verkettete Liste geschrieben werden. Es sollte möglich sein, die Baumimplementierung durch die Implementierung als Liste zu ersetzten, ohne daß die Headerdatei oder das Hauptprogramm verändert werden müssen. Das Makefile soll so angepaßt werden, daß zwei ausführbare Programme erzeugt werden: Eines, das die Baumimplementierung verwende und eines, das die Listenimplementierung verwendet.



Christian Ehrhardt 2002-12-06