Benutzer-Werkzeuge

Webseiten-Werkzeuge


neuerlehrplan:klasse10:lineareprogrammeeinausgabe

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
neuerlehrplan:klasse10:lineareprogrammeeinausgabe [2025/08/24 11:05] – [Fehler beim Programmieren] lutzneuerlehrplan:klasse10:lineareprogrammeeinausgabe [2025/08/24 21:10] (aktuell) lutz
Zeile 139: Zeile 139:
   * Das Programm 2 wird zwar ausgeführt, aber liefert nicht das gewünschte Ergenis. Hier spricht man von einem **semantischen Fehler**, also einen Fehler in der **Programmlogik**.   * Das Programm 2 wird zwar ausgeführt, aber liefert nicht das gewünschte Ergenis. Hier spricht man von einem **semantischen Fehler**, also einen Fehler in der **Programmlogik**.
   * Im dritten Fall wird das Programm während seiner Ausführung abgebrochen. Man spricht von einem **Laufzeitfehler**. Diese können z.B. (hier nicht) von falschen Eingaben ausgelöst werden.   * Im dritten Fall wird das Programm während seiner Ausführung abgebrochen. Man spricht von einem **Laufzeitfehler**. Diese können z.B. (hier nicht) von falschen Eingaben ausgelöst werden.
 +
 +
 +=====Turtlegrafik in Jupyternotebooks=====
 +
 +Damit unsere Pythonprogramme nich so langweilig werden wollen wir das Programmieren auch mit der Python-Turtlegrafik üben. Man kann sich bei der Turtlegrafik eine kleine Schildkröte vorstellen die einen Stift hat, mit dem sie Zeichnungen erstellen kann. Eigentlich gibt es in Python eine Turtle-Bibliothek, welche aber in Jupyternotebooks nicht perfekt funktioniert. Deshalb verwenden wir in unseren Pythonprogrammen eine Turtlebibliothek (IPythonturtle.py) verwenden, die mit Hilfe von ChatGPT auf Basis der Bibliothek IPCanvas erstellt wurde und innerhalb von Jupyternotebooks funktioniert. 
 +
 +Um die Turtle zu verwenden, muss sich die Datei IPythonturtle.py im selben Ordner befinden. Weiterhin muss das Paket ipycanvas installiert und in Jupyter aktiviert werden. Um die Bibliothek (Siehe später!) einzubinden, muss am Anfang dess Pythonprogramms der Befehl
 +
 +''%%from IPythonturtle import IPythonturtle%%''
 +
 +stehen. Danach kann man mit
 +
 +''%%t =  IPythonturtle()%%''
 +
 +eine neue Turtle erzeugen. Die Turtle versteht die folgenden Befehle:
 +
 +  * ''%%forward(distance)%%'' – Bewegt die Turtle um ''%%distance%%'' Pixel in Blickrichtung.
 +  * ''%%backward(distance)%%'' – Bewegt die Turtle rückwärts um ''%%distance%%'' Pixel.
 +  * ''%%left(angle)%%'' – Dreht die Turtle um ''%%angle%%'' Grad nach links.
 +  * ''%%right(angle)%%'' – Dreht die Turtle um ''%%angle%%'' Grad nach rechts.
 +  * ''%%goto(x, y)%%'' – Bewegt die Turtle zu den Koordinaten (x, y).
 +  * ''%%home()%%'' – Bewegt die Turtle zurück in die Mitte der Zeichenfläche und setzt die Richtung auf 0°.
 +  * ''%%circle(radius)%%'' – Zeichnet einen Kreis mit dem angegebenen Radius.
 +  * ''%%penup()%%'' – Hebt den Stift an – Bewegungen hinterlassen keine Spuren.
 +  * ''%%pendown()%%'' – Setzt den Stift – Bewegungen werden gezeichnet.
 +  * ''%%pencolor(color)%%'' – Setzt die Stiftfarbe (z. B. 'red', '#00FF00').
 +  * ''%%width(w)%%'' – Setzt die Linienstärke.
 +  * ''%%clear()%%'' – Löscht die Zeichenfläche und setzt die Turtle zurück.
 +  * ''%%speed(value)%%'' – Setzt die Zeichen-Geschwindigkeit. Werte: 'normal', 'slow', 'slowest' oder Zahl in ms.
 +  * ''%%fillcolor(color)%%'' – Setzt die Füllfarbe für begin_fill / end_fill.
 +  * ''%%begin_fill()%%'' – Startet eine Füllung; alle Bewegungen werden gesammelt.
 +  * ''%%end_fill()%%'' – Schließt das aktuelle Polygon und füllt es mit der Füllfarbe.
 +
 +**Ein Beispiel:**
 +
 +<code python>
 +# Turtlebibliothek einbinden
 +from IPythonturtle import IPythonturtle
 +
 +# Turtle erzeugen, Geschwindigkeit, Vordergund- und Hintegrundfarbe setzen
 +t = IPythonturtle()
 +t.speed("normal")
 +t.pencolor("blue")
 +t.fillcolor("lightblue")
 +
 +# Füllen beginnen
 +t.begin_fill()
 +
 +# Quadrat zeichnen
 +t.forward(100)
 +t.right(90)
 +t.forward(100)
 +t.right(90)
 +t.forward(100)
 +t.right(90)
 +t.forward(100)
 +t.right(90)
 +
 +# Füllen beenden
 +t.end_fill()
 +</code>
 +
 +
 +<WRAP center round download 60%>
 +Download der Datei IPythonturtle.py
 +{{ :neuerlehrplan:klasse10:ipythonturtle.zip |}}
 +</WRAP>
 +
  
neuerlehrplan/klasse10/lineareprogrammeeinausgabe.1756026354.txt.gz · Zuletzt geändert: von lutz