Josef Schöpper E-Mail: [email protected] Clara-Schumann-Gymnasium Bonn Michael Kowalski E-Mail:[email protected] Lise-Meitner-Gymnasium Leverkusen Aufgabenblatt für den Workshop Zentralabitur mit Python Starten der Beispielprogramme bzw. Lösen einfacher Aufgaben Aufgabe 1 Grundsätzlich haben Sie die Möglichkeit alle Programme zu testen, um durch die Ausgabe bzw. durch den Programmablauf Einblicke in die Programme zu erhalten. Um Besonderheiten der Pythonsyntax kennen zu lernen, empfehlen sich die Programmbeispiele in Python Teil 2 (Sequenzen und Standardfunktionen). Starten der Beispielprogramme: Über das Startmenü starten Sie unter Python 2.2 die IDLE (Python GUI). Nach dem Starten befinden Sie sich direkt in der Python-Shell (Kommandozeile). Sie öffnen die Beispielprogramme über File\open\Dateiname.py. Das Programm wird mit dem Drücken der F5-Taste gestartet. Aufgabe 2 Zeichnen Sie Grafiken mit der Turtle. Öffnen Sie das Programm programm_7.py (Python Teil1). Starten Sie das Programm mit verschiedenen Parametern für die Funktion rosette(5,40,8). Zum Beispiel (Auszug aus programm_7.py) … reset() tracer(0) width(4) rosette(6,40,12) tracer(1) Aufgabe 3 Schreiben Sie ein rekursives Programm für die Drachenkurve. Wie entsteht die Drachenkurve? Nimm ein A4-Blatt und schneide einen etwa 1 cm breiten Streifen aus. Falte den Papierstreifen einmal in der Mitte. Enfalte ihn wieder, bis die zwei Hälften einen rechten Winkel bilden. Stelle ihn dazu hochkant auf den Tisch. Falte den Streifen wieder ganz zusammen zu einem neuen Ausgangsstreifen. Falte den Streifen zusätzlich in der Mitte (er ist jetzt doppelt zu dick wie vorher). Entfalte den Streifen wieder. Und zwar so, dass alle benachbarten Teilstücke einen rechten Winkel zueinander bilden. Am besten stellst du das Gebilde wieder hochkant auf den Tisch. usw. Josef Schöpper E-Mail: [email protected] Clara-Schumann-Gymnasium Bonn Michael Kowalski E-Mail:[email protected] Lise-Meitner-Gymnasium Leverkusen Lösung: #Drachenkurve from turtle import * def drachenkurve(n, laenge, vz): if n>0: drachenkurve(n-1,laenge/2,1) left(vz*90) drachenkurve(n-1,laenge/2,-1) else: forward(laenge) reset() drachenkurve(9,2084,-1) Aufgabe 4 Fügen Sie dem Taschenrechner programm_gui_4.py (Python Teil 4) weiter Funktionen hinzu. Der Taschenrechner kann zusätzlich Addieren und Subtrahieren. Fügen Sie dazu einen zusätzlichen Frame ins Hauptfenster ein und verwenden Sie die Funktion rechnen(). # Anzeige Zerlegen und Rechnen def rechnen(): z=anzeige["text"] i=0 rechenzeichen=z[0] erstezahl = '' zweitezahl = '' while i < len(z): if (z[i]=='-')or(z[i]=='+'): rechenzeichen = z[i] break else: erstezahl = erstezahl + z[i] i += 1 i += 1 while i < len(z): zweitezahl = zweitezahl + z[i] i += 1 zahl1 = eval(erstezahl) zahl2 = eval(zweitezahl) if rechenzeichen == '+': anzeige["text"]=str(zahl1 + zahl2) if rechenzeichen == '-': anzeige["text"]=str(zahl1 - zahl2) Josef Schöpper E-Mail: [email protected] Clara-Schumann-Gymnasium Bonn Michael Kowalski E-Mail:[email protected] Lise-Meitner-Gymnasium Leverkusen Aufgabe 5 Testen Sie die Programme für die Aufgabe inf-gk-aufgabe-2 des Zentralabiturs von Herrn Dr. Ludger Humbert (Fachleiter für Informatik, Seminar Hamm) Liste.py, Queue.py und Autoquartett.py (Python Teil 3, Programm 4). Herr Dr. Ludger Humbert hat unter http://humbert.in.hagen.de/ddi/IF_GK_AUFGABE_1_LSG_Python.tar.gz die Python-Programme veröffentlicht. In den einzelnen Programmen sind Test-Routinen eingebaut, die beim Starten der Programme ablaufen. Beginnen Sie mit dem Programm Queue.py usw. Auf der CD finden Sie im Dokument inf-gk-aufgabe-2.pdf die genaue Aufgabenstellung und Informationen zum Entwurf der verwendeten Klassen.