Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
Die Themen sind jeweils gleich aufgebaut und können in beliebiger Reihenfolge durchgearbeitet werden.
Die Fangspielergänzung ist die Aufgabe, die du selber programmieren sollst. Eine Musterlösung steht dir zur Verfügung.
Im Handbuch findest du alles, was du über das Thema wissen musst.
Code lesen & Debugging sind kleine Übungen, die dir helfen, das Thema besser zu verstehen.
Die Anwendungsbeispiele zeigen dir, wie die neuen Programmierkonzepte in Scratch-Projekte eingesetzt werden können. Du kannst diese Projekte durchschauen oder selber nachprogrammieren.
Mit einem Doppelklick auf einen Kreis navigierst du eine Ebene tiefer in das Thema.
Mit einem Klick auf das Pfeil-Symbol (unten links) kannst du jederzeit eine Ebene zurückgehen. Alternative: Wischbewegung mit zwei Fingern nach oben.
Mit diesen Pfeilen unten in der Mitte kannst du die Themen nach einem vorgeschlagenen Pfad bearbeiten. Du kannst die Themen jedoch auch selbstständig erkunden.
Mit Hilfe dieser Präsentation kannst du die Programmierkonzepte erlernen, welche im Lehrplan 21 im dritten Zyklus eine wichtige Rolle spielen: Schleifen, Variablen, Logische Operatoren und Unterprogramme (MI.2.2.g und MI.2.2.h).
Voraussetzungen:
https://tiny.phzh.ch/einfuehrung-scratch
Materialien für den Unterricht:
https://tiny.phzh.ch/scratch
Mini-Challenges für den Unterricht:
https://tiny.phzh.ch/scratch-mini-challenges
Programmieren lernen (für Lehrpersonen):
https://tiny.phzh.ch/einfuehrung-scratch
Schritt-für-Schritt-Anleitung:
https://tiny.phzh.ch/scratch
(Fangspiel "Aepfel fangen" auswählen)
https://scratch.mit.edu/projects/335292513/editor/
Mit Schleifen (auch: Wiederholungen oder Iterationen) wird eine Folge von Anweisungen wiederholt.
Es gibt verschiedene Arten von Schleifen.
In Scratch werden nebenstehende Schleifen verwendet.
In diesem Handbuch findest du alles, was du über Schleifen in Scratch wissen musst. Bei Unsicherheiten und Fragen kannst du hier nachschauen.
In Scratch werden 3 verschiedene Schleifen verwendet:
Wiederhole X mal: Die Folge von Anleitungen wird genau so oft ausgeführt, wie angegeben wurde.
Wiederhole fortlaufend: Diese Schleife wird erst bei einem Programmabbruch beendet.
Wiederhole bis [ ]: Diese Schleife wird wiederholt, bis eine bestimmte Bedingung eintrifft.
Für Details klicke die jeweilige Schleifenart.
Typisches Beispiel
aus: wird:
Hierdurch wird das Skript kürzer. Änderungen können an einer einzigen Stelle vorgenommen werden.
Diese Wiederholung wird nach Aktivierung so lange ausgeführt, bis das Programm beendet wird.
Ein Abbruch ohne das Programm beenden zu müssen, kann mit «stoppe dieses Skript» erzwungen werden.
Typischerweise wird diese Schleife für Mechaniken verwendet, die während des ganzen Programms getestet und gegebenenfalls ausgeführt werden müssen.
Diese Schleife wird so lange ausgeführt, bis eine bestimmte Bedingung erfüllt ist. Beispiel:
Die Figur bewegt sich mit 7-Pixel-Schritten nach rechts, bis sie mindestens 100 Pixel von der Mitte des Bildschirms entfernt ist.
Bei «wiederhole x mal» handelt es sich um eine Zählerschleife (FOR), bei «wiederhole fortlaufend» um eine Endlosschliefe (z. B. WHILE 1 == 1) und bei «wiederhole bis [ ]» um eine kopfgesteuerte Schleife (WHILE).
Optional:
Zusätzliche Informationen zu Arten von Schleifen findest du zum Beispiel hier:
https://de.wikipedia.org/wiki/Schleife_(Programmierung)
Eine Möglichkeit, sich intensiv mit neuen Programmierkonzepten auseinanderzusetzen, bietet «Code lesen» und das «Debugging». Diese Aufgaben helfen dir zu erkennen, ob du die Konzepte wirklich verstanden hast.
Schau dir die Programme an, und versuche sie zu verstehen (Code lesen) oder den Fehler zu finden (Debugging).
In welche Richtung schaut die Katze nach Ausführung dieses Skripts?
Hinweis: Ohne Bearbeitung schauen Figuren in Scratch übrigens immer nach rechts und sind auch nach rechts ausgerichtet (Richtung: 90°):
https://scratch.mit.edu/projects/391849848/editor/
Wie viele Schritte läuft die Katze hier?
Keine (Fehler)?
9?
18?
99?
198?
18 Schritte von je 11 Pixel* Länge.
Das wären insgesamt 198 Pixel*
(9 * (2 * 11))
https://scratch.mit.edu/projects/391850633/editor/
* Anmerkung: Je nach grösse des Bildschirms kann ein 1er-Schritt auch grösser oder kleiner sein als ein Pixel: https://en.scratch-wiki.info/wiki/Pixels
Die Katze soll hin- und herlaufen. Das tut sie aber nicht. Wo liegt der Fehler?
«Remixe» und «Debugge» folgendes Projekt:
https://scratch.mit.edu/projects/387724836/editor/
Die Endlosschliefe fehlt hier.
Die Katze sollte bei einem Klick auf die grüne Flagge einmal um 360° drehen, tut dies aber nicht. Wo liegt der Fehler?
«Remixe» und «Debugge» folgendes Projekt:
https://scratch.mit.edu/projects/391851896/editor/
Die Richtung ist bereits bei 90. Darum müssen zuerst mit einer zusätzlichen kleinen Drehung die 90 Grad verlassen werden.
Hier wird gezeigt, wie Schleifen in einem Spiel, in einer Animation oder in einer Simulation eingesetzt werden können.
Studiere die Ideenbeschreibung mit dem Video und überlege dir, wo und wie hier Schleifen verwendet werden. Du kannst die Idee nachprogrammieren, oder dir einfach die Beispiellösung anschauen.
Eine einfache rechteckige Bewegung, die alle drei Arten von Schleifen verwendet, die in Scratch zur Verfügung stehen.
https://scratch.mit.edu/projects/387725546/editor/
Der Malstift in Scratch
Gehe unten links auf «Erweiterung hinzufügen».
Wähle hier den Malstift aus.
Nun stehen dir zusätzliche Blöcke zur Verfügung.
Jetzt kannst du deine Figuren in Scratch so oder ähnlich programmieren, dass sie eine farbige Linie hinter sich nachziehen.
Space Invaders
Wie ein Space Invader soll sich die Figur (Alien) hin- und herbewegen und immer ein bisschen weiter nach unten rücken.
Hinweis: Hierbei handelt es sich nicht um das ganze Spiel «Space Invaders», sondern lediglich um ein Element (Gegner) aus dem Spiel.
https://scratch.mit.edu/projects/387725146/editor/
Space Invaders ist ein Arkadespiel aus dem Jahr 1987.
Der Spieler steuert einen Panzer (unten, grün) und schiesst die angreifenden Aliens (weiss) ab. Dabei kann er sich hinter die Bunker (ebenfalls grün) in Sicherheit bringen.
In Scratch kann das Spiel Space Invaders nachgebaut oder eine fertige Version gespielt werden.
Zum Beispiel hier:
Bild: Wikipedia
https://scratch.mit.edu/projects/41291764/
Den Bremsweg simulieren
Simuliere zwei Bremswege von Fahrzeugen mit verschiedenen Fahrtempi.
Achtung:
Bei dieser Simulation handelt es sich um ein vereinfachte Darstellung des Bremsweges, welcher hier linear mit 0.3 Geschwindigkeit pro Bild abnimmt.
Scratch läuft übrigens mit ca. 30 Bildern pro Sekunde.
Die Unterschiede des roten und des grünen Autos sind lediglich, dass sie mit unterschiedlichen Variablen für das Tempo und an anderen Positionen starten.
Ansonsten unterscheiden sich die Programme nicht.
Im Sinne einer Simulation können jetzt verschiedene Parameter geändert und getestet werden:
* Anfangstempo
(setze tempo auf __)
* Bremsgeschwindigkeit
(ändere tempo um __)
* Bremsposition
(wiederhole bis x-Position > __)
https://scratch.mit.edu/projects/387725628/editor/
Öffne das Fangspiel, erstelle einen Remix und ergänze es folgendermassen:
Wir bauen einen Gegner in das Spiel ein:
Ein Vogel, der unsere Ernte mit «Baseballs» verderben möchte.
1.
Wir brauchen zwei neue Figuren: ein Vogel und ein «Baseball», der fallen gelassen wird und dem Spieler Schadet.
2.
Beide Figuren kannst du auf «unsichtbar» stellen, weil sie am Anfang des Spiels nicht sichtbar sein sollen.
Der Vogel soll nach einer bestimmten Zeit vom linken Rand des Bildschirms zum rechten Rand fliegen, dann wieder verschwinden.
Während des Flugs soll der Vogel «Baseballs» erschaffen.
Hierfür wird die Funktion «Klon erzeugen» verwendet: Nicht der «Baseball» selber wird vom Vogel erschaffen, sondern eine Kopie, oder eben ein Klon davon.
Dem «Baseball» muss jetzt noch Leben eingehaucht werden: Zuerst soll er sich beim Vogel platzieren, dann nach unten fallen. Diese Fallmechanik kennen wir aus dem Projekt Fangspiel bereits sehr gut.
Zuletzt sollen die «Baseballs» dem Spieler schaden, falls sie in Berührung mit dem Korb kommen oder sich selbst (es sind ja nur Kopien/Klone) zerstören, falls sie den Korb nicht treffen.
https://scratch.mit.edu/projects/387697336/editor/
Eine Variable kann man sich als Behälter vorstellen, dessen Inhalt sich ändern kann. Nimm als bildliches Beispiel die Einkaufstüte. Die Tüte selbst ist die Variable. Den Inhalt der Tüte kann man durch Herausnehmen oder Hineinlegen beliebig verändern. Der Inhalt von Variablen wird Wert genannt.
Ein typisches Beispiel für Variablen beim Programmieren ist der Punktestand. Dieser Wert wird gespeichert und an verschiedenen Orten des Programms wiederverwendet. Es können aber nicht nur Zahlen, sondern auch Buchstaben in einer Variable gespeichert werden.
In diesem Handbuch findest du alles, was du über Variablen in Scratch wissen musst. Bei Unsicherheiten und Fragen kannst du hier nachschauen.
Variablen findet man im Menü Variablen:
Beginnt man ein neues Programm, existiert bereits die Variable "meine Variable". Diese kann umbenannt werden.
Mit dem Block "setze meine Variable auf..." wird der Wert der Variable überschrieben. Das heisst, der vorherige Wert der Variable spielt keine Rolle mehr.
Dieser Block wird meist an den Anfang des Programms, oder an den Neustart des Spiels platziert, um den Punktestand auf 0 zurückzusetzen.
Mit dem Block "Ändere meine Variable um..." wird der Wert der Variable nicht überschrieben, sondern angepasst.
Das heisst, der vorherige Wert der Variable spielt eine Rolle. Er wird um die eingegebene Zahl erhöht (+) oder verringert (-).
Damit kann zum Beispiel der Punktestand angepasst werden, wenn man etwas erfolgreich erledigt hat, oder wenn man einen Fehler gemacht hat.
Der Wert einer Variable kann im Programm angezeigt oder versteckt werden.
Dafür verwendet man die Blöcke "zeige/verstecke Variable". Eine Alternative ist, bei den Befehlsblöcken links vor der Variable mit einem Mausklick ein Häkchen zu setzen (sichtbar) oder zu entfernen (versteckt).. Dies gilt dann für das ganze Programm, kann also nicht im Programmverlauf geändert werden.
Die Anzeige des derzeitigen Variablenwertes hilft zu verstehen, was das Programm gerade macht.
Der Anzeigeblock mit dem Wert kann auch verschoben werden.
Die Art und Weise wie die Variable angezeigt wird, kann mit einem Rechtsklick auf den Block oder einem Doppelklick geändert werden.
Der Wertebereich (kleinster und grösster Wert) des Schiebereglers lässt sich mit einem Rechtsklick ändern.
Eine Variable kann nicht nur ausgeblendet, sondern auch komplett gelöscht werden.
Hierzu geht man mit der auf einen Variablenblock, drückt die rechte Maustaste und wählt "Lösche die Variable X".
Diese Option erscheint auch, wenn man auswählt welche Variable programmiert werden soll.
Bei der Definition einer Variablen wählt man einen Variablennamen und kann angeben, ob diese Variable nur lokal für eine bestimmte Figur oder global für alle Figuren zur Verfügung stehen soll.
Ausserdem gibt es die Option eine Cloud-Variable einzurichten, welche für alle angemeldeten Projektnutzer zu jeder Zeit den gleichen Inhalt haben, da sie auf den Servern permanent gespeichert werden.
Sobald die Variable erstellt wurde, stehen verschiedene Blöcke zur Verfügung:
Anweisungsblöcke, welche die Variable verändern können, sowie ein runder Block, der den Variablenwert speichert und somit als Parameter eingesetzt werden kann.
Der Wert einer Cloud-Variable wird auf den Servern von Scratch permantent gespeichert.
Das heisst, dass die Variable auf allen Geräten, welche das Programm abrufen, denselben Wert hat. Folgendes muss man beachten:
https://en.scratch-wiki.info/wiki/New_Scratcher_Status
Eine Cloud-Variable kann genutzt werden, um einen Highscore zu führen.
In diesem Beispiel soll die Katze innerhalb 30 Sekunden so oft wie möglich angeklickt werden.
Knackt man den Highscore, wird dieser angepasst.
Schafft man es nicht, wird man aufgefordert es nochmal zu probieren.
https://scratch.mit.edu/projects/389122357/editor
Eine Möglichkeit, sich intensiv mit neuen Programmierkonzepten auseinanderzusetzen, bietet «Code lesen» und das «Debugging». Diese Aufgaben helfen dir zu erkennen, ob du die Konzepte wirklich verstanden hast.
Schau dir die Programme an, und versuche sie zu verstehen (Code lesen) oder den Fehler zu finden (Debugging).
Welche Zahl sagt die Katze als letztes?
Die Katze sagt als letztes 8. Die 10 wird nicht mehr gesagt, weil die Variable nach dem Aussprechen der 8 auf 10 erhöht wird, und so die Schleife nicht mehr ausgelöst wird.
https://scratch.mit.edu/projects/389121927/editor
Wie oft muss man die Katze fangen um das Spiel zu gewinnen?
Man muss die Katze 40 Mal fangen, um das Spiel zu gewinnen. Man startet in der ersten Runde und muss die Figur 10 Mal anklicken, um in die zweite Runde zu kommen. Da es vier Runden gibt, muss die Katze 4 * 10 Mal gefangen werden, das sind 40.
https://scratch.mit.edu/projects/389122017/editor
Bei dem folgenden Spiel soll bei einer Berührung der Katze der Punktestand um eins erhöht werden. Das funktioniert aber noch nicht, weshalb?
https://scratch.mit.edu/projects/389121632/editor
Die Variable wird immer neu auf 1 gesetzt, statt um eins erhöht. Anstatt dem Block "setze X auf" muss der Block "ändere X um" verwendet werden.
Klickt man bei diesem Spiel die Katze an, erhöht sich die Punktzahl um eins. Erwischt man dagegen die Fledermaus, soll ein Punkt abgezogen werden. Dafür wird das Programm der Katze (vgl. Debugging 1) kopiert und bei der Fledermaus eingefügt. Geändert wird nur die Änderung der Variable (-1 statt 1). Es funktioniert aber nicht, woran könnte das liegen?
Öffne das Programm mit einem Klick auf den Scratch-Link. Nur anhand des Bildes rechts kannst du den Fehler nicht finden.
https://scratch.mit.edu/projects/389122199/editor
Beim Erstellen der Variable wurde gewählt, dass diese nur für diese Figur (Katze) gilt. Deshalb kann die Fledermaus nicht darauf zugreifen. Bei Variablen, die von mehreren Figuren genutzt werden, ist es also wichtig, dass beim Erstellen einer neuen Variable "Für alle Figuren" ausgewählt wird.
Es soll ein Pong-Spiel programmiert werden, bei welchem der Ball nicht aus dem Bild fallen darf. Jedes Mal, wenn der Ball das Paddle berührt, soll der Punktestand um eins erhöht werden. Das funktioniert auch, aber es gibt ein anderes Problem, welches?
https://scratch.mit.edu/projects/389122293/editor
Das Problem ist, dass der Punktestand nach einem Spiel nicht auf Null zurückgesetzt wird. Deshalb zählt der Punktestand dort weiter, wo man das letzte Mal verloren hat. Man muss den Block "setze Punktestand auf 0" am Anfang des Programms einfügen.
Was sagt die Katze?
Achtung: Grundlagen der Variablen müssen für diese Aufgabe bekannt sein.
0 ?
28 ?
35 ?
Nichts ?
Miau ?
https://scratch.mit.edu/projects/387724243/editor
Wieso sagt die Katze ihre Punkte nicht, nachdem sie 50 erreicht hat?
https://scratch.mit.edu/projects/387720206/editor/
Eine Variable wurde falsch verwendet:
«meine Variable» statt «Punkte» .
Hier wird gezeigt, wie Variablen in einem Spiel, in einer Animation oder in einer Simulation eingesetzt werden können.
Studiere die Ideenbeschreibung mit dem Video und überlege dir, wo und wie hier Variablen verwendet werden. Du kannst die Idee nachprogrammieren, oder dir einfach die Beispiellösung anschauen.
Es soll ein einfaches Pong-Spiel programmiert werden. Der Punktestand wird um eins erhöht, wenn der Ball das Paddle berührt.
Der Ball darf nicht den unteren Spielfeldrand berühren.
Das Paddle wird mit der Maus gesteuert.
Jedes Mal wenn der Ball das Paddle berührt, erhöht sich die Geschwindigkeit des Balles um 1.
https://scratch.mit.edu/projects/389121748/editor
Zwei Figuren spielen verstecken.
Die Katze zählt mithilfe einer Variable bis 10.
Das Pony wartet bis die Katze bei drei ist, und versteckt sich dann.
https://scratch.mit.edu/projects/389121686/editor
Mit einem Programm soll die Schwerkraft simuliert werden.
Man kann den Apfel auf verschiedene Höhen ziehen, und beobachten, wie sich die von ihm erreichte Höchst-geschwindigkeit verändert.
https://scratch.mit.edu/projects/389121837/editor
Öffne das Fangspiel, erstelle einen Remix und ergänze es folgendermassen:
Im Fangspiel wird für den Punktestand bereits eine Variable verwendet.
Um das Fangspiel zu ergänzen, sollen mehrere Runden hinzugefügt werden.
Sammelt man 10 Punkte, kommt man in die nächste Runde.
In jeder Runde werden die Äpfel schneller.
1.
Erstelle eine neue Variable namens "Runde".
2.
Setze diese neue Variable, genau wie die Variable für den Punktestand, beim Start des Programmes auf 1 zurück.
3.
Erstelle bei der Figur, welche am Ende "Gewonnen" anzeigt, ein neues Kostüm welches die neue Runde ankündigt.
Passe das Programm des Schriftzuges so an, dass der Spielstopp erst erfolgt, wenn in der vierten Runde 10 Punkte gesammelt wurden.
Füge bei den zwei Apfelprogrammen die Variable "Runde" so ein, dass sich mit jeder neuen Runde die y-Änderung vergrössert.
Beispiel: In der ersten Runde bewegen sie sich 3 Schritte, in der zweiten 6, in der dritten 9, in der vierten 12.
So kann die Formel Runde*-3 für die Geschwindigkeit eingesetzt werden.
https://scratch.mit.edu/projects/389120902/editor
Eine Überprüfung mit Logischen Operatoren liefert einen Wahrheitswert (wahr/falsch). Möchte man mehrere Bedingungen prüfen, kann man dies mit Verknüpfungsoperatoren tun. Beispiel rechts: Man gewinnt das Spiel, wenn 10 Punkte erreicht wurden (Bedingung X) UND man weniger als 30 Sekunden gebraucht hat (Bedingung Y). Für die zwei Bedingungen (Punktezahl>9, Zeit<30) werden Vergleichsoperatoren verwendet.
In diesem Beispiel müssten beide Bedingungen wahr sein, damit man das Spiel gewinnt.
Mehr Informationen zu Vergleichs- und Verknüpfungsoperatoren findest du hier:
Vergleichsoperatoren stellen zwei Werte, etwa numerische Grössen, einander gegenüber und liefern in Abhängigkeit vom Ausgang des Vergleichs (grösser, kleiner usw.) einen Wahrheitswert (wahr/falsch).
Vergleichsoperatoren:
Beispiel: 3>2 wahr
Hier wird bewertet, ob a (6) grösser ist als b (5).
Ist die Aussage wahr, sagt die Figur "WAHR", sonst sagt sie "FALSCH".
In diesem Fall wird die Figur "WAHR" sagen.
Ein Verknüpfungsoperator kann zwei Aussagen oder Aussagefunktionen verknüpfen.
Dabei kann zum Beispiel überprüft werden ob...
Bei einer UND (AND) Verknüpfung müssen immer beide Seiten der Aussage wahr sein, damit die gesamte Aussage wahr ist.
UND
WAHR
FALSCH
WAHR
FALSCH
UND
FALSCH
WAHR
UND
FALSCH
UND
FALSCH
Sind i (6>5) UND j (6<8) wahr, sagt die Figur "WAHR". Ist einer der beiden Werte falsch (oder beide), sagt die Figur "FALSCH".
Hier würde die Figur "WAHR" sagen.
Bei einer ODER (OR) Verknüpfung muss mindestens eine Seite der Aussage wahr sein, damit die gesamte Aussage wahr ist.
WAHR
ODER
WAHR
FALSCH
ODER
WAHR
FALSCH
ODER
WAHR
FALSCH
ODER
Ist entweder i (1>2) ODER j (4<6) wahr, sagt die Figur "WAHR". Sind beide Aussagen wahr, sagt die Figur ebenfalls "WAHR". Sind beide Aussagen falsch, sagt die Figur "FALSCH".
Hier wird die Figur "WAHR" sagen.
Bei einer NICHT (NOT) Verknüpfung wird die Aussage ins Gegenteil gesetzt.
3 < 4
WAHR
NICHT
3 < 4
FALSCH
4 = 5
FALSCH
NICHT
4 = 5
WAHR
Ist i (2>5) nicht wahr, wird mit dem NICHT der Wert wahr zurückgeliefert und die Figur sagt "WAHR". Ist i wahr, wird durch das NICHT ein falsch daraus, und die Anweisung wird übersprungen.
Hier würde die Figur "WAHR" sagen.
In diesem Handbuch findest du alles, was du über Logische Operatoren in Scratch wissen musst. Bei Unsicherheiten und Fragen kannst du hier nachschauen.
Boolesche Algebra findet man im Menü Operatoren:
Dieser Datentyp wird in Form eines Polygons dargestellt. In Scratch gibt es drei Arten von Aussagen. Dabei muss jeder Platzhalter der Aussage ebenso einen booleschen Wert enthalten (Polygonform).
Die Ergebnisse von mathematischen Vergleichen ergeben ebenso die Aussage «wahr» oder «falsch». Darum haben diese Blöcke eine Polygonform und können als Eingaben im booleschen Aussagenblock dienen.
Wenn in Scratch ein Datentyp in Polygonform verlangt wird, kann das Ergebnis einer beliebig komplex verschachtelten Booleschen Algebra verwendet werden.
Drei Beispiele werden rechts vorgestellt.
Bedingungsblöcke findet man im Menü Steuerung:
Wenn man die Ausführung einer Anweisung oder einer Sequenz von bestimmten Faktoren abhängig machen möchte, dann eignen sich die Bedingungsblöcke.
Eine Bedingung prüft immer, ob eine Frage mit «wahr» (true) beantwortet werden kann. Falls ja, wird die Anweisung oder die Sequenz innerhalb des Bedingungsblocks ausgeführt werden. Wenn die Antwort auf die Frage «falsch» (false) ist, wird der Programmcode übersprungen. Unmittelbar nach dem Bedingungsblock wird das Programm wieder fortgesetzt.
Neben der falls/dann-Bedingung gibt es die falls/dann/sonst-Bedingung. Der Unterschied ist, dass hier bei einer nicht wahren Antwort die Anweisungen im «sonst»-Teil ausgeführt werden. In diesem Block wird immer entweder der «dann»-Teil oder der «sonst»-Teil ausgeführt.
Bei der "warte bis"-Anweisung wird in Scratch ein Datentyp in Polygonform verlangt.
Hier wird der betreffende Programmcode solange nicht weiter ausgeführt, bis die Aussage «wahr» ist.
Bei der «wiederhole bis»-Schleife wird diese solange ausgeführt, bis die Aussage «wahr» ist.
Das ist die Abbruchbedingung.
Eine Möglichkeit, sich intensiv mit neuen Programmierkonzepten auseinanderzusetzen, bietet «Code lesen» und das «Debugging». Diese Aufgaben helfen dir zu erkennen, ob du die Konzepte wirklich verstanden hast.
Schau dir die Programme an, und versuche sie zu verstehen (Code lesen) oder den Fehler zu finden (Debugging).
Was macht die Katze in diesem Programm?
https://scratch.mit.edu/projects/389121082/editor
Sie sagt "WAHR".
Beschreibe was in diesem Programm passiert.
Klickt man auf die Katze, schnurrt sie so lange, wie man die Maustaste gedrückt hält.
Sobald man die Maustaste loslässt, sagt sie "Grr".
https://scratch.mit.edu/projects/389121152/editor
Beschreibe was in diesem Programm passiert:
https://scratch.mit.edu/projects/389121269/editor
Die Katze läuft nach rechts.
Sobald sie am Rand angekommen ist (x-Position > 230), springt sie auf eine Zufallsposition und läuft wieder nach rechts.
Das macht sie unendlich.
Was musst du machen, damit die Katze "Hey!" sagt?
Du kannst entweder die Leertaste drücken, oder die Figur mit der Maus berühren. Die Katze sagt auch "Hey!", wenn du beides gleichzeitig machst.
https://scratch.mit.edu/projects/389121326/editor
Die Katze soll nach 15 Sekunden "15 Sekunden" sagen.
Warum funktioniert das nicht?
https://scratch.mit.edu/projects/389121401/editor
Das "Falls" wird nur ein einziges Mal ganz am Anfang des Programmes geprüft. Und dort wurde die Stoppuhr erst gerade gestartet.
Man erkennt diesen Fehler auch daran, dass das Programm nur ganz kurz aktiv (gelb umrahmt) ist.
Damit die Figur ständig überprüft, ob bereits 15 Sekunden vergangen sind, braucht es eine Schleife ("wiederhole fortlaufend"). Es ist auch möglich mit "warte bis" zu arbeiten.
Hier soll die Figurensteuerung für ein Jump'n'Run programmiert werden.
Die Figur soll dabei nach einem Sprung wieder auf den Boden zurückfallen.
Mit dem Programm unten funktioniert das noch nicht. Was muss man ändern?
https://scratch.mit.edu/projects/389121474/editor
Hier wurde der falsche Vergleichs-operator gewählt. Die Katze soll aufhören nach unten zu sinken, sobald die y-Position KLEINER als -125 ist, sie also auf dem Boden (y=-125) angekommen ist.
Vielen Schülerinnen und Schülern sind die Zeichen von grösser als (>) und kleiner als (<) noch nicht klar. Hier bietet es sich an, diese kurz zu wiederholen.
Bei fehlerhaften Programmen wurde häufig das falsche Zeichen gewählt.
Die Katze soll bei 10 Sekunden "10 Sekunden" sagen.
Warum funktioniert das nicht?
https://scratch.mit.edu/projects/389121551/editor
In den meisten Fällen empfiehlt es sich, mit den Vergleichsoperatoren "grösser als/kleiner als" statt "gleich" zu arbeiten.
Beim Programm unten links wird kein "10 Sekunden" ausgegeben, auch wenn zehn Sekunden vorbei sind. Das liegt daran, dass die Zahl ganz genau erreicht werden muss, was meist nicht der Fall ist.
Das Programm rechts funktioniert.
Hier wird gezeigt, wie Logische Operatoren in einem Spiel, in einer Animation oder in einer Simulation eingesetzt werden können.
Studiere die Ideenbeschreibung mit dem Video und überlege dir, wo und wie hier logische Operatoren verwendet werden. Du kannst die Idee nachprogrammieren, oder dir einfach die Beispiellösung anschauen.
Eine Figur soll mit den Pfeiltasten gesteuert werden können. Wenn sie sich nach hinten bewegt, wird sie kleiner, und wenn sie nach vorne kommt, wieder grösser.
Sobald sie vor der Haustür steht, soll sie das Haus betreten (Wechsel des Bühnenbildes). Dabei muss beachtet werden, dass sie die richtige Grösse hat (sozusagen genug weit hinten steht).
https://scratch.mit.edu/projects/394954700/editor/
Es werden eine Tänzerin und ein Tänzer programmiert.
Die Tänzerin bewegt sich immer gleich, sie beginnt links, bewegt sich zur Mitte, wechselt dort das Kostüm, geht zurück und wechselt das Kostüm.
Der Tänzer passt seine Bewegungen der Tänzerin an. Er beginnt rechts, und bewegt sich solange nach links, bis er entweder die Tänzerin berührt, oder seine x-Position kleiner als -50 ist.
https://scratch.mit.edu/projects/394966694/editor/
Der Wurf einer Münze soll simuliert werden. Damit kann gezeigt werden, dass die zwei Seiten die gleiche Wahrscheinlichkeit haben.
Die Münze fragt zuerst, wie oft man sie werfen möchte. Die Würfe werden dann ausgeführt. Falls die Abweichung von Kopf und Zahl grösser als 10% ist, fragt die Münze, ob man noch mehr Würfe machen möchte.
https://scratch.mit.edu/projects/389121038/editor
Öffne das Fangspiel, erstelle einen Remix und ergänze es folgendermassen:
Es befinden sich bereits Vergleichsoperatoren im Fangspiel.
Bei den Äpfeln wird mit einem Vergleichsoperator festgelegt, dass sie am unteren Bildschirmrand verschwinden und am oberen wieder starten.
Beim Text "Gewonnen" wird mit einem Vergleichsoperator überprüft, ob schon 5 Punkte erreicht wurden.
Nun soll das Spiel so angepasst werden, dass es nach 10 Sekunden "Verloren" auf dem Bildschirm anzeigt.
Baue den Timer mit dem Block "setze Stoppuhr zurück" ein und aktiviere die Anzeige der Stoppuhr mit einem Kreuzchen.
Erstelle bei der Figur mit dem Schriftzug "Gewonnen" ein zweites Kostüm mit dem Schriftzug "Verloren".
Für das neue Spiel gibt es zwei mögliche Spielenden:
1. FALLS 5 oder mehr Punkte erreicht werden, erscheint das Kostüm "Gewonnen".
2. FALLS mehr als 10 Sekunden vergangen sind, erscheint das Kostüm "Verloren".
Baue diese zwei Spielenden ein.
https://scratch.mit.edu/projects/389120774/editor
In diesem Beispiel läuft die Figur mit Hilfe der Unterprogramme drei Vierecke mit verschieden langen Seiten ab.
Hinweis: Der Block «schalte Stift ein» macht die Laufpfade sichtbar.
Ein Unterprogramm ist ein Teil des Programms (Scratch-Projekts), welcher mit einem eigenen, selbst erstellten Block aufgerufen werden kann. Dabei können Werte wie Zahlen, Wahrheitswert (wahr, falsch) oder Texte mitgegeben werden.
Warum Unterprogramme?
Durch die Verwendung von Unterprogrammen, können wiederkehrende Programmteile an einem Ort ausgelagert werden und an mehreren Orten im Programm verwendet werden. Bei einer Weiterentwicklung des Programms müssen Änderungen nur an einer Stelle durchgeführt werden. Das Programm wird so kompakter, einfacher abzuändern und verständlicher.
Der Malstift in Scratch
Gehe unten links auf «Erweiterung hinzufügen».
Wähle hier den Malstift aus.
Nun stehen dir zusätzliche Blöcke zur Verfügung.
Jetzt kannst du deine Figuren in Scratch so oder ähnlich programmieren, dass sie eine farbige Linie hinter sich nachziehen.
Unterprogramme sind Teile eines Programms, die ausgelagert worden sind und in Scratch beispielsweise mit einem Block aufgerufen werden können.
In Scratch stehen bereits verschiedene Unterprogramme zur Verfügung, die eine ganz bestimmte Aufgabe übernehmen. Zusätzlich können eigene Unterprogramme erstellt werden.
Begriffe wie Funktionen oder Subroutine können als Synonyme von Unterprogrammen verwendet werden.
Werte, die einem Unterprogramm mitgegeben werden, werden Parameter oder Argumente genannt. Je nachdem, wie diese lauten, wird das Unterprogramm unterschiedlich ausgeführt.
In diesem Handbuch findest du alles, was du über Unter-programme in Scratch wissen musst. Bei Unsicherheiten und Fragen kannst du hier nachschauen.
Hier wird gezeigt, wie ein Unterprogramm für ein n-Eck erstellt wird.
Vorgehen:
Definiere ein neues Unterprogramm:
«Neuer Block» unter «Meine Blöcke».
Wähle einen Blocknamen aus und bestimme, welche Parameter mit dem Unterprogramm weitergegeben werden sollen (Zahl,Text und/oder Wahrheitswert).
https://scratch.mit.edu/projects/392676669/editor/
Eingabefelder:
Hier kannst du bestimmen, welche Werte (Zahl), Texte oder Wahrheitswerte (wahr/falsch) deinem Unterprogramm weitergegeben werden sollen.
In diesem Beispiel werden alle drei Arten von Parameter verwendet:
Mehr zu Parameter
Da der Wahrheitswert von Kunz und Heinz «falsch» ist, wird «sonst» ausgeführt. Darum steht auch, dass die beiden Namen NICHT die richtigen seien.
Da her Wahrheitswert hier «wahr» ist (1 = 1), wird «falls», also die obere Möglichkeit der Bedingung ausgeführt.
Unterprogramme neu erfunden
Gewisse Blöcke, die in Scratch verwendet werden, sind nichts anderes als Unterprogramme, die du sogar selber erstellen könntest.
Hier ein Beispiel:
=
Beim eigenen Block könntest du sogar noch genauer definieren, in welchem Bereich der Bühne die Figur zufällig gehen soll. So könntest du zum Beispiel definieren, dass die Figur nur in der oberen Hälfte landen kann, indem du die Zufallszahl bei y auf 0 bis 180 beschränkst.
Eine Möglichkeit, sich intensiv mit neuen Programmierkonzepten auseinanderzusetzen, bietet «Code lesen» und das «Debugging». Diese Aufgaben helfen dir zu erkennen, ob du die Konzepte wirklich verstanden hast.
Schau dir die Programme an, und versuche sie zu verstehen (Code lesen) oder den Fehler zu finden (Debugging).
Welche Figur wird hier gezeichnet?
https://scratch.mit.edu/projects/387725652/editor/
Was sagt die Katze?
https://scratch.mit.edu/projects/387726016/editor/
Die Katze sollte ein Viereck mit Seitenlänge 100 zeichnen.
Was wurde hier falsch gemacht?
Erstelle einen «Remix» des Programms und korrigiere es:
https://scratch.mit.edu/projects/387726034/editor/
Hier darf keine Variable verwendet werden, sondern der Wert, der mit dem Unterprogramm mitgegeben wurde.
Das pinke «seitenlaenge» kann direkt aus dem Kopf des Unterprogramms gezogen und an die ensprechende Stelle gesetzt werden.
Das n-eck-Unterprogramm gibt nicht das erwartete Resultat aus.
Was stimmt hier nicht?
Erstelle einen «Remix» des Programms und korrigiere es:
https://scratch.mit.edu/projects/387726027/editor/
Die Werte der Eingabefelder wurden hier an die falschen Stellen im Unterprogramm weitergegeben.
Hier wird gezeigt, wie Unterprogramme in einem Spiel, in einer Animation oder in einer Simulation eingesetzt werden können.
Studiere die Ideenbeschreibung mit dem Video und überlege dir, wo und wie hier Unterprogramme verwendet werden. Du kannst die Idee nachprogrammieren, oder dir einfach die Beispiellösung anschauen.
Ein Wert wird dem Unterprogramm übergeben, um so zu überprüfen, ob der Wert ein neuer Highscore ist.
Die Katze gibt Feedback und speichert gegebenenfalls den neuen Highscore ab. So kann das beste Ergebnis am Schluss mehrere Spielrunden abgelesen werden.
https://scratch.mit.edu/projects/384074062/editor/
Das Unterprogramm «n-eck»
Bei diesem Beispiel werden n-Ecke gezeichnet. Der Benutzer kann auswählen, wie viele Ecken die Figur haben soll und wie lang die Seiten dieser jeweils sind.
https://scratch.mit.edu/projects/392423611/editor/
(mit einem zusätzlichen Dreieck)
Studiere die vereinfachte Simulation einer Krankheitsübertragung, bei der verschiedene Parameter eingestellt werden können.
Sobald eine gesunde (gelbe) Kugel eine infizierte (violette) berührt, wird sie ebenfalls violett.
https://scratch.mit.edu/projects/387725640/editor/
Öffne das Fangspiel, erstelle einen Remix und ergänze es folgendermassen:
https://scratch.mit.edu/projects/335292513/editor/
Das Fangspiel (Äpfel) kann an verschiedenen Stellen mit einem Unterprogramm erweitert werden.
Hier wird die Fallmechanik und das Verhalten bei einer Berührung mit der Bowl in Unterprogramme ausgelagert.
Zwingend notwendig ist das natürlich in diesem Fall nicht, das Programm wird jedoch übersichtlicher und
Änderungen können direkt beim Aufruf des Programms vorgenommen werden.