|
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 oder
grafik.py.html.
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 hier
geldtest.py,
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.png oder
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.
|