Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws1314:strukturvorschlag_13.02.2014 [2014/02/13 11:50] stefanborn angelegt |
ws1314:strukturvorschlag_13.02.2014 [2016/05/10 14:46] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Strukturvorschlag 13.02.2014 ====== | ====== Strukturvorschlag 13.02.2014 ====== | ||
- | Es ist für die Verfolgung eines solchen Projekts (und für die Zusammenarbeit) nützlich, das Programm in Module aufzuteilen, um die man sich einzeln kümmert. Ich habe nun folgende Struktur vorbereitet: | + | Es ist für die Verfolgung eines solchen Projekts (und für die Zusammenarbeit) nützlich, das Programm in Module aufzuteilen, um die man sich einzeln kümmert. Ich habe nun folgende Struktur vorbereitet die sich im Unterverzeichnis **projekt** eures Verzeichnisses befindet. |
* Das Modul [[kontouren.py]] enthält Funktionen zur Parametrisierung von Kanten/Kontouren. Schon implementiert ist die Funktion **parametrisiere_kanten** die einen geeigneten Anfangspunkt sucht. Von diesem aus sucht die Funktion **finde_kontour** eine Kontour (also eine Folge von Punkten), die bloß deklariert wurden und noch zu implementieren ist. ((Zum Sprachgebrauch: Wenn ein **def blabla(...)** oder **class blabla(...)** im Code stehen, nenne ich die Funktionen/Klassen **deklariert**, auch wenn diese Funktionen/Klassen noch gar nichts tun. Den eigentlichen Programmcode dazu nenne ich **Implementierung**.)) | * Das Modul [[kontouren.py]] enthält Funktionen zur Parametrisierung von Kanten/Kontouren. Schon implementiert ist die Funktion **parametrisiere_kanten** die einen geeigneten Anfangspunkt sucht. Von diesem aus sucht die Funktion **finde_kontour** eine Kontour (also eine Folge von Punkten), die bloß deklariert wurden und noch zu implementieren ist. ((Zum Sprachgebrauch: Wenn ein **def blabla(...)** oder **class blabla(...)** im Code stehen, nenne ich die Funktionen/Klassen **deklariert**, auch wenn diese Funktionen/Klassen noch gar nichts tun. Den eigentlichen Programmcode dazu nenne ich **Implementierung**.)) | ||
* Das Modul [[bewegeturtle.py]] definiert die Funktionen **bewege_turtle_auf_bild**, um die Turtle über ein Bild zu bewegen. Diese Funktion ist bisher nur deklariert und noch zu implementieren. | * Das Modul [[bewegeturtle.py]] definiert die Funktionen **bewege_turtle_auf_bild**, um die Turtle über ein Bild zu bewegen. Diese Funktion ist bisher nur deklariert und noch zu implementieren. | ||
* Das Modul [[bildoperationen.py]] enthält die Funktionen zur Bildbearbeitung, die ihr bisher definiert habt (und eine weitere). Selbstverständlich könnt ihr weitere Funktionen ergänzen, wenn ihr wollt. | * Das Modul [[bildoperationen.py]] enthält die Funktionen zur Bildbearbeitung, die ihr bisher definiert habt (und eine weitere). Selbstverständlich könnt ihr weitere Funktionen ergänzen, wenn ihr wollt. | ||
- | * Das Modul [[modturtle.py]] enthält Klassen, die es ermöglichen, eine Turtle vor einem Hintergrundbild zu bekommen. **An diesem Modul ist nichts zu tun.** Ich habe es vorbereitet, da es dabei technische Probleme gab, bei deren Lösung ihr meines Erachtens nicht sonderlich viel hättet lernen können. | + | * Das Modul [[turtlemod.py]] enthält Klassen, die es ermöglichen, eine Turtle vor einem Hintergrundbild zu bekommen. **An diesem Modul ist nichts zu tun.** Ich habe es vorbereitet, da es dabei technische Probleme gab, bei deren Lösung ihr meines Erachtens nicht sonderlich viel hättet lernen können. |
Das neue "Hauptprogramm" [[kanten_erkennen_neu.py]] importiert die Funktionen und Klassen dieser Module, macht aber ansonsten genau das, was euer altes Hauptprogramm getan hat. Neu hinzugekommen ist nur der Aufruf von *parametrisiere_kanten*, das Einzeichnen der gefundenen Kanten in ein Bild und der Aufruf von *bewege_turtle_auf_bild*. | Das neue "Hauptprogramm" [[kanten_erkennen_neu.py]] importiert die Funktionen und Klassen dieser Module, macht aber ansonsten genau das, was euer altes Hauptprogramm getan hat. Neu hinzugekommen ist nur der Aufruf von *parametrisiere_kanten*, das Einzeichnen der gefundenen Kanten in ein Bild und der Aufruf von *bewege_turtle_auf_bild*. | ||
- | Nun könntet ihr in zwei Gruppen an den Modulen kontouren.py und bewegeturtle.py arbeiten (und die jeweils nur deklarierte Funktionen implementieren.) Damit man gut unabhängig arbeiten kann, enthält jedes der Programme einen kleinen Test in der Funktion **main()**. | + | Nun könntet ihr in zwei Gruppen an den Modulen kontouren.py und bewegeturtle.py arbeiten (und die jeweils nur deklarierte Funktionen implementieren.) Damit man gut unabhängig arbeiten kann, enthält jedes der Programme einen kleinen Test in der Funktion **main()**. |