Probleme beim Invertieren
Zerlegung in Teilprobleme
Wir betrachten im Folgenden das Invertieren einer PGM-Grafik.
![Grafik invertieren](https://inf-schule.de/content/6_imperative-programmierung/3_python/1_projekte/4_datenstrukturen/4_pgm/2_teilprobleme/invertieren.png)
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.
![BlackBox Quelltext laden](https://inf-schule.de/content/6_imperative-programmierung/3_python/1_projekte/4_datenstrukturen/4_pgm/2_teilprobleme/bb_quelltextladen.png)
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.
![BlackBox Grafikdaten erzeugen](https://inf-schule.de/content/6_imperative-programmierung/3_python/1_projekte/4_datenstrukturen/4_pgm/2_teilprobleme/bb_erzeugegrafikdaten.png)
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.
![BlackBox Grafik invertieren](https://inf-schule.de/content/6_imperative-programmierung/3_python/1_projekte/4_datenstrukturen/4_pgm/2_teilprobleme/bb_invertierepgm.png)
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.
![BlackBox Quelltext erzeugen](https://inf-schule.de/content/6_imperative-programmierung/3_python/1_projekte/4_datenstrukturen/4_pgm/2_teilprobleme/bb_erzeugequelltext.png)
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.
![BlackBox Quelltext speichern](https://inf-schule.de/content/6_imperative-programmierung/3_python/1_projekte/4_datenstrukturen/4_pgm/2_teilprobleme/bb_quelltextspeichern.png)
Aufgabe 5
Beschreibe in Worten, was die Funktion quelltextSpeichern
leistet.