Aus Das deutschsprachige Scratch-Wiki

Diese Seite ist der erste Projektteil der OER-Serie Projekt: Ada's Gedicht Generator. Es geht darum an Hand eines praktischen Projektes zu lernen, wie man einen einfachen Algorithmus mit Schleifen und Variablen schreibt.

Diese Aufgabe basiert auf der Aufgabe "Ada's Poetry Generator" der Raspberry Pi Foundation, wurde jedoch umfassend angepasst.

Beispiellösung: https://scratch.mit.edu/projects/431809549/

1. Vorbereitung

Klicke den grünen Remix-Button
Klicke den Globus um eine Sprache auszuwählen

Einleitung: Algorithmisches Denken ist überall. Wenn du ein Rezept nachkochst oder sogar schreibst, wenn du ein Strategiespiel spielst oder wenn du eine Matheaufgabe löst. In dieser Einheit aber lernst du Grundlagen des algorithmischen Denken ganz gezielt und du wirst diese Denkweise in den zukünftigen Einheiten weiter ausbauen und vertiefen. Du wirst im Laufe dieser OER-Serie bezüglich des algorithmischen Denkens lernen, einen Prozess zu strukturieren, zu abstrahieren und in seine Einzelteile zu zerlegen. Gleichzeitig lernst du auf eine Problemstellung einen Lösung zu finden und dafür einen Prozess zu konstruieren. Diesen Lösungs-Prozess nennen wir "Algorithmus".

Aufgabe: Öffne das bereitgestellte Scratch-Projekt (das ist eine Art Vorlage, ein so genanntes "Scaffold"-Projekt) und mache einen Remix davon – d.h. deine eigene Kopie des Projektes, zu der du später Änderungen hinzufügen wirst.

Scaffold-Projekt: https://scratch.mit.edu/projects/287883575/editor/

Tipp: Scratch ist in mehreren Sprachen vorhanden, Englisch, Deutsch usw.. Wähle eine Sprache, mit der du dich wohl fühlst.

2. Ein Computer reagiert auf Ereignisse

Der geöffnete Code-Tab in der Kategorie "Events". Rechts daneben der Skriptbereich, in den ein "Wenn grüne Flagge geklickt"-Block gezogen wurde.

Ereignisse: Bei Scratch kann man Figuren und die Bühne (den Hintergrund des Projektes) so programmieren, dass sie auf verschiedene Ereignisse ("Events") reagieren. Ein Programm bei Scratch startet üblicherweise mit dem Klick auf die Grüne Flagge.

Aufgabe: Um das Starten des Programs bei Klick auf die Grüne Flagge zu testen, wähle zunächst die Ada-Figur aus, und lasse sie etwas sagen, sobald die Grüne Flagge geklickt wurde.

Tipp: Dafür musst du im Code-Tab die entsprechenden Blöcke – also Befehle – finden. Die Befehle benutzt du, indem du sie nach rechts in den Skriptbereich ziehst und wie Legosteine aneinandersetzt. Klicke zum Testen deines Programms die Grüne Flagge! Blöcke, die gerade ausgeführt werden, leuchten.

3. Ein Computer ist flexibel

Variablen und Listen: Algorithmen sind effizient, weil sie Variablen nutzen. So kann ein Prozess für verschiedene Dinge verwendet werden. Wenn du z.B. Geld abhebst ist der Prozess immer derselbe, außer dass du die Höhe des Geldbetrags variierst – der Geldbetrag ist eine Variable. Es gibt verschiedene Arten von Variablen. Geld ist eine Zahl. Aber wenn du zum Beispiel Curry zubereitest, ist der Prozess auch immer derselbe, aber die Liste der Zutaten ändern sich. Mal nimmst du Erbsen und Möhren, ein ander mal nimmst du Kohl und Tomaten. Hier ist die Variable also eine Liste.

Aufgabe: Für den Gedicht-Generator brauchen wir eine Liste von Wörtern, die wir für das Gedicht verwenden wollen. Erstelle eine Liste von Verben in der ich-Form, z.B. “gehe”, “mag”.

Einzelschritt 1: Wähle die Blockkategorie "Variablen" und klicke dann auf "Neue Liste".

Blockliste-variablen-leer.png

Einzelschritt 2: Klicke auf das "+" unten links in der Liste, um Verben hinzuzufügen.

Liste-leer.png

4. Zufällige Sätze bilden

Aufgabe: Lass Ada bei Programmstart ein zufälliges Wort aus der Liste sagen. Sie kann sich gut ausdrücken, also soll sie auch „Ich“ vor dem Verb sagen, z.B. „Ich gehe“.

Tipp 1: Du kannst den "sage"-Block von vorhin weiterverwenden und nur die Parameter verändern. Parameter sind die variablen Teile eines Befehls, sozusagen die Optionen. Im Fall des "sage"-Blocks gibt es den Parameter, was gesagt werden soll, und je nach Block-Version auch wielange es gesagt werden soll. Was gesagt werden soll, soll nun kein statischer Wert mehr sein, sondern ein variabler Wert, der jedesmal zufällig ausgewählt wird, wenn das Programm startet.

Tipp 2: Du kannst das 1., 2., 3. usw. Element einer Liste mit einem Block aus der "Variablen"-Kategorie auswählen. Um ein zufälliges Element aus der Liste auszuwählen, lasse dir eine zufällige Zahl generieren. Einen passenden Block findest du in der "Operatoren"-Kategorie. In welchem Rahmen darf die zufällige Zahl liegen? Schaffst du es das obere Limit variabel festzulegen, sodass dein Programm auch noch funktioniert, wenn du später mehr Verben zu der Liste hinzufügst?

Tipp 3: Einen Block zum Verbinden von Wörtern, z.B. "Ich" und "gehe" findest du in der "Operatoren"-Kategorie.

5. Zufällige Sätze mit Adverb bilden

Aufgabe: Ada soll in der nächsten Gedichtzeile ein zufälliges Adverb sagen. Füge dafür eine weitere Liste für Adverbien hinzu, also Wörter die sagen wie etwas getan wird, z.B. "schnell" ("ich gehe schnell"). Füge einige Adverbien hinzu.

6. Mehrere zufällige Sätze bilden

Aufgabe: Bisher sagt Ada beim Programmstart immer einen Satz, wie "Ich gehe --- schnell". Lass Ada mehrere zufällige Sätze am Stück sagen.

Tipp: Nutze eine Schleife aus der "Steuerung"-Kategorie um dieselbe Art Satz mit unterschiedlichen Worten mehrfach zu sagen.

7. Das Gedicht weiter ausbauen

Aufgabe: Füge weitere Listen für verschiedene Wortarten hinzu und kombiniere sie kreativ, um zufällige Gedichte zu generieren.

Tipp 1: Verstecke die Listen von der Bühne.

Tipp 2: Du kannst mehrere "verbinde"-Blöcke ineinander verschachteln.

Tipp 3: Du hast bereits das Element der Wiederholung benutzt. Kannst du auch Elemente der Entscheidung einbauen? Z.B. Könnte eine Zufallszahl generiert werden und je nachdem ob diese gerade ist oder nicht könnte anderer Programmcode ausgeführt werden.

Tipp 4: Schaffst du es, das Ergebnis in einer neuen Liste, "Ergebnis" Zeile für Zeile zu speichern?

Tipp: Schaffst du es, Ada solange weiter dichten zu lassen, bis alle Wörter verwendet wurden?

Siehe auch


Code zum Einbinden ins Forum:
[wiki=de:Projekt: Ada's Gedicht Generator Teil 1 - Grundlagen]Projekt: Ada's Gedicht Generator Teil 1 - Grundlagen[/wiki]

Kategorie:En-Link

Cookies helfen uns bei der Bereitstellung von Das deutschsprachige Scratch-Wiki. Durch die Nutzung von Das deutschsprachige Scratch-Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.