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:bruehl-2022:auswahl [2022/03/20 21:45] – [Lösungsvorschläge und Tafelanschriebe] Olaf Schnürer | lehrkraefte:snr:informatik:bruehl-2022:auswahl [2022/03/21 09:25] (current) – [Lösungsvorschläge und Tafelanschriebe] Olaf Schnürer | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ~~NOTOC~~ | ||
| + | |||
| + | ===== Lernziele heute ===== | ||
| + | |||
| + | * Steuerung der Turtle per Tastatur | ||
| + | * mit anderen Worten: Wir schreiben ein Zeichen- oder Mal-Programm! | ||
| + | * " | ||
| + | |||
| + | ====== if-Selektion (Auswahl, Selektion, if-then-else-Struktur, | ||
| + | |||
| + | Oft muss man sich im Leben entscheiden (Welcher Weg bei Wanderung, welche Schule, welcher Beruf). | ||
| + | |||
| + | Motivation durch Pseudo-Code < | ||
| + | - "Wenn die Sonne scheint, dann nimm den Sonnenhut. Geh raus." Beispiel für '' | ||
| + | - "Wenn die Sonne scheint, dann nimm den Sonnenhut, sonst nimm den Regenschirm. Geh raus." | ||
| + | |||
| + | |||
| + | ==== Aufgabe 1 (Verstehen der if-Selektion durch Ausführen eines Beispielprogramms im Einzelschrittmodus) ==== | ||
| + | |||
| + | <WRAP round todo> | ||
| + | **Gemeinsam mit kurzen Einzelarbeitsphasen, | ||
| + | |||
| + | Das folgende Programm illustriert die zwei häufigsten Verwendungen der '' | ||
| + | - Kopiere das Programm in deine Tigerjython-IDE und bringe es mit möglichst wenig Änderungen zum Funktionieren. | ||
| + | - Führe das Programm aus (eventuell im Debugging-Modus) und verstehe es auf diese Weise! Test etwa, was bei den fünf Eingaben 15, 130, 0, -23 und 2022 passiert. | ||
| + | - Ändere das Programm so, dass bei einer Altersangabe $<0$ oder $\geq 130$ nur ''" | ||
| + | - Zeichne Flussdiagramme zum ursprünglichen und zum veränderten Programm. (Das Symbol für eine Selektion ist ein auf einer Ecke stehendes Quadrat.) | ||
| + | |||
| + | <code python> | ||
| + | alter = input(" | ||
| + | |||
| + | # Erste Verwendung: | ||
| + | if alter < 0 or alter >= 130 | ||
| + | print(" | ||
| + | | ||
| + | # Zweite Verwendung: | ||
| + | if alter == 0: | ||
| + | print(" | ||
| + | else | ||
| + | print(" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP round info> | ||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | Einrückungen und Doppelpunkte sind wichtig! Wie bei '' | ||
| + | </ | ||
| + | |||
| + | <WRAP center round info 100%> | ||
| + | Im obigen Programm tauchen einige Vergleiche von Zahlen auf. Hier die wichtigsten Vergleichsmöglichkeiten: | ||
| + | * '' | ||
| + | * '' | ||
| + | * ''<'' | ||
| + | * ''>'' | ||
| + | * ''< | ||
| + | * ''> | ||
| + | </ | ||
| + | ==== Aufgabe 2 (zufällige Bewegung der Schildkröte - Brownsche Bewegung, Bewegung kleiner Teilchen in Flüssigkeiten oder Gasen) ==== | ||
| + | |||
| + | <WRAP center round todo 100%> | ||
| + | **Einzelarbeit, | ||
| + | |||
| + | Mit '' | ||
| + | <code python> | ||
| + | from random import * | ||
| + | repeat 10: | ||
| + | z = random() | ||
| + | print(z) | ||
| + | </ | ||
| + | |||
| + | Erweitere den folgenden Programmcode so, dass die Schildkröte zufällig durch die Gegend läuft: Sie soll '' | ||
| + | |||
| + | <code python> | ||
| + | from gturtle import * | ||
| + | from random import * | ||
| + | |||
| + | makeTurtle() | ||
| + | speed(-1) | ||
| + | s = 10 | ||
| + | n = input(" | ||
| + | |||
| + | # Hier deinen Code ergänzen! | ||
| + | </ | ||
| + | |||
| + | Hinweise: | ||
| + | * Wer will, kann zuerst ein Flussdiagramm entwerfen (im Kopf oder auf Papier). | ||
| + | * Verwende eine '' | ||
| + | |||
| + | <hidden **Bonusteilaufgaben: | ||
| + | * Verändere die Strecke '' | ||
| + | * Sorge dafür, dass '' | ||
| + | * Ändere das Programm so, dass die Turtle (ungefähr) doppelt so oft nach links wie nach rechts abbiegt. | ||
| + | * Verändere den Winkel, um den die Turtle abbiegt, zufällig um $+5^\circ$ oder $-5^\circ$. Dazu benötigst du eine neue Variable. | ||
| + | * Variiere die Dicke des Zeichenstifts zufällig. | ||
| + | * Sorge dafür, dass die Turtle nie das Zeichenfenster verlässt! Dazu wirst du vermutlich die Befehle '' | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ==== (Mini-)Aufgabe 3 (Befehl '' | ||
| + | |||
| + | <WRAP center round todo 100%> | ||
| + | **" | ||
| + | |||
| + | * Wer versteht, was das linke Programm tut? Bitte ausprobieren! | ||
| + | * Was ist der Unterschied zwischen '' | ||
| + | * Ich erkläre rechtes Programm ('' | ||
| + | * Bonusfrage: Geht dasselbe auch nur mit '' | ||
| + | |||
| + | <WRAP left round box 40%> | ||
| + | <code python> | ||
| + | from gturtle import * # Die ersten beiden Zeilen dienen nur dazu, dass der Befehl getKeyWait() bekannt ist. | ||
| + | makeTurtle() | ||
| + | |||
| + | taste = getKeyWait() | ||
| + | print(taste) | ||
| + | |||
| + | if taste == " | ||
| + | print(" | ||
| + | else: | ||
| + | if taste == " | ||
| + | print(" | ||
| + | else: | ||
| + | if taste == " | ||
| + | print(" | ||
| + | else: | ||
| + | if taste == " | ||
| + | print(" | ||
| + | else: | ||
| + | if taste == " | ||
| + | print(" | ||
| + | else: | ||
| + | print(" | ||
| + | |||
| + | dispose() | ||
| + | </ | ||
| + | </ | ||
| + | <WRAP right round box 40%> | ||
| + | <code python> | ||
| + | from gturtle import * | ||
| + | makeTurtle() | ||
| + | |||
| + | taste = getKeyWait() | ||
| + | print(taste) | ||
| + | |||
| + | if taste == " | ||
| + | print(" | ||
| + | elif taste == " | ||
| + | print(" | ||
| + | elif taste == " | ||
| + | print(" | ||
| + | elif taste == " | ||
| + | print(" | ||
| + | elif taste == " | ||
| + | print(" | ||
| + | else: | ||
| + | print(" | ||
| + | | ||
| + | dispose() | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Aufgabe 4 (Zeichenprogramm / ferngesteuerte Turtle) ==== | ||
| + | |||
| + | <WRAP center round todo 100%> | ||
| + | **Einzelarbeit, | ||
| + | |||
| + | Das folgende Programm nimmt so lange ein Einzelzeichen entgegen, bis die Taste " | ||
| + | Probiere es aus! Gerne auch im Debugging-Modus. | ||
| + | |||
| + | <code python> | ||
| + | from gturtle import * | ||
| + | makeTurtle(" | ||
| + | |||
| + | taste = " " | ||
| + | |||
| + | # Die folgende sogenannte " | ||
| + | # ähnlich wie eine repeat-Schleife: | ||
| + | # eingerückte Code-Block wird solange wiederholt | ||
| + | # ausgeführt, | ||
| + | # englisch WHILE = deutsch SOLANGE | ||
| + | while taste != " | ||
| + | taste = getKeyWait() | ||
| + | | ||
| + | # Hier ist dein Code zu ergänzen! | ||
| + | | ||
| + | dispose() | ||
| + | </ | ||
| + | |||
| + | Erweitere diesen Code zu einem Zeichenprogramm mit den Tasten i, j, k, l als " | ||
| + | |||
| + | Die Schildkröte soll | ||
| + | * beim Tastendruck '' | ||
| + | * beim Tastendruck '' | ||
| + | * beim Tastendruck '' | ||
| + | * beim Tastendruck '' | ||
| + | * Taste '' | ||
| + | * Bei jeder anderen Eingabe soll der Befehl '' | ||
| + | |||
| + | Die erwünschte Lösung verwendet die obige " | ||
| + | |||
| + | <hidden **Bonusteilaufgaben: | ||
| + | Erweitere dein Zeichenprogramm! Hier einige Vorschläge: | ||
| + | * Tasten '' | ||
| + | * Tasten '' | ||
| + | * Tasten '' | ||
| + | * Tasten deiner Wahl zum Anheben bzw. Absenken der Schildkröte ('' | ||
| + | * Benutzerfreundlichkeit: | ||
| + | * Gib etwa bei der Änderung der Dicke des Stifts per '' | ||
| + | * Auf Tastendruck '' | ||
| + | * Taste '' | ||
| + | * Taste '' | ||
| + | * Finde im Internet heraus, wie du deine Zeichnung als Datei (etwa im Format JPEG) abspeichern kannst! | ||
| + | * ... nun fehlt nicht mehr viel zu einem professionellen Zeichenprogramm ... | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | ==== Aufgabe 5 (Quiz) ==== | ||
| + | |||
| + | <WRAP center round todo 100%> | ||
| + | ** Einzelarbeit, | ||
| + | |||
| + | Beachte die Hinweise unten und schreibe ein Programm, das dem Benutzer die folgenden oder mindestens drei Quizfragen deiner Wahl stellt: | ||
| + | * Wie viele Kantone hat die Schweiz? (richtige Antwort 26) | ||
| + | * Wie viele Einwohner hat die Schweiz ungefähr in Millionen? (akzeptiere 8 und 9 als richtige Antwort) | ||
| + | * In welcher Stadt sitzt die Schweizer Regierung? (Bern) | ||
| + | |||
| + | Der Benutzer soll jeweils erfahren, ob die Antwort gestimmt hat; wenn nicht, soll die richtige Antwort genannt werden. | ||
| + | |||
| + | Am Ende soll als Auswertung die Anzahl richtiger Antworten ausgegeben werden. | ||
| + | |||
| + | Hinweise: | ||
| + | * Verwende zur Abfrage jeweils den Befehl '' | ||
| + | * Der Vergleich einer " | ||
| + | |||
| + | <hidden **Bonusteilaufgabe: | ||
| + | Der Benutzer soll nun bei jeder falsch beantworteten Frage zwei weitere Versuche haben. Versuche, dies mit einer '' | ||
| + | |||
| + | Hinweis: Verwende eine Variable, die '' | ||
| + | |||
| + | Alternativ geht es auch mit einer '' | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | |||
| + | ==== Hausaufgabe (kann eventuell während der Lektion begonnen werden) ==== | ||
| + | |||
| + | <WRAP center round todo 100%> | ||
| + | Du hast die Wahl: | ||
| + | * Aufgabe 5 oder | ||
| + | * Aufgabe 4 mit mindestens drei der Bonusteilaufgaben (oder ähnlich schwierigen Sachen deiner Wahl) | ||
| + | * Aufgabe 2 mit mindestens drei der Bonusteilaufgaben (oder ähnlichen schwierigen Sachen deiner Wahl) | ||
| + | * eine der beiden nachfolgenden Bonusaufgaben, | ||
| + | |||
| + | <hidden Hier ist der Anfang der Lösung von Aufgabe 4, falls jemand das in der Lektion noch nicht geschafft hatte. Bitte ausklappen.> | ||
| + | <code python> | ||
| + | from gturtle import * | ||
| + | makeTurtle(" | ||
| + | |||
| + | taste = " " | ||
| + | |||
| + | # Die folgende sogenannte " | ||
| + | # ähnlich wie eine repeat-Schleife: | ||
| + | # eingerückte Code-Block wird solange wiederholt | ||
| + | # ausgeführt, | ||
| + | # englisch WHILE = deutsch SOLANGE | ||
| + | while taste != " | ||
| + | taste = getKeyWait() | ||
| + | | ||
| + | if taste == " | ||
| + | forward(10) | ||
| + | elif taste == " | ||
| + | left(60) | ||
| + | elif taste != " | ||
| + | print(" | ||
| + | |||
| + | dispose() | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | Abgabe bis **spätestens Sonntagabend 23:59 Uhr** vor der nächsten Doppellektion über den folgenden Link: | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ==== Zusammenfassung ==== | ||
| + | |||
| + | |||
| + | <hidden Erst selbst überlegen!> | ||
| + | * Du verstehst das Konzept der '' | ||
| + | * Du kennst die drei (oder vier) Varianten der '' | ||
| + | * Du weisst, wie '' | ||
| + | * Du hast einen ersten Eindruck, wie eine '' | ||
| + | * Du kennst den Unterschied zwischen '' | ||
| + | </ | ||
| + | |||
| + | ==== Bonusaufgabe, | ||
| + | |||
| + | <WRAP center round todo 100%> | ||
| + | **Rasenmäher-Schildkröte** | ||
| + | |||
| + | Lass die Schildkröte so lange geradeaus laufen, bis sie nahe am Rand des Fensters ist. Dann soll sie etwas zurück gehen und sich etwas drehen (dies können feste oder zufällige Werte sein); danach geht es wieder mit der Vorwärtsbewegung weiter etc. | ||
| + | |||
| + | Hinweis: | ||
| + | * Mit den Befehlen '' | ||
| + | * Mit '' | ||
| + | </ | ||
| + | |||
| + | ==== Bonusaufgabe, | ||
| + | |||
| + | <WRAP center round todo 100%> | ||
| + | **Schildkröte als Billard-Ball** | ||
| + | |||
| + | Wähle am Anfang einen zufälligen Startwinkel. Lass die Schildkröte geradeaus in diese Richtung laufen, bis sie auf den Rand des Fensters trifft. Dort soll sie wie ein Lichtstrahl bzw. wie eine idealisierte Billardkugel reflektiert werden. | ||
| + | |||
| + | Schaffst du es, dass die Billard-Schildkröte bei jeder Reflektion die Zeichenfarbe ändert? Die Farbe kann zufällig oder in einer festgelegten Reihenfolge - etwa rot-grün-blau - geändert werden. | ||
| + | |||
| + | Hinweise: Neben den Hinweisen bei der vorigen Aufgabe verwende: | ||
| + | * Mit '' | ||
| + | * Mit '' | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ===== Fragebox - auch zum Besprechen von Programmen während der Lektion (NICHT für Hausaufgaben) ===== | ||
| + | |||
| + | Bitte einfach am Anfang des Programms oder der eingereichten Datei die Frage aufschreiben (mit oder ohne Hashtag ''#'' | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | |||
| + | |||
| + | ===== Lösungsvorschläge und Tafelanschriebe ===== | ||
| + | |||
| + | <hidden Regen/Sonne Flussdiagramm> | ||
| + | {{: | ||
| + | </ | ||
| + | |||
| + | <hidden Zu Aufgabe 1> | ||
| + | Beim Ausführen merkt man, dass das Programm fehlerhaft ist (zwei Doppelpunkte fehlen, eine Einrückung falsch). Die beabsichtigte Korrektur sieht so aus: | ||
| + | <code python> | ||
| + | alter = input(" | ||
| + | |||
| + | # Erste Verwendung: | ||
| + | if alter < 0 or alter >= 130: | ||
| + | print(" | ||
| + | |||
| + | # Zweite Verwendung: | ||
| + | if alter == 0: | ||
| + | print(" | ||
| + | else: | ||
| + | print(" | ||
| + | </ | ||
| + | |||
| + | (Flussdiagramme noch zu ergänzen) | ||
| + | |||
| + | Die Lösung der letzten Teilaufgabe ist: | ||
| + | <code python> | ||
| + | alter = input(" | ||
| + | |||
| + | if alter < 0 or alter >= 130: | ||
| + | print(" | ||
| + | else: | ||
| + | if alter == 0: | ||
| + | print(" | ||
| + | else: | ||
| + | print(" | ||
| + | | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <hidden Aufgabe 2: Zufällige Bewegung> | ||
| + | {{: | ||
| + | <code python> | ||
| + | from gturtle import * | ||
| + | from random import * | ||
| + | |||
| + | makeTurtle() | ||
| + | speed(-1) | ||
| + | s = 10 | ||
| + | n = input(" | ||
| + | |||
| + | repeat n: | ||
| + | forward(s) | ||
| + | if random() < 0.5: | ||
| + | left(90) | ||
| + | else: | ||
| + | right(90) | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <hidden Aufgabe 3: getKeyWait() und if-elif-...-elif-else kennenlernen> | ||
| + | Das Programm wartet auf einen Tastendruck und speichert diesen in der Variablen '' | ||
| + | |||
| + | Der Befehl '' | ||
| + | Der Befehl '' | ||
| + | |||
| + | Es geht auch nur mit '' | ||
| + | <code python> | ||
| + | from gturtle import * # Die ersten beiden Zeilen dienen nur dazu, dass der Befehl getKeyWait() bekannt ist. | ||
| + | makeTurtle() | ||
| + | |||
| + | taste = getKeyWait() | ||
| + | print(taste) | ||
| + | |||
| + | if taste == " | ||
| + | print(" | ||
| + | if taste == " | ||
| + | print(" | ||
| + | if taste == " | ||
| + | print(" | ||
| + | if taste == " | ||
| + | print(" | ||
| + | if taste == " | ||
| + | print(" | ||
| + | if taste != " | ||
| + | print(" | ||
| + | |||
| + | dispose() | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <hidden Aufgabe 4: Ferngesteuerte Turtle> | ||
| + | <code python> | ||
| + | from gturtle import * | ||
| + | makeTurtle(" | ||
| + | |||
| + | taste = " " | ||
| + | |||
| + | # Die folgende sogenannte " | ||
| + | # ähnlich wie eine repeat-Schleife: | ||
| + | # eingerückte Code-Block wird solange wiederholt | ||
| + | # ausgeführt, | ||
| + | # englisch WHILE = deutsch SOLANGE | ||
| + | s = 10 | ||
| + | |||
| + | while taste != " | ||
| + | taste = getKeyWait() | ||
| + | |||
| + | if taste == " | ||
| + | forward(s) | ||
| + | elif taste == " | ||
| + | left(60) | ||
| + | elif taste == " | ||
| + | backward(s) | ||
| + | elif taste == " | ||
| + | right(60) | ||
| + | elif taste == " | ||
| + | s = s + 1 | ||
| + | elif taste == " | ||
| + | s = s - 1 | ||
| + | elif taste == " | ||
| + | winkel = input(" | ||
| + | right(winkel) | ||
| + | elif taste == " | ||
| + | home() | ||
| + | elif taste != " | ||
| + | print(" | ||
| + | |||
| + | dispose() | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <hidden Aufgabe 5: Quiz> | ||
| + | <code python> | ||
| + | n = 0 # Anzahl korrekter Antworten. | ||
| + | |||
| + | a = input(" | ||
| + | if a == 26: # Achtung, manche haben hier a == " | ||
| + | print(" | ||
| + | n = n + 1 | ||
| + | else: | ||
| + | print(" | ||
| + | | ||
| + | b = input(" | ||
| + | if b == 8 or b == 9: | ||
| + | print(" | ||
| + | n = n + 1 | ||
| + | else: | ||
| + | print(" | ||
| + | |||
| + | c = input(" | ||
| + | if c == " | ||
| + | print(" | ||
| + | n = n + 1 | ||
| + | else: | ||
| + | print(" | ||
| + | |||
| + | print(" | ||
| + | print(n) | ||
| + | |||
| + | if n > 2: | ||
| + | print(" | ||
| + | elif n == 0: | ||
| + | print(" | ||
| + | </ | ||
| + | | ||
| + | Und hier die Bonus-Variante (die ersten beiden Fragen per '' | ||
| + | <code python> | ||
| + | n = 0 # Anzahl korrekter Antworten. | ||
| + | v = 0 # Anzahl falsche Versuche | ||
| + | |||
| + | eingabeStimmt = 0 | ||
| + | repeat 3: | ||
| + | if eingabeStimmt == 0: | ||
| + | a = input(" | ||
| + | if a == 26: | ||
| + | print(" | ||
| + | n = n + 1 | ||
| + | eingabeStimmt = 1 | ||
| + | else: | ||
| + | print(" | ||
| + | v = v + 1 | ||
| + | if eingabeStimmt == 0: | ||
| + | print(" | ||
| + | |||
| + | print(20 * " | ||
| + | eingabeStimmt = 0 | ||
| + | repeat 3: | ||
| + | if eingabeStimmt == 0: | ||
| + | b = input(" | ||
| + | if b == 8 or b == 9: | ||
| + | print(" | ||
| + | n = n + 1 | ||
| + | eingabeStimmt = 1 | ||
| + | else: | ||
| + | print(" | ||
| + | v = v + 1 | ||
| + | if eingabeStimmt == 0: | ||
| + | print(" | ||
| + | |||
| + | # Und nun die Variante mit der while-Schleife | ||
| + | |||
| + | |||
| + | print(20 * " | ||
| + | nochVersuche = 3 # Anzahl der Versuche, die der Antwortende noch hat. | ||
| + | |||
| + | while nochVersuche > 0: | ||
| + | c = input(" | ||
| + | nochVersuche = nochVersuche - 1 | ||
| + | if c == " | ||
| + | print(" | ||
| + | n = n + 1 | ||
| + | nochVersuche = 0 | ||
| + | else: | ||
| + | print(" | ||
| + | v = v + 1 | ||
| + | if c != " | ||
| + | print(" | ||
| + | |||
| + | |||
| + | print(20 * " | ||
| + | print(" | ||
| + | print(n) | ||
| + | print(" | ||
| + | print(v) | ||
| + | |||
| + | if n == 3 and v == 0: | ||
| + | print(" | ||
| + | else: | ||
| + | print(" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== Hausaufgaben vom letzten Mal ===== | ||
| + | |||
| + | <hidden Aufgabe 4: Konzentrische Quadrate> | ||
| + | Ich gebe zwei Lösungen: | ||
| + | * In der ersten Lösung wird jedes Quadrat von der unteren linken Ecke aus gezeichnet und die Turtle wird davor entsprechend positioniert. | ||
| + | * In der zweiten Lösung wird jedes Quadrat von der Mitte der oberen Seite gezeichnet und die Turtle wird davor entsprechend positioniert. | ||
| + | |||
| + | Erste Lösung | ||
| + | |||
| + | <code python> | ||
| + | from gturtle import * | ||
| + | makeTurtle() | ||
| + | # hideTurtle() | ||
| + | |||
| + | n = input(" | ||
| + | s = 10 | ||
| + | differenz = 20 | ||
| + | |||
| + | repeat n: | ||
| + | repeat 4: | ||
| + | forward(s) | ||
| + | right(90) | ||
| + | s = s + differenz | ||
| + | |||
| + | penUp() | ||
| + | left(90) | ||
| + | forward(differenz / 2) | ||
| + | right(90) | ||
| + | backward(differenz / 2) | ||
| + | penDown() | ||
| + | </ | ||
| + | |||
| + | Zweite Lösung | ||
| + | |||
| + | <code python> | ||
| + | from gturtle import * | ||
| + | makeTurtle() | ||
| + | # hideTurtle() | ||
| + | |||
| + | n = input(" | ||
| + | s = 10 | ||
| + | differenz = 20 | ||
| + | |||
| + | repeat n: | ||
| + | home() | ||
| + | penUp() | ||
| + | forward(s / 2) | ||
| + | right(90) | ||
| + | penDown() | ||
| + | | ||
| + | repeat 4: | ||
| + | forward(s / 2) | ||
| + | right(90) | ||
| + | forward(s / 2) | ||
| + | |||
| + | s = s + differenz | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | | ||
| + | | ||
| + | <hidden Aufgabe 6: Quadratische Spirale mit Roboter> | ||
| + | <code python> | ||
| + | from mbrobot import * | ||
| + | |||
| + | n = 16 # Anzahl der Bewegungen, darf gerne verändert werden | ||
| + | |||
| + | zeitVorwaerts = 660 | ||
| + | zeitRechtsdrehung = 450 | ||
| + | # Diese Zeitangaben haben bei meinem Roboter (ungefähr) | ||
| + | # funktioniert. Im Simulationsmodus sind das aber keine | ||
| + | # rechten Winkel beim Abbiegen. | ||
| + | |||
| + | repeat n: | ||
| + | forward() | ||
| + | delay(zeitVorwaerts) | ||
| + | right() | ||
| + | delay(zeitRechtsdrehung) | ||
| + | zeitVorwaerts = zeitVorwaerts + 400 | ||
| + | stop() | ||
| + | </ | ||
| + | </ | ||
| + | ===== Link zur Kursseite ===== | ||
| + | |||
| + | [[lehrkraefte: | ||