Bilddaten invertieren
Problembeschreibung
Ziel ist es nach wie vor, eine PGM-Grafik zu invertieren. Aus hell wird dann dunkel und umgekehrt.
In der strukturieten Datendarstellung erkennt man, dass die Zahlen zur Darstellung der Graustufen passenden abgeändert werden.
Modellierung einer Funktion
Wir modellieren das Verhalten einer Funktion, die nur für das Invertieren der Graustufendaten zuständig ist.
Ziel ist es, diese Funktion zu implementieren.
Entwicklung des Invertierverfahrens
Die Idee besteht darin, eine neue Liste mit Graustufenwerten aufzubauen.
Aufgabe 1
Ändere das Programm so ab, dass die gesamte Liste der Graustufenwerte invertiert wird.
Implementierung der Invertierfunktion
Benutze das entwickelte Invertierverfahren, um die Funktion invertiereBilddaten
zu implementieren.
Aufgabe 2
Ergänze die Funktionsdefinition im vorgegebenen Programmgerüst.
Achtung: Seiteneffekt
Bei der Verarbeitung von Listen können unangenehme Seiteneffekte auftreten. Die folgende Implementierung verdeutlicht, was geschehen kann.
Aufgabe 3
Die ursprünglichen Bilddaten gehen bei dieser Implementierung verloren. Aber warum? Untersuche hierzu den Ablauf bei der Ausführung eines Funktionsaufrufs. Überprüfe auch, ob bei deiner Implementierung dasselbe Phänomen auftritt.