Schleifen - Wiederholungen
Einstieg
Aufgabe: Super Mario's Münzenzählung
Beschreibung: In dieser Scratch-Aufgabe werden wir zwei Figuren in die Welt von Super Mario importieren: Mario und fliegende Münzen. Deine Aufgabe ist es, Scratch zu verwenden, um beide Figuren mithilfe von Schleifen zu animieren.
Anleitung:
-
Erstelle ein Scratch-Projekt und füge ein Hintergrundbild von Super Mario ein.
-
Importiere eine Mario-Figur und eine Münzen-Figur in dein Projekt.
-
Verwende Schleifen, um Mario und die Münze zu animieren.
Hinweise:
- Verwende Schleifen, um kontinuierlich zum nächsten Kostüm zu wechseln.
- Verwende den Warten-Block, um die Geschwindigkeit der Animation anzupassen.
-
Figurendatei: Mario
-
Figurendatei: Münze
-
Hintergrunddatei
Downloads
Klicke mit einem Rechtsklick auf die Datei und wähle "Link speichern unter", um die Datei zu speichern.
Importiere die Figur in deine Scratch-Programmierumgebung.
Definition: Kopfgesteuerte Schleifen
Kopfgesteuerte Schleifen sind Schleifen, die solange ausgeführt werden, wie eine bestimmte Bedingung erfüllt ist. Eine Beispiel für eine solche Schleife ist die while-Schleife in Python. Hier ist ein Beispiel-Pseudocode:
# Erstelle eine Variable namens counter und weise ihr den Wert 0 zu
counter = 0
# Erstelle eine while-Schleife, die solange ausgeführt wird, wie counter kleiner als 5 ist
while counter < 5:
print("Die Schleife wird zum", counter + 1, ". Mal ausgeführt")
counter += 1
In diesem Beispiel wird die Schleife fünfmal ausgeführt, da die Bedingung „counter < 5“ erfüllt ist. Bei jedem Durchlauf wird die Variable „counter“ um eins erhöht.
Beispiel der kopfgesteuerten Schleife
Definition: Zählschleifen
Zählschleifen sind Schleifen, die eine bestimmte Anzahl von Schritten ausführen. Eine Beispiel für eine solche Schleife ist die for-Schleife in Python. Hier ist ein Beispiel-Pseudocode:
# Erstelle eine for-Schleife, die fünfmal ausgeführt wird
for i in range(5):
print("Die Schleife wird zum", i + 1, ". Mal ausgeführt")
In diesem Beispiel wird die Schleife fünfmal ausgeführt, da wir „range(5)“ als Parameter angegeben haben. Bei jedem Durchlauf wird die Variable „i“ um eins erhöht.
Beide Arten von Schleifen können uns helfen, den Code effizienter und lesbarer zu machen, da wir Anweisungen nicht wiederholen müssen.
Beispiel der Zählschleife
Aufgabe 1: Implementiere ein Programm, das eine Schleife von 0 bis 100 durchläuft und jedes Mal die Größe einer Figur ändert. Die Figur soll wachsen.
- Schleife von 0 bis 100 durchlaufen:
- Größe der Figur um 1 vergrößern
- Warte 0,1 Sekunden
- Erstelle eine Schleife, die von 0 bis 100 läuft.
- Innerhalb der Schleife ändere die Größe der Figur um 10.
- Füge eine kurze Pause von 0,1 Sekunden ein, damit die Größenänderungen nacheinander sichtbar werden.
- Führe das Programm aus, um zu sehen, wie die Figur wächst, während die Schleife durchlaufen wird.
Aufgabe 2: Implementiere ein Programm, das eine Schleife von 0 bis 100 durchläuft und jedes Mal die Größe einer Figur ändert. Die Figur soll schrumpfen.
- Setze die Größe der Figur auf 100%
- Wiederhole von 0 bis 100
- Verringere die Größe der Figur um 1%
- Warte 0.05 Sekunden
- Zunächst wird die Größe der Figur auf 100% gesetzt.
- Dann wird eine Schleife von 0 bis 100 durchlaufen.
- Innerhalb der Schleife wird die Größe der Figur um 1% reduziert.
- Nach jeder Größenänderung wird eine kurze Pause von 0.05 Sekunden eingelegt, um die Animation flüssiger zu machen.
- Am Ende der Schleife wird die Figur eine Größe von 0% erreichen.
Aufgabe 3: Implementiere ein Programm, das eine Schleife durchläuft und jedes Mal eine Figur in einem anderen Winkel dreht.
- Wiederhole die folgenden Schritte, solange das Programm läuft:
- Drehe die Figur um einen Winkel, der einer zufälligen Zahl von 1 bis 10 entspricht
- Setze die Startposition der Figur
- Wiederhole die folgenden Schritte, solange das Programm läuft:
Drehe die Figur um einen zufälligen Winkel
Aufgabe 4: Implementiere ein Programm, das den Benutzer auffordert, bis zu einer zufällig generierten Zahl zu zählen und die entsprechenden Zahlen jeweils einzugeben. Das Programm gibt eine Rückmeldung, wenn die eingegebenen Zahlen jeweils richtig oder falsch sind.
- setze Zielzahl auf zufällige Zahl zwischen 1 und 10
- setze Zähler auf 1
- Wiederhole (Zielzahl -1)-mal:
- Frage den Benutzer nach der nächsten Zahl
- Wenn die eingegebene Zahl der Zählerzahl entspricht, dann:
- gib "Richtig!" aus
- Ansonsten: gib "Falsch!" aus
- erhöhe Zähler um 1
- Verwenden Sie den Block „Wiederhole () mal“, um die Schleife auszuführen, bis alle Zahlen korrekt eingegeben wurden.
- Verwenden Sie den Block „Erhöhe um“ oder „Setze auf“, um den Zähler zu erhöhen.
- Verwenden Sie den Block „Frage und warte“ um den Benutzer nach der nächsten Zahl zu fragen.
- Verwenden Sie den Block „Wenn-Dann-Sonst“ oder „Wenn-Dann“ um zu überprüfen, ob die eingegebene Zahl der Zählerzahl entspricht und die entsprechende Ausgabe auszugeben.
Aufgabe 5: Schreibe ein Programm, das den Benutzer auffordert, eine Zahl einzugeben und die Summe aller Zahlen von 1 bis zur eingegebenen Zahl berechnet.
- Frage den Benutzer nach einer Zahl
- Initialisiere eine Variable "Summe" auf 0
- Initialisiere eine Variable "Zähler" auf 1
- Wiederhole solange der Zähler kleiner oder gleich der eingegebenen Zahl ist:
- Addiere den Zähler zur Summe
- Erhöhe den Zähler um 1
- Gib die Summe aus
- Verwenden Sie den Block „Frage“ oder „Eingabe“ um den Benutzer nach einer Zahl zu fragen.
- Verwenden Sie eine Variable, um die Summe der Zahlen zu speichern.
- Verwenden Sie eine Variable als Zähler, um durch die Zahlen von 1 bis zur eingegebenen Zahl zu iterieren.
- Verwenden Sie den Block „Wiederhole solange“ oder „Wiederhole bis“, um die Schleife durchzuführen.
- Verwenden Sie den Block „Addiere zu“ oder „Setze auf“ um die Summe der Zahlen zu aktualisieren.
- Verwenden Sie den Block „Erhöhe um“ oder „Setze auf“ um den Zähler zu aktualisieren.
Aufgabe 6: Schreibe ein Programm, das eine Reihe von Zahlen ausgibt und nur die geraden oder nur die ungeraden Zahlen ausgibt, je nach Benutzerwahl.
- Frage den Benutzer, ob gerade oder ungerade Zahlen ausgegeben werden sollen
- Initialisiere eine Variable "Zähler" auf 1
- Wiederhole solange der Zähler kleiner oder gleich 10 ist:
- Wenn die gewählte Option gerade ist:
- Sage 2*n für 2 Sekunden
- Sonst:
- Sage 2*n + 1 für 2 Sekunden
- Erhöhe den Zähler um 1
- Wenn die gewählte Option gerade ist:
- Verwenden Sie den Block „Frage“ oder „Auswählen“ um den Benutzer nach der Wahl von gerade oder ungerade zu fragen.
- Verwenden Sie eine Variable als Zähler, um durch die Zahlen von 1 bis 10 zu iterieren.
- Verwenden Sie den Block „Wiederhole solange“ oder „Wiederhole bis“, um die Schleife durchzuführen.
- Verwenden Sie den Block „Wenn… dann“ um zu überprüfen, ob die aktuelle Zahl gerade oder ungerade ist.
- Verwenden Sie den Block „Gib aus“ oder „Zeige“ um die entsprechende Zahl auszugeben.
- Verwenden Sie den Block „Erhöhe um“ oder „Setze auf“ um den Zähler zu aktualisieren.
Aufgabe 7: Schreiben Sie ein Programm, das den Benutzer auffordert, eine Zahl einzugeben und dann ausgibt, ob diese Zahl eine Primzahl ist.
- Frage den Benutzer nach einer Zahl
- Initialisiere eine Variable "istPrimzahl" auf Wahr (true)
- Initialisiere eine Variable "divisor" auf 2
- Wiederhole solange divisor kleiner oder gleich der Hälfte der eingegebenen Zahl ist:
- Wenn die eingegebene Zahl durch den aktuellen Divisor ohne Rest teilbar ist:
- Setze istPrimzahl auf Falsch (false)
- Beende die Schleife
- Erhöhe den Divisor um 1
- Wenn die eingegebene Zahl durch den aktuellen Divisor ohne Rest teilbar ist:
- Wenn istPrimzahl gleich Wahr (true):
- Gib aus "Die eingegebene Zahl ist eine Primzahl"
- Sonst:
- Gib aus "Die eingegebene Zahl ist keine Primzahl"
- Verwenden Sie den Block „Frage“ um den Benutzer nach einer Zahl zu fragen.
- Verwenden Sie eine Variable „istPrimzahl“, um zu verfolgen, ob die eingegebene Zahl eine Primzahl ist oder nicht. Setzen Sie es auf Wahr (true) als Standardwert.
- Verwenden Sie eine Variable „divisor“, um durch die möglichen Teiler zu iterieren. Beginnen Sie mit 2, da jede Zahl durch 1 teilbar ist.
- Verwenden Sie den Block „Wiederhole solange“ oder „Wiederhole bis“, um die Schleife durchzuführen.
- Überprüfen Sie in jedem Schleifendurchlauf, ob die eingegebene Zahl durch den aktuellen Divisor ohne Rest teilbar ist. Wenn ja, setzen Sie istPrimzahl auf Falsch (false) und beenden Sie die Schleife.
- Wenn istPrimzahl gleich Wahr (true) ist, geben Sie aus, dass die eingegebene Zahl eine Primzahl ist. Andernfalls geben Sie aus, dass sie keine Primzahl ist.
- Vergessen Sie nicht, den Divisor nach jedem Schleifendurchlauf um 1 zu erhöhen.
Hinweis: Dies ist ein einfacher Algorithmus zur Bestimmung von Primzahlen, der möglicherweise langsam für sehr große Zahlen ist.
Aufgabe 8: Schreiben Sie ein Programm, das den Benutzer auffordert, eine Liste von Zahlen einzugeben und dann die höchste Zahl in der Liste ausgibt.
- Frage den Benutzer nach der Anzahl der Zahlen in der Liste
- Initialisiere eine Variable "maximum" auf den kleinsten möglichen Wert
- Wiederhole die Anzahl der Zahlen in der Liste mal:
- Frage den Benutzer nach einer Zahl
- Wenn die eingegebene Zahl größer als das aktuelle Maximum ist:
- Setze das Maximum auf die eingegebene Zahl
- Gib das Maximum aus
- Verwenden Sie den Block „Frage“, um den Benutzer nach der Anzahl der Zahlen in der Liste zu fragen.
- Initialisieren Sie eine Variable „maximum“ auf den kleinsten möglichen Wert, z.B. -1000, damit jede Zahl größer ist.
- Verwenden Sie eine Schleife, um die Anzahl der Zahlen in der Liste abzufragen.
- Innerhalb der Schleife fragen Sie den Benutzer nach einer Zahl.
- Verwenden Sie eine Bedingung, um zu prüfen, ob die eingegebene Zahl größer als das aktuelle Maximum ist. Wenn ja, setzen Sie das Maximum auf die eingegebene Zahl.
- Am Ende der Schleife geben Sie das Maximum aus.
Hinweis: Stellen Sie sicher, dass der Benutzer tatsächlich eine Zahl eingibt, um Fehlermeldungen zu vermeiden.
Aufgabe 9: Schreibe ein Programm, das den Benutzer auffordert, eine Anzahl von Würfen mit einem Würfel durchzuführen und dann die Gesamtzahl der Würfe ausgibt sowie wie oft jede Zahl gewürfelt wurde.
- Frage den Benutzer nach der Anzahl der Würfe
- Initialisiere ein Array oder sechs Variablen für die "Ergebnisse" auf den Wert 0
- Initialisiere eine Variable "gesamt" auf 0
- Wiederhole die Anzahl der Würfe mal:
- Würfle eine Zahl zwischen 1 und 6 und speichere sie in einer Variable "Ergebnis"
- Erhöhe das entsprechende Element im Array "Ergebnisse" um 1
- Erhöhe die Variable "Gesamt" um das aktuelle Würfelergebnis
- Gib die Gesamtzahl der Würfe aus
- Wiederhole für jede Zahl von 1 bis 6:
- Gib aus, wie oft die jeweilige Zahl gewürfelt wurde
- Verwenden Sie den Block „Frage“, um den Benutzer nach der Anzahl der Würfe zu fragen.
- Initialisieren Sie ein Array „ergebnisse“ mit 6 Elementen auf den Wert 0, um die Anzahl der Würfe pro Zahl zu speichern.
- Initialisieren Sie eine Variable „gesamt“ auf 0, um die Gesamtzahl der Würfe zu speichern.
- Verwenden Sie eine Schleife, um die Anzahl der Würfe durchzuführen.
- Innerhalb der Schleife würfeln Sie eine Zahl zwischen 1 und 6 und speichern sie in einer Variable „ergebnis“.
- Erhöhen Sie das entsprechende Element im Array „ergebnisse“ um 1, abhängig vom aktuellen Würfelergebnis.
- Erhöhen Sie die Variable „gesamt“ um das aktuelle Würfelergebnis.
- Geben Sie die Gesamtzahl der Würfe aus.
- Verwenden Sie eine weitere Schleife, um für jede Zahl von 1 bis 6 auszugeben, wie oft sie gewürfelt wurde.
Hinweis: Stellen Sie sicher, dass der Benutzer eine positive ganze Zahl als Eingabe eingibt, um Fehlermeldungen zu vermeiden.
Stundenfragen
Fragen – Notiere diese im Heft und beantworte sie schriftlich!
- Wie können Schleifen in Scratch verwendet werden, um eine Figur auf einem festgelegten Pfad zu bewegen?
- Wie können Schleifen in Scratch verwendet werden, um die Wiederholung von Code zu automatisieren und die Effizienz des Programms zu verbessern?
- Wie können Schleifen in Scratch verwendet werden, um die Anzahl von Würfen bei einem Würfelspiel zu verfolgen?
- Wie können Schleifen in Scratch verwendet werden, um eine Liste von Zahlen zu durchsuchen und eine bestimmte Zahl in der Liste zu finden?
Schleifen können in Scratch verwendet werden, um eine Figur auf einem festgelegten Pfad zu bewegen, indem sie den Code in der Schleife platziert, der die Bewegungen definiert und die Anzahl der Wiederholungen angibt, die erforderlich sind, um die Figur zum Ziel zu bringen. Eine Möglichkeit wäre die Verwendung einer Schleife mit einer Bedingung, um die Figur in einer bestimmten Richtung oder Entfernung zu bewegen, bis sie das Ziel erreicht.
Schleifen können in Scratch verwendet werden, um die Wiederholung von Code zu automatisieren und die Effizienz des Programms zu verbessern, indem sie den Code in der Schleife platzieren, der mehrmals ausgeführt werden soll, anstatt ihn mehrmals zu wiederholen. Eine Möglichkeit besteht darin, eine Schleife mit einer Bedingung zu verwenden, die die Anzahl der erforderlichen Wiederholungen steuert.
Schleifen können in Scratch verwendet werden, um die Anzahl von Würfen bei einem Würfelspiel zu verfolgen, indem sie den Code in der Schleife platzieren, der den Wurfprozess definiert und eine Zählervariable erhöht, um die Anzahl der Würfe zu verfolgen. Eine Möglichkeit besteht darin, eine Schleife mit einer Bedingung zu verwenden, die die Anzahl der Würfe steuert.
Schleifen können in Scratch verwendet werden, um eine Liste von Zahlen zu durchsuchen und eine bestimmte Zahl in der Liste zu finden, indem sie den Code in der Schleife platzieren, der jeden Wert in der Liste überprüft, bis die gewünschte Zahl gefunden wird. Eine Möglichkeit besteht darin, eine Schleife mit einer Bedingung zu verwenden, die den Schleifendurchlauf stoppt, wenn die gesuchte Zahl gefunden wird.