Zum Inhalt springen

Das Modul GRAFIK

Übungen zum Unterrichtseinsatz des Moduls GRAFIK

Das Bibliotheksmodul "Grafik" ermöglicht die Darstellung von einfachen grafischen Elementen in einem Fenster. Diese Elemente lassen sich leicht als Objekte begreifen. Dadurch wird der Zugang zum Umgang mit Klassen und Methoden erleichtert. Dieses Grafik-Modul ist ursprünglich am OSZ-Handel entstanden (Spolwig/Penon) und von Dr. Bernd Kokavecz für Python angepasst worden.

Für Ihre Übungen holen Sie sich bitte einige Python-Beispieldateien, die Sie am besten, den entsprechenden Links folgend, zunächst im Browser öffnen, dann im Menüpunkt Datei -> Speichern unter in ein Arbeitsverzeichnis kopieren.
(Diese Dateien befinden sich hier in entsprechenden Unterverzeichnissen.)

Als erstes benötigen Sie unbedingt einige grundlegende Dateien in Ihrem Arbeitsverzeichnis: grafik.py und rosa100.gif!

Öffnen Sie nun die Datei fingergrafik.py nach dem Herunterladen mit Hilfe eines Editors und starten Sie dieses Programm mit Hilfe des Kommandos python fingergrafik.py

Aufgabe 1

  • Lernziel: Benutzung der Grafikbibliothek kennenlernen
  • Lernziel: Grafikparameter richtig benutzen
  • Lernziel: Python Wiederholungsalgorithmus modifizieren

Erweitern Sie das Programm fingergrafik.py so, dass zusätzlich eine Reihe mit einigen blauen Quadraten oder Kreisen ausgegeben wird.

"Spielen" Sie bitte ein bisschen mit den Grafik-Positionsparametern...

Machen Sie sich nun mit der Klassenhierarchie im Modul grafik.py vertraut. Die Dokumentation dazu finden Sie unter: grafik.py.doc.txt.

Aufgabe 2

  • Lernziel: Klassen selbst erstellen können
  • Lernziel: Sprachstrukturen vertiefen

Planen und erstellen Sie eine eigene Klasse "BuntKreis" in einer weiteren Datei, die, nach dem Vorbild von "BuntQuadrat" in der Datei buntquadrat.py, zwei Reihen von Kreisen statt Quadraten auf der Grafikfläche darstellt.
Denken Sie auch an das Anpassen der dokumentierenden Kommentare!

Zum Ausführen der o.g. Klasse passen Sie bitte die Datei test_quadrat0.py entsprechend an.

Tip: Eine Lösungsvorschlag für die o.g. Klasse findet sich hier in der Datei buntkreis.py.

Aufgabe 3

  • Lernziel: Vererbung unter Python

Vergleichen Sie für diese Aufgabenstellung das Programm schein.py, das Sie in Ihr Arbeitsverzeichnis laden können.

Bilden Sie eine neue Klasse "GeldStueck", die alle Attribute und Methoden von "Kreis" übernimmt (erbt), sowie erlaubt, eine "Geldstückbeschriftung" im Kreis anzuzeigen.
Gehen Sie sinngemäß so vor, wie es schein.py zeigt. Kopieren Sie diese Datei vielleicht einfach unter neuem Namen, z.B. muenze.py, und führen Sie dort Ihre Änderungen durch!

Passen Sie zum Testen das Programm geldtest.py entsprechend an, das Sie in Ihr Arbeitsverzeichnis laden und dort mit python geldtest.py starten können.

Unterrichts-Beispiele 5 bis 7

Nach einer ganzen Reihe von offenen und enger gefassten Aufgaben sollen die Schülerinnen mehrere Objekte gleichzeitig über die Grafikfläche bewegen lassen. Dazu wird ein vertieftes Verständnis der Objektlisten vermittelt. Gleichzeitig wird die Anwendung von Wiederholungsalgorithmen gefestigt.

Zur binnendifferenzierenden Hilfe kann ein Beispielprogramm vorgelegt werden, das zwei verschieden farbige Kreise synchron von links nach rechts bewegt. Einen Vorschlag finden Sie unter: wanderpaket.py: Die Klasse, die alle zu bewegenden Grafikobjekte "sammelt" (weiterverwendbar!) und: wanderkreise.py: Das Testprogramm, das das "Wanderpaket" benutzt.

Ein Ziel sollte es sein, dass alle Schülerinnen im Unterricht eine Reihe von unterschiedlichen beschrifteten Münzen durch das Grafikfenster fallen lassen. Beispiele: rueckgeld.py mit rueckgeldfaellt.py.

Als Krönung können einzelne Schülerinnen schließlich komplexe Gebilde (LKWs) mit unterschiedlichen Geschwindigkeiten, wie in den Programmen beisp6_lkw.py und fahrzeug.py mit fhzduest.py dokumentiert, über die Grafikfläche "rollen" oder mit weiter gehenden Fragestellungen verbunden ("Parallelverarbeitung") quasi eine Simulation von idealen Gasbewegungen darstellen, wie das Programm beisp7_balla.py zeigt (... mit freundlicher Genehmigung von Dr. Kokavecz).

Ein etwas anderes unterrichtliches Vorgehen ist in den folgenden Quellen dokumentiert. Die Klassenhierarchie gKlassenHierar0111.pdf verdeutlicht, dass die darzustellenden Grafikobjekte (hier: "gelbe Reifen") von einer allgemein verwendbaren "Containerklasse" erben und hier speziell aus Kreisobjekten (Instanzen von Gelbkreis) zusammengesetzt sind. Vergleichen Sie dazu die Datei gelbreifen.py mit den entsprechenden Klassen sowie zwei Testprogramme in der Datei gReifentests.py.

(Die nicht verlinkten Dateien des Python-Materials erhalten Sie auf Anforderung per Mail vom Autor (bombei).
Bitte haben Sie Verständnis für den "Schutz" des Materials. Bitte machen Sie in diesem Sinne bei der Mailanfrage glaubhaft, dass Sie das Material als Lehrerin bzw. Lehrer anfordern! )

Redaktionell verantwortlich: