Der Algorithmus, der im folgenden Struktogramm dargestellt ist, erhält eine Liste von Suchbegriffen S1, …, Sn als Eingabe. In der Variablen a soll gezählt werden, wie oft der Suchbegriff “Corona” vorkommt:
Welche Abbruchbedingung muss für die bedingte Wiederholung verwendet werden?
Der Algorithmus, der im folgenden Struktogramm dargestellt ist, erhält eine Reihe von Messwerten M1, …, Mn als Eingabe:
Was berechnet der Algorithmus allgemein gesprochen in der Variablen e?
Der Algorithmus, der im folgenden Struktogramm dargestellt ist, erhält eine Reihe von Messwerten M1, …, Mn als Eingabe und soll in der Variablen s die Summe aller positiven Messwerte berechnen. Der erste Messwert soll dabei ausgelassen werden.
Füllen Sie die fehlenden Einträge im Struktogramm passend aus.
Es soll ein Algorithmus zur Auswertung von Abstimmungsergebnissen entwickelt werden. Als Eingabe dient dabei eine Liste von Stimmen S1 bis Sn wobei n die Anzahl aller Stimmen ist. Jede Stimme hat entweder den Wert “ja”, “nein” oder “Enthaltung”.
Der Algorithmus soll das Gesamtergebnis ermitteln. Es zählt die einfache Mehrheit: Das Ergebnis lautet also “ja” wenn es mehr “ja”-Stimmen als “nein”-Stimmen gibt, “nein” wenn es mehr “nein”-Stimmen als “ja”-Stimmen gibt, oder “unentschieden” bei gleich vielen Stimmen. Am Ende soll je nach Ergebnis eine grüne, rote oder gelbe LED angeschaltet werden.
Verwenden Sie zum systematischen Entwickeln des Algorithmus die Grundstrategie Aufzählen und Überprüfen und stellen Sie den Algorithmus als Struktogramm dar.
Hinweis: Hier müssen ggf. mehrere Bedingungen pro Element überprüft werden.
Entwickeln Sie ein Scratch-Programm, das den Primzahltest mittels Aufzählen und Überprüfen implementiert, der durch das folgende Struktogramm beschrieben wird. Verwenden Sie dazu die Projektdatei Primzahltest.sb3 als Vorlage: Download
Im Startskript wird die zu überprüfende Zahl mit einer “frage”-Anweisung eingegeben und kann anschließend im Block “Antwort” abgefragt werden. Die Überprüfung, ob diese Zahl eine Primzahl ist, soll dann genau wie im Struktogramm gezeigt ablaufen (die Variablen können Sie aber natürlich auch anders nennen).
Hinweis: Um zu ermitteln, ob eine Zahl a Teiler einer anderen Zahl b ist, kann der Teilungsrest von a durch b überprüft werden. In Scratch lässt sich der Teilungsrest mit dem Modulo-Operator berechnen (Rest = a modulo b):
Entwickeln Sie ein Scratch-Programm, das ermittelt, welches das längste Wort ist, das im Text von “Romeo und Julia” vorkommt. Laden Sie dazu die Projektdatei Längstes_Wort.sb3 als Vorlage herunter: Download
Das Projekt enthält bereits eine Liste namens “Wörter”, in der die Wörter des Textes als Elemente enthalten sind. Erstellen Sie ein Skript, das beim Programmstart ausgeführt wird: Gehen Sie darin die Liste elementweise durch, um das längste Wort zu finden. Dieses Wort soll in einer Variablen namens “längstes Wort” gespeichert werden, die auf der Bühne angezeigt wird.
Hinweis: Um die Länge eines Wortes zu ermitteln, können Sie den Werteblock “Länge von Zeichenkette” (unter Operatoren) verwenden:
In dieser Aufgabe soll die lineare Suche nach einem Wort in einer Liste verbessert werden. Laden Sie dazu die Projektdatei Wörter_suchen.sb3 herunter: Download
Im Skript finden Sie die folgende Sequenz, in der die Liste “Wörter” nach einem Wort durchsucht wird, das zu Beginn auf die “frage”-Anweisung als Antwort eingegeben wurde:
Es soll das mittlere Alter aller erwachsenen Gäste einer Veranstaltung ermittelt werden, also nur derjenigen Gäste, die mindestens 18 Jahre alt sind. Die Altersangaben aller Gäste sind in der Textdatei Altersangaben.txt aufgelistet: Download
Entwickeln Sie ein Scratch-Programm, das den Mittelwert aller passenden Altersangaben berechnet und in einer Variablen namens “Mittelwert” speichert, die auf der Bühne angezeigt wird.