Auffrischer Programmieren
Begriffe
Schauen Sie sich folgendes, unsinniges, aber fehlerfreies Programm an und zählen Sie die darin vorkommenden Elemente.
pythonfrom gturtle import *
x = 123
makeTurtle()
forward(x)
penUp()
if x != 10 or x > 100:
print(sqrt(x))
| Element | Anzahl |
|---|---|
| Variablen | |
| Argumente | |
| Logische Ausdrücke | |
| Befehlsdefinitionen | |
| Befehlsaufrufe |
Fünfeck
Zeichnen Sie mit Hilfe von gturtle das abgebildete gleichseitige Fünfeck und speichern Sie das Programm anschliessend als Python-Datei mit der Endung .py.
pythonfrom gturtle import *
def pentagon():
repeat 5:
forward(100)
left(360/5)
makeTurtle()
right(90)
pentagon()
Calvin und Hobbes
a) Definieren Sie einen Befehl quiz(), der bis zu drei Mal über ein input()-Fenster die Frage stellt:
«What's the name of Calvin's pet tiger?»
Gibt man die richtige Antwort ein, wird «Correct!» in die Ausgabe geschrieben, und das Programm wird beendet. Bei falschen Antworten wird «Try again!» ausgegeben.
b) Schreiben Sie am Ende in die Ausgabe, wie oft man raten musste.
pythondef quiz():
tries = 0
repeat 3:
answer = input("What's the name of Calvin's pet tiger?")
tries += 1
if answer == "Hobbes":
print("Correct!")
break
else:
print("Try again!")
print("Number of guesses:", tries)
quiz()
Kompensationszahl
Definieren Sie einen Befehl plus_points(), der einen Parameter grade akzeptiert. Er berechnet aus der Note die zugehörigen Pluspunkte (z.B. +2 für die Note 6, oder -1 für die Note 3.5) und schreibt den folgenden Satz in die Ausgabe:
«For a <grade> you get <points> plus points.»
Wichtig: Minuspunkte werden als negative Pluspunkte ausgegeben.
pythondef plus_points(grade):
if grade >= 4:
points = grade - 4
else:
points = 2*(grade - 4)
print("For a", grade, "you get", points, "plus points.")
g = 1
repeat 11:
plus_points(g)
g += 0.5
Programm interpretieren
Was zeichnet folgendes Programm? Kreuzen Sie die richtige Antwort an, ohne es auszuprobieren.
pythonfrom gturtle import *
makeTurtle()
setPenColor("blue")
setPenColor("green")
setPenColor("yellow")
setPenColor("red")
penUp()
forward(100)
left(90)
forward(100)
penDown()
left(90)
forward(100)
left(90)
forward(100)
Mandala
Definieren Sie einen Befehl namens circle(), der ein 90-Eck (Annäherung eines Kreises) zeichnet. Benutzen Sie repeat, um das abgebildete Mandala aus 20 solchen Kreisen zu zeichnen.
pythonfrom gturtle import *
def circle():
repeat 90:
forward(2)
right(360/90)
makeTurtle()
speed(-1)
repeat 20:
circle()
right(360/20)
Ziffer 9
Folgendes Programm probiert die abgebildete blaue Ziffer 9 mit Stiftbreite 5 zu zeichnen.
pythonfrom gturtle import *
createTurtle()
setPenColor("red")
repeat 4:
forward(100)
left(90)
setPenWidth(5)
back(100)
left(90)
penUp()
forward(100)
Kopieren Sie das Programm in WebTigerPython und korrigieren Sie es so lange, bis es das gewünschte Ergebnis zeichnet.
pythonfrom gturtle import *
makeTurtle()
setPenColor("blue")
setPenWidth(5)
repeat 4:
forward(100)
left(90)
back(100)
left(90)
forward(100)