Probleme beim Invertieren
Zerlegung in Teilprobleme
Wir betrachten im Folgenden das Invertieren einer PGM-Grafik.

Die Verarbeitung wird erleichtert, wenn man sie schrittweise in unterschiedlichen Repräsentationen durchführt.
Schritt 1: Laden des Quelltextes
Wir gehen davon aus, dass der Quelltext einer PGM-Grafik in einer Datei abgespeichert ist. In einem ersten Schritt soll daher der Quelltext geladen werden. Zur Repräsentation bietet sich zunächst die Darstellung als Zeichenkette an.

Aufgabe 1
Beschreibe in Worten, was die Funktion quelltextLaden
leistet.
Schritt 2: Umwandlung in strukturierte Daten
Für die Verarbeitung der Grafikdaten ist es günstig, wenn man den Quelltext in strukturierte Daten mit jeweils passenden Datentypen umwandelt.

Aufgabe 2
Beschreibe in Worten, was die Funktion erzeugeGrafikdaten
leistet.
Gehe dabei auch auf die verwendeten Datentypen ein.
Schritt 3: Invertieren der Grafik
Im nächsten Schritt kann jetzt der Invertierungsvorgang erfolgen.

Aufgabe 3
Beschreibe in Worten, was die Funktion invertierePGM
leistet.
Schritt 4: Erzeugung des neuen Quelltextes
Nach dem Invertierungsvorgang wird der Quelltext zu den neuen Grafikdaten erzeugt.

Aufgabe 4
Beschreibe in Worten, was die Funktion erzeugeQuelltext
leistet.
Schritt 5: Speichern des neuen Quelltextes
Abschließend wird der neue erzeugte Quelltext in einer Datei gespeichert.

Aufgabe 5
Beschreibe in Worten, was die Funktion quelltextSpeichern
leistet.