Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| lehrkraefte:snr:informatik:glf23:python:turtle [2023/11/02 11:55] – [Turtle-Befehle kennenlernen] Olaf Schnürer | lehrkraefte:snr:informatik:glf23:python:turtle [2023/11/08 08:35] (current) – [Bonus-Material] Olaf Schnürer | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ~~NOTOC~~ | ||
| + | |||
| + | < | ||
| + | |||
| + | <WRAP center round important> | ||
| + | Don't name your turtle program " | ||
| + | |||
| + | If there is any file in your python folder with this name, rename or delete it!((Otherwise importing the turtle library will not work!)) | ||
| + | </ | ||
| + | --> | ||
| + | ====== Turtle-Grafik ====== | ||
| + | |||
| + | <WRAP center round info> | ||
| + | Turtle-Grafik meint, dass man mit einer " | ||
| + | </ | ||
| + | |||
| + | ===== Haus des Nikolaus auf Papier ===== | ||
| + | |||
| + | <WRAP center round todo> | ||
| + | Der folgende Pseudocode lässt die Turtle ein Quadrat der Seitenlänge '' | ||
| + | |||
| + | <code text> | ||
| + | a = 100 | ||
| + | Gehe um a Pixel vorwärts! | ||
| + | Drehe dich um 90 Grad nach links! | ||
| + | Gehe um a Pixel vorwärts! | ||
| + | Drehe dich um 90 Grad nach links! | ||
| + | Gehe um a Pixel vorwärts! | ||
| + | Drehe dich um 90 Grad nach links! | ||
| + | Gehe um a Pixel vorwärts! | ||
| + | </ | ||
| + | |||
| + | Zeichne das Haus des Nikolaus ohne Abzusetzen auf ein Blatt Papier. | ||
| + | |||
| + | Übersetze deine Zeichnung in Pseudocode für die Turtle und schreibe diesen auf. Nimm dabei an, dass die Turtle anfangs nach rechts schaut. | ||
| + | </ | ||
| + | |||
| + | ===== Turtle-Befehle kennenlernen ===== | ||
| + | |||
| + | <WRAP center round todo> | ||
| + | Das folgende Programm vermittelt dir die wichtigsten Turtle-Befehle. Wenn du willst, kannst du es abspeichern und z. B. in Visual Studio Code laufen lassen. | ||
| + | <!-- | ||
| + | Bevor du es laufen lässt: Lies das folgende Programm durch und versuche herauszufinden, | ||
| + | |||
| + | Teste dann deine Vorhersage und verstehe, was jeder einzelne Befehl bewirkt. Dazu kannst du gerne einige Befehle und werte verändern. | ||
| + | |||
| + | |||
| + | speed(1) | ||
| + | # Slowest animated speed ist 1; fastest animated speed is 10; | ||
| + | # even faster is speed 0, but then the turtle " | ||
| + | |||
| + | shape(" | ||
| + | # wie eine Schildkröte aussieht. Alternativen sind " | ||
| + | # " | ||
| + | |||
| + | --> | ||
| + | <code python turtle-grundbefehle.py> | ||
| + | from turtle import * # Importiert die Turtle-Befehle | ||
| + | a = 100 | ||
| + | forward(a) | ||
| + | left(90) | ||
| + | pensize(10) | ||
| + | forward(3 * a) | ||
| + | right(90) | ||
| + | pencolor(" | ||
| + | forward(a) | ||
| + | left(90) | ||
| + | penup() | ||
| + | backward(3 * a) | ||
| + | pendown() | ||
| + | forward(2 * a) | ||
| + | exitonclick() | ||
| + | # sondern erst nach Anklicken des Zeichenfensters. | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== Haus des Nikolaus auf dem Bildschirm: Pseudocode in Python-Programm verwandeln ===== | ||
| + | |||
| + | <WRAP center round todo> | ||
| + | Schreibe nun ein neues Programm, das das Haus des Nikolaus **mit Grundseite der Länge** '' | ||
| + | |||
| + | Die Variable '' | ||
| + | Wenn man später den Wert der Variablen '' | ||
| + | |||
| + | Das Dach soll rot gezeichnet werden, der Rest in einer anderen Farbe deiner Wahl, die Stiftdicke soll 10 betragen. | ||
| + | |||
| + | Empfehlung: Speichere die Länge der Diagonalen in einer Variablen '' | ||
| + | |||
| + | <hidden Hinweis: Wie man Wurzel zwei in Python eingibt.> | ||
| + | Für eine genaue Zeichnung benötigst du $\sqrt{2}=2^{0.5}$, | ||
| + | </ | ||
| + | |||
| + | {{: | ||
| + | </ | ||
| + | |||
| + | ===== $n$-Eck zeichnen ===== | ||
| + | |||
| + | <WRAP center round todo> | ||
| + | Ergänze das folgende Programm so, dass ein '' | ||
| + | |||
| + | Teste dein Programm, indem du die Werte von '' | ||
| + | |||
| + | {{: | ||
| + | |||
| + | <hidden Hinweis> | ||
| + | Verwende eine while-Schleife. In jedem Schleifendurchlauf wird eine Seite des $n$-Ecks gezeichnet und die Turtle dreht sich um den richtigen Winkel. | ||
| + | </ | ||
| + | |||
| + | <hidden Hinweis zum Drehwinkel nach jeder Vorwärtsbewegung> | ||
| + | Um welchen Winkel hat sich die Turtle insgesamt gedreht, wenn sie das gesamte $n$-Eck gezeichnet hat und wie am Anfang ausgerichtet dasteht? | ||
| + | <hidden Antwort> | ||
| + | Einmal um die eigene Achse, also um $360^\circ$. Da sie sich $n$-mal um denselben Winkel gedreht hat, dreht sie sich nach | ||
| + | <hidden jeder Vorwärtsbewegung um ...> | ||
| + | $\frac{360^\circ}n$ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <code python> | ||
| + | from turtle import * | ||
| + | n = 7 | ||
| + | a = 100 | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Spirale zeichnen ===== | ||
| + | |||
| + | <WRAP center round todo> | ||
| + | Schreibe ein Python-Programm, | ||
| + | |||
| + | Beispielsweise soll für '' | ||
| + | |||
| + | <hidden Hinweis> | ||
| + | Verwende eine while-Schleife, | ||
| + | |||
| + | Du kannst auch das obige $n$-Eck-Programm (für $n=4$) geeignet veändern. | ||
| + | </ | ||
| + | |||
| + | <WRAP center round box 100%> | ||
| + | {{: | ||
| + | </ | ||
| + | |||
| + | Bonus: | ||
| + | * Kannst du am Ende die Gesamtlänge der gezeichneten Spirale ausgeben? (im normalen Terminal per '' | ||
| + | * Ändere dein Programm so, dass die folgenden Bilder gezeichnet werden (" | ||
| + | <WRAP center round box 100%> | ||
| + | {{: | ||
| + | |||
| + | {{: | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <!-- | ||
| + | <WRAP center round todo> | ||
| + | Es folgen 5 von der Idee her jeweils gute, aber leider syntaktisch fehlerhafte Programme zum Zeichnen der Spirale wie oben gefordert (dreimal mit for-Schleife, | ||
| + | - {{ : | ||
| + | - {{ : | ||
| + | - {{ : | ||
| + | - {{ : | ||
| + | - {{ : | ||
| + | </ | ||
| + | --> | ||
| + | ====== Bonus-Material ====== | ||
| + | |||
| + | <!-- | ||
| + | Such dir aus den folgenden Aufgaben heraus, was dir gefällt! | ||
| + | --> | ||
| + | |||
| + | <WRAP center round todo> | ||
| + | Male eine nette Zeichnung deiner Wahl mit der Turtle! | ||
| + | </ | ||
| + | |||
| + | <WRAP center round todo> | ||
| + | Male ein Herz! | ||
| + | |||
| + | Hinweis: Nützliche Befehle findest du hier: https:// | ||
| + | </ | ||
| + | |||
| + | <WRAP center round todo> | ||
| + | Male eine dreidimensionales Haus (des Nikolaus)! | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Wer mehr wissen will ===== | ||
| + | |||
| + | Weitere Befehle (etwa '' | ||
| + | |||
| + | Wem die Turtle zu langsam zeichnet: '' | ||
| + | |||
| + | Welche Farbwörter man verwenden darf, findet man hier: https:// | ||
| + | |||
| + | |||
| + | |||
| + | ===== Link zur Kursseite ===== | ||
| + | |||
| + | [[lehrkraefte: | ||
| + | |||