1 Sequentielle Programmierung
1.1 Turtle
Wir starten das Abenteuer Programmierung mit der sogenannten Turtle. Die Turtle ist eine Schildkröte, welche auf einer Zeichenfläche herumbewegt werden kann. Zufälligerweise hat sie einen Stift dabei, mit welchem man zeichnen kann 😆. Damit du die Turtle nutzen kannst, musst du sie zuerst importieren. In Python kann man über den Befehl import
Python Code von Anderen ProgrammiererInnen in seinem eigenen Programm verwenden. Das spart viel Zeit, weil man sonst alles selbst programmieren müsste.
1.1.1 Einfaches bewegen der Turtle
Um die Turtle zu importieren fügst du folgenden Befehl am Anfang deines Programms ein:
import turtle
Für imports gibt es meistens eine Dokumentation, wo genau beschrieben wird, welche Funtkionalitäten der Import bietet. Für die Turtle wird das unter https://docs.python.org/3/library/turtle.html beschrieben.
Im Grunde genommen funktioniert die Turtle wie eine 2-Achs gesteuerte Maschine, die in X- und Y- Richtung bewegt werden kann. Dabei schaut die Turtle beim bewegen in eine Richtung. Entlang dieser Richtung kann man die Turtle nach vorne und nach hinten bewegen.,
import turtle
# Bewegt die Turtle um 100 Pixel nach vorne
100)
turtle.forward(
# diese Zeile bewirkt, dass das Fenster offen bleibt so lange man nicht hinein clickt. Dann erst wird das Programm beendet
turtle.exitonclick()
Möchte man nun die Richtung ändern, in die man fahren möchte, muss man zuerst die Turtle drehen.
import turtle
# Bewegt die Turtle um 90 Grad nach rechts
90)
turtle.right(# 100 Pixel nach vorne
100)
turtle.forward(# Warten
turtle.exitonclick()
Wichtige Hinweise:
Kommentare #: Es wird Zeile für Zeile ausgeführt. Deshalb werden die Befehle Zeilenweise angeordnet. Wenn ein
#
am Zeilenanfang verwendet wird, wird der Text nach dem#
grau eingefärbt und nicht als Befehl interpretiert. Dies ist dann ein Kommentar. Kommentare helfen dem Programmierer das Programm besser lesbar zu machen und mit Hinweisen zu versehen.Leere Zeilen dienen ebenfalls der besseren Lesbarkeit. Sie werden bei der Programmausführung einfach übersprungen.
Möchte man ein Quadrat zeichnen muss man die Befehle forward
und right
in einem Ablaufprogramm kombinieren:
import turtle
# 1.Line
100)
turtle.forward(# Rechts drehen
90)
turtle.right(
# 2.Line
100)
turtle.forward(# Rechts drehen
90)
turtle.right(
# 3.Line
100)
turtle.forward(# Rechts drehen
90)
turtle.right(
# 4.Line
100)
turtle.forward(# Rechts drehen
90)
turtle.right(
# warten
turtle.exitonclick()
1.1.1.1 Aufgaben
In unserem Programmierung Ordner erstellst du einen neuen Ordner mit dem Namen Einstieg
. Für jeder der folgenden Aufgaben erstellst du darin ein eine neue Datei mit dem Namen der Aufgabe. Die Abmessungen für die Formen, die du zeichnest, kannst du frei wählen!
01_FahneOhneFarben
02_Muster
Zeichne das unten gezeigte Muster. Dazu ist es hilfreich den Teil, der in Rot eingefärbt ist zu programmieren. Dieser wird dann mit Copy-Paste verfielfältigt und Ende muss noch die letzte Line des Musters neu dazu programmiert werden.
03_Diode
Zeichne das Schaltzeichen einer Diode:
04_Nikolaus
Zeichne das Haus vom Nikolaus in einem Zug!
1.1.2 Stift heben und senken
wie bei einer CNC kann das Werkzeug bzw. der Stift der Turtle angehoben werden. Somit wird beim Bewegen der Turtle nichts gezeichnet.
Es gibt dazu die Befhele penup()
und pendown()
.
import turtle
100)
turtle.forward(
turtle.penup()100)
turtle.forward(
turtle.pendown()100)
turtle.foward( turtle.exitonclick()
1.1.2.1 Aufgaben
Speichere die beiden Aufgabe wieder in den Einstieg Ordner.
05_Quadrate
Verwende Kommentare, damit du die Übersicht nicht verlierst!
06_Elektrolyt-Kondensator
Zeichne das Schaltzeichen eines Kondensators.
1.1.3 Farben
1.1.3.1 Kontur bzw. Strichfarbe und Stärke
Damit die Turtle mit einer anderen Farbe zeichnet, muss man die Stiftfarbe wechseln:
"blue") turtle.color(
Es gibt viele verschiedene Farben die man auswählen kann. Dazu muss man den richtigen Colorcode in Anführungszeichen als Zeichenkette als Parameter übergeben.
Eine Übersicht über viele mögliche Farbnamen findest du auf https://cs111.wellesley.edu/reference/colors
import turtle
# Bewegt die Turtle um 100 Pixel nach vorne
"red")
turtle.setPenColor(100) turtle.forward(
Zusätzlich kann man mit der Funktion width(int)
noch die Strichbreite vom Stift verändern. Dabei wird die Strichstärke als ganze Zahl an die Funktion übergeben:
import turtle
# Bewegt die Turtle um 100 Pixel nach vorne
"red")
turtle.color(5)
turtle.width(100) turtle.forward(
1.1.3.2 Füllungen erstellen
Mit der Turtle kann man die Fläche innerhalb einer Kontur mit Farbe befüllen.
Dazu muss man 3 Schritte beachten:
Füllfarbe setzen
turtle.fillcolor("red")
Bevor man mit dem Zeichnen der Kontur beginnt, die gefüllt werden soll, den Start angeben:
turtle.begin_fill()
Wenn man mit der Kontur fertig ist und diese füllen möchte:
turtle.end_fill()
als Anweisung eingeben.
Möchte man ein Quadrat mit der Farbe Rot füllen, kann man dies wie folgt lösen:
import turtle
"red") # Füllfarbe angeben
turtle.fillcolor(# Start
turtle.begin_fill()
#------------------ Kontur zeichnen -------------------
# 1.Line
100)
turtle.forward(# Rechts drehen
90)
turtle.right(
# 2.Line
100)
turtle.forward(# Rechts drehen
90)
turtle.right(
# 3.Line
100)
turtle.forward(# Rechts drehen
90)
turtle.right(
# 4.Line
100)
turtle.forward(# Rechts drehen
90)
turtle.right(
#------------------ Kontur fertig -------------------
#Füllen turtle.end_fill()
1.1.3.3 Aufgaben
In unserem Programmierung Ordner erstellst du einen neuen Ordner mit dem Namen Farben
. Für jede der folgenden Aufgaben erstellst du darin ein eine neue Datei mit dem Namen der Aufgabe. Die Abmessungen für die Formen, die du zeichnest, kannst du frei wählen!
01_MusterMitFarbe
Zeichne folgendes Muster:
02_FahneMitFarben
Zeichne eine Fahne mit den Farben deiner Wahl!
03_Ampel
Zeichne eine Ampel. Die Kreise kannst du mit dem Befehl turtle.dot(10)
machen. Die Farbe des Kreises kannst du über die Stiftfarbe definieren. Der Wert der an dot()
übergeben wird, definiert die Größe.