11.4.2 Zufallszahlen


Im folgenden Programm werden die Eigenschaften der Kreise beim Starten des Programms mit Hilfe eines Zufallsgenerators festgelegt. Dadurch haben alle Kreise bei jedem neuen Programmstart andere zufällige Farben, Positionen, Durchmesser,...:

  • Starten Sie folgendes Programm: 100 animierte Kreise.
  • Erzeugen Sie neue zufällig gefärbte Kreise, indem Sie wiederholt auf "Code ausführen" klicken.

Im Thema "Algorithmen" interessiert jetzt weniger, wie diese 100 animierten Kreise in der Zeichenfläche erzeugt werden. In diesem Kapitel soll ein Algorithmus entwickelt werden, mit welchem man benötigte Zufallszahlen erzeugen kann.

Im Thema "Codierung" haben Sie gelernt, dass die Farbe und Transparenz eines Objekts mit einem RGB-Code angegeben werden kann, der Zahlen zwischen 0 und 255 enthält. Folgender Block enthält daher einen Zufallsgenerator, der eine ganze Zahl zwischen 0 und 255 erzeugt:

In diesem Kapitel soll ein Algorithmus entwickelt werden, mit welchem man ganzzahlige Zufallszahlen zwischen 0 und 255 erzeugen kann.

Im Blockly-Trace-Editor werden in der Kategorie "Mathematik" zwei Zufallszahlen als Block angeboten:

Der erste Block "Zufallszahl (0.0 - 1.0)" ist der Standard-Zufallsgenerator, der eine zufällige Dezimalzahl zwischen 0 und 1 erzeugt. Der andere Block enthält bereits den fertigen Algorithmus, den Sie entwickeln sollen.

  • Erstellen Sie mit dem Blockly-Trace-Editor oder dem p5js-Text-Editor ein kleines Programm, mit welchem 10 zufällige Dezimalzahlen zwischen 0 und 1 erzeugt werden.

  • Erzeugen Sie eine Trace-Tabelle, in welcher die Nummer der Schleifenwiederholung und die Zufallszahl ausgegeben wird.

  • Erstellen Sie mit dem Blockly-Trace-Editor oder dem p5js-Text-Editor ein kleines Programm, mit welchem 10 zufällige Dezimalzahlen zwischen 0 und 100 erzeugt werden. Sie dürfen für die Zufallszahl nur den Block "Zufallszahl (0.0 - 1.0)" bzw. die Anweisung Math.random() verwenden.

  • Die Lösung erfordert grundlegende Mathematik, sie können also weitere Blöcke aus der Katogorie "Mathematik" einbauen.

  • Erzeugen Sie eine Trace-Tabelle, in welcher die Nummer der Schleifenwiederholung und die Zufallszahl ausgegeben wird.

  • Erstellen Sie mit dem Blockly-Trace-Editor oder dem p5js-Text-Editor ein kleines Programm, mit welchem 10 zufällige ganze Zahlen zwischen 0 und 100 erzeugt werden. Sie dürfen für die Zufallszahl nur den Block "Zufallszahl (0.0 - 1.0)" bzw. die Anweisung Math.random() verwenden.

  • Die Lösung erfordert grundlegende Mathematik, sie können also weitere Blöcke aus der Kategorie "Mathematik" einbauen.

  • Erzeugen Sie eine Trace-Tabelle, in welcher die Nummer der Schleifenwiederholung und die Zufallszahl ausgegeben wird.

Mit dem gerade entwickelten Algorithmus kann man eine ganzzahlige Zufallszahl zwischen 0 und 255 erzeugen und damit die Zufallsfarben für die Kreise festlegen.

Lösungsprogramm starten (Vorschlag 1): ganzzahlige Zufallszahl zwischen 0 und 255 erzeugen

Lösungsprogramm starten (Vorschlag 2): ganzzahlige Zufallszahl zwischen 0 und 255 erzeugen - kleinschrittige Lösung


Der Algorithmus für eine Zufallszahl in einem bestimmten Intervall, das nicht bei 0 beginnt, ist ein klein wenig komplizierter. Denken Sie in Ruhe, gerne auch im Team, darüber nach und entwickeln Sie einen funktionierenden Algorithmus.

  • Erstellen Sie mit dem Blockly-Trace-Editor oder dem p5js-Text-Editor ein kleines Programm, mit welchem 10 zufällige ganze Zahlen zwischen 20 und 30 erzeugt werden. Sie dürfen für die Zufallszahl nur den Block "Zufallszahl (0.0 - 1.0)" bzw. die Anweisung Math.random() verwenden.

  • Erzeugen Sie eine Trace-Tabelle, in welcher die Nummer der Schleifenwiederholung und die Zufallszahl ausgegeben wird.

  • Speichern Sie das Programm und die Trace-Tabelle.

Hinweis: Sollten Sie absolut keine Idee für einen geeigneten Algorithmus haben, können Sie im Blockly-Trace-Editor den Block "ganzzahlige Zufallszahl zwischen 1 und 100" in den Editor ziehen und dann auf "JavaScript-Code" oder "Text-Editor" klicken. Der Lösungsalgorithmus wird dann in Textform dargestellt. Allerdings in einer Variante, in welcher man das Intervall auch in der Form 30 bis 20 angeben kann.

Lassen Sie Ihrer Lehrkraft in der vereinbarten Weise das Programm und eine Bildschirmkopie der Tracetabelle und des Programms zukommen. Dafür gibt es die vereinbarte Menge an XPs.