Aufgabe
Um die Aufgabenstellung zu verstehen, sind zunächst einige Vorbemerkungen
notwendig. Unter den mitgelieferten Dateien befinden sich neben den
eigentlichen Netzwerkprogrammen eine Reihe von Dateien X* und Y*. Dabei
handelt es sich um einfachst codierte Bilder bzw. Muster rechteckigen
Typs mit Eintragungen "X" (entspricht schwarzem Pixelpunkt) und
"." (entspricht weißem Pixelpunkt). Diese Codierung kann einerseits problemlos
und rechnerunabhängig von den C-Programmen gelesen werden, andererseits
ist die direkte Ausgabe der Dateien auf dem Bildschirm auch für den
Betrachter in unmittelbarer Weise interpretierbar. Konkret entsprechen die
Dateien XX1, XX2, YY1 und YY2 sowie XX1ERR und XX2ERR genau den in Abschnitt 5.4
diskutierten Mustern. Bei X1 bis X3 und Y1 bis Y3 handelt es sich um codierte
Groß- und Kleinbuchstaben, und zwar konkret um
X1<>T, X2<>H, X3<>C, Y1<>t, Y2<>h
und Y3<>c, sowie bei X1ERR1 bis X1ERR10 um mehr und mehr verfälschte Versionen
des Großbuchstabens T bzw. der Datei X1. Die Leseroutinen für diese
Dateien überprüfen stets, ob die Anzahl der Zeilen und Spalten des
jeweiligen Bildes mit den vom Programm erwarteten Bildparametern übereinstimmt.
Aus diesem Grunde sind Spalten- und Zeilenanzahl als Integer-Zahlen den
Bildern vorangestellt und eventuell widersprüchliche Parameter führen
zu Fehlermeldungen im Programm. Im Detail veranschaulichen wir uns wieder die
Funktionsweise von KOSKOBIL.C anhand einer konkreten Aufgabe.
Nun zur eigentlichen Aufgabe:
Schauen Sie sich das Flussdiagramm und das Listing des
Programms KOSKOBIL.C an, und machen
Sie sich seine Funktionsweise klar. Wenden Sie das Programm konkret
an, und zwar in folgender Form:
- Um sich mit dem Programm vertraut zu machen, wende man es
zunächst auf das in Abschnitt 5.4
diskutierte Bilderassoziationsproblem an (lernen, zeigen, ausfuehren),
wobei die Zeilenanzahl im Eingangsbild 3,
die Spaltenanzahl im Eingangsbild 2,
die Zeilenanzahl im Ausgangsbild 2 und schließlich
die Spaltenanzahl im Ausgangsbild 2 ist.
- Anschließend ändere man das Netz so, dass die durch X1-Y1,
X2-Y2 und X3-Y3 codierten Assoziationen
T-t, H-h und C-c gelernt werden können
(veraendern, lernen, zeigen),
wobei nun die Zeilenanzahl im Eingangsbild 4,
die Spaltenanzahl im Eingangsbild 5,
die Zeilenanzahl im Ausgangsbild 4 und schließlich
die Spaltenanzahl im Ausgangsbild wieder 5 ist.
- Anschließend lasse man das Netz im Ausführ-Modus (ausfuehren) sowohl
auf den exakten Eingangsbildern als auch auf den zehn fehlerhaften
T-Bildern X1ERR1 bis X1ERR10 arbeiten. Was passiert?
- Man spiele selbständig ein wenig mit dem Netz herum.
Burkhard Lenze
Im Februar 2009