Verschachtelte Strukturen
Einstieg
Erkläre den Zusammenhang zwischen den angegebenen Bildern und der Verwendung von Schleifen und Abfragen in der Programmiersprache Scratch.
Information
Verschachtelte Abfragen und Schleifen sind nützliche Techniken in der Programmierung, um komplexe Probleme zu lösen.
Verschachtelte Abfragen ermöglichen es dir, Bedingungen zu überprüfen, die von anderen Bedingungen abhängen. In Scratch kannst du zum Beispiel eine If-Abfrage in eine andere If-Abfrage einbetten. Dadurch kannst du Bedingungen auf mehrere Wege kombinieren und spezifische Bedingungen abfragen. Ein Beispiel: „Wenn der Spieler die Taste „A“ drückt, überprüfe, ob sich Mario in der Luft befindet. Wenn ja, führe einen Sprung aus, sonst laufe einfach weiter.“
Wenn die Sonne scheint, dann
wenn ich meine Fußballschuhe finde, dann
gehe ich nach draußen zum Spielen
sonst
bleibe ich zuhause und schaue Netflix
sonst
bleibe ich zuhause und schaue NetflixVerschachtelte Abfragen können immer auch unverschachtelt mithilfe der UND-Verknüpfung umgesetzt werden.
Wenn die Sonne scheint UND wenn ich meine Fußballschuhe finde, dann gehe ich nach draußen zum Spielen sonst bleibe ich zuhause und schaue Netflix
Verschachtelte Schleifen sind eine Möglichkeit, um wiederholte Aktionen auszuführen. In Scratch gibt es zwei Arten von Schleifen: die „Wiederhole X Mal“-Schleife und die „Wiederhole bis“-Schleife. Durch die Kombination von Schleifen kannst du komplexe Abläufe erstellen, die von Bedingungen abhängen. Ein Beispiel: „Wiederhole 10 Mal: Wenn Mario den Gegner berührt, ziehe einen Punkt ab. Wenn Mario eine Münze sammelt, füge einen Punkt hinzu.“
Verschachtelte Schleifen können auch verwendet werden, um Muster zu erzeugen oder komplexe Animationen zu erstellen. Es ist jedoch wichtig, die Schleifen so zu gestalten, dass sie nicht unendlich laufen oder sich gegenseitig blockieren. Eine sorgfältige Planung und Testen sind deshalb immer wichtig.
Für jeden Tisch im Klassenzimmer tun:
Für jeden Schüler am Tisch tun:
Gib dem Schüler ein Arbeitsblatt
Gib dem Lehrer eine Pause
Mit dieser verschachtelten Schleife kann man dem Lehrer die Anweisung geben, dass er an jedem Tisch im Klassenraum für jeden Schüler der daran sitzt, ein Arbeitsblatt ausgeteilt werden soll.
Aufgabe 1: Erstelle ein Scratch-Programm, das den Benutzer nach seinem Alter fragt. Wenn der Benutzer unter 12 Jahre alt ist und eine Eingabe zwischen 1 und 10 macht, wird eine Figur erscheinen und das Alter ausgeben. Wenn die Figur 11 ist, macht sie einen Salto. Wenn der Benutzer älter als 12 Jahre ist, wird sie unsichtbar.
Sorge dafür, dass beim Klick der Fahne alle geänderten Parameter zurückgesetzt werden.
Aufgabe 2: Erstelle ein Scratch-Programm, das den Benutzer nach seinem Geschlecht fragt. Wenn die Eingabe „weiblich“, „männlich“ oder „divers“ ist, wird die Figur die Eingabe wiederholend ausgeben. Wenn die Eingabe etwas anderes ist, wird die Figur sagen, dass sie die Aussage nicht versteht.
Aufgabe 3: Erstelle ein Scratch-Programm, das den Benutzer nach seiner Lieblingsfarbe und seinem Alter fragt. Wenn die Eingabe des Benutzers sowohl die Lieblingsfarbe „Blau“ als auch ein Alter über 10 Jahre ist, wird eine Figur erscheinen und einen kleinen Tanz aufführen. In allen anderen Fällen wird die Figur ihr Kostüm ändern.
Sorge dafür, dass beim Klick der Fahne alle geänderten Parameter zurückgesetzt werden.
Aufgabe 4: Erstelle ein Scratch-Programm, das den Benutzer nach seinem Namen und seinem Alter fragt. Wenn die Eingabe des Benutzers sowohl einen Namen mit mehr als 5 Buchstaben als auch ein Alter über 10 Jahre ist, wird die Figur ihre Farbe ändern. In allen anderen Fällen wird die Figur einen Klangeffekt abspielen.
Aufgabe 5: Erstelle ein Scratch-Programm, das eine Figur über den Bildschirm bewegt. Die Figur soll so lange in eine bestimmte Richtung gehen, bis sie eine Wand erreicht hat, dann soll sie sich um 90° drehen und wieder bis zur Wand laufen …
Aufgabe 6: Erstelle ein Scratch-Programm, das den Benutzer nach einem Wort fragt. Das Programm soll dann jedes Mal, wenn der Benutzer einen Buchstaben eingibt, das Wort rückwärts ausgeben.
Aufgabe 7: Erstelle ein Scratch-Programm, das den Benutzer nach einer Zahl fragt. Das Programm soll dann die Fakultät der Zahl berechnen und ausgeben.
Hinweis: Die Fakultät einer Zahl ist das Produkt aller natürlicher Zahlen von 1 bis zu dieser Zahl.
Beispiel: 3! = 3 * 2 * 1 = 6 oder 4! = 4 * 3 * 2 * 1 = 24
Aufgabe 8: Schreibe ein Programm in Scratch, das den Benutzer nach einem Wort fragt und überprüft, ob das eingegebene Wort ein Palindrom ist. Wenn es ein Palindrom ist, gib eine entsprechende Meldung aus, ansonsten gib eine andere Meldung aus.
Hinweis: Ein Palindrom ist ein Wort, das vorwärts und rückwärts gelesen werden kann.
Beispiel: Lagerregal, Anna, Otto, ...
- Frage: "Gib ein Wort ein"
- Setze Variable "palindrom" auf "wahr"
- Setze Variable Position auf 1
- Wiederhole <Länge von Antwort> mal
- Wenn Buchstabe an Position i nicht gleich Buchstabe an Position (laenge-i+1):
- Setze Variable "palindrom" auf "falsch"
- Wenn Buchstabe an Position i nicht gleich Buchstabe an Position (laenge-i+1):
- Wenn Variable "palindrom" gleich "wahr" ist:
- Zeige Meldung "Das eingegebene Wort ist ein Palindrom"
- Sonst:
- Zeige Meldung "Das eingegebene Wort ist kein Palindrom"
- Erstelle eine Variable „wort“ und platziere einen Textblock, der den Benutzer auffordert, ein Wort einzugeben.
- Platziere einen weiteren Textblock, der den Benutzer informiert, ob das eingegebene Wort ein Palindrom ist oder nicht.
- Platziere eine Variable „laenge“ und weise ihr den Wert der Länge des eingegebenen Wortes zu.
- Platziere eine Variable „palindrom“ und weise ihr den Wert „true“ zu.
- Platziere eine Schleife, die von i=1 bis i=laenge läuft.
- Innerhalb der Schleife, überprüfe ob der Buchstabe an Position i gleich dem Buchstabe an Position (laenge-i+1) ist. Wenn nicht, setze die Variable „palindrom“ auf „false“ und breche die Schleife ab.
- Nach der Schleife, überprüfe ob die Variable „palindrom“ gleich „true“ ist. Wenn ja, zeige eine Meldung „Das eingegebene Wort ist ein Palindrom“, ansonsten zeige „Das eingegebene Wort ist kein Palindrom“.
- Fertig!