Projekte

Grashalme

Stempeln

Lissajoufiguren

Taschenrechner

Einmaleins

Logik

Partyprobleme

Polyturtle

Hangman

Fischen

Hasen

Radioaktiver Zerfall

Grashalme

Mit Hilfe eines Zollstockes kann man das Wachstum eines Halmes simulieren. Ein Zollstockglied stellt einen Teil des Halmes dar. Seine Auslenkung nach links oder rechts schwankt um einige Grad. Folgende Parameter können zum Testen benutzt werden:

Anzahl der Glieder Gliedlänge Schwankung Anzahl Zollstöcke
5 40 10, 20, 50 30
20 10 5, 15, 40 30
100 2 1, 3, 7 30

Stempeln

Ziel des Projektes ist, ein Software-Paket zu erstellen, mit dem man auf dem Bildschirm Ansichten von Gebäuden entwerfen kann.

Die einzelnen Kostüme werden z.B. den Zifferntasten zugeordnet. Um sie punktgenau ins Bühnenbild setzen zu können, wird die Mausposition gerastert, d.h., das Bild richtet sich an einem Raster aus. Damit nicht für jedes Kostüm ein eigenes Skript geschrieben werden muss, wird auf die Möglichkeit zurückgegriffen, dass ein Abdruck hinterlassen werden kann. Das Hauptprogramm ist oben angegeben, die benötigten Blocks und Tastenaufrufe sind nicht vollständig und müssten ergänzt werden. Man kann natürlich auch eigene Vorschläge entwickeln.

 

Lissajoufiguren

Lissajous-Figuren sind Kurvengraphen, die durch die Überlagerung zweier harmonischer, rechtwinklig zueinander stehender Schwingungen verschiedener Frequenz entstehen. Sie sind benannt nach dem französischen Physiker Jules Antoine Lissajous (1822–1880). Eine Lissajous-Figur ist der Graph, der durch die Parametergleichungen
x=a1sin(b1t+c1)
y=a2sin(b2t+c2)
beschrieben wird. In Anlehnung an die harmonische Schwingung heißen die Größen ai Amplituden, bi Kreisfrequenzen und ci Phasen (i=1, 2). Typische Lissajous-Figuren erhält man über die vereinfachten Gleichungen x=sin(b1t) /\ y=sin(b2t).
Die Variablen b1 und b2 stehen für natürliche Zahlen. Tritt zwischen den beiden Sinusfunktionen zu einer Grundfigur eine "Phasenverschiebung" c1-c2 auf, so geht eine Symmetrie verloren. Die Graphen verändern sich je nach Phasenlage, bewahren aber ihr Grundaussehen. Im vorliegenden Programm erfolgt die Phasenverschiebung kontinuierlich, so dass man den Eindruck einer sich drehenden Kurve hat.

Taschenrechner

Einmaleins

Je nach Bedarf: das kleine oder große Einmaleins zum Lernen. Die richtigen Ergebnisse werden samt Gleichung eingetragen, die falschen ohne Ergebnis.

Logik

Das folgende Beispiel zeigt Wahrheitstafeln und zeigt die Wirkung von Werten bei Vergleichen.

Partyprobleme

Michaela schreibt Einladungen für ihre Geburtstagsfeier. Dabei hat sie Probleme. Sylvia hatte vor einigen Tagen Streit mit Monika und will auf keinen Fall kommen, wenn Monika auch eingeladen wird. Karin und Anette sind in letzter Zeit unzertrennliche Freundinnen. Sie kommen beide oder gar nicht. Beate, Monika und Karin sollen auch nicht zusammen eingeladen werden, sondern nur zwei von den dreien. Wen muss Michaela einladen, um möglichst viele ihrer Freundinnen bei sich zu haben? Solche Logikaufgaben findet man häufig auf Rätselseiten. Wie kann die Lösung mit Hilfe von Scratch finden?

Zunächst werden die oben angegebenen Probleme als Aussagen Formuliert:

A := ¬Monika ∨ ¬Sylvia
B :=  (Karin ∧ Anette) ∨ (¬Karin ∧ ¬Anette)
C := (Beate ∧ Monika ∧ ¬Karin) ∨ (Beate ∧ ¬Monika ∧ Karin) ∨ (¬Beate ∧ Monika ∧ Karin)

D := A ∧ B ∧ C

In fünf ineinander geschachtelten Schleifen werden alle möglichen Personenkombinationen zusammengestellt und anschließend getestet, ob die Aussagen wahr sind. Sind sie wahr, wird das entsprechende Ergebnis in eine Liste eingetragen. Nach Durchlauf der innersten Schleife wird eine Linie in die Liste eingetragen. Anschließend sucht man sich das Päckchen mit den meisten Namen.

Aufgrund des relativ langen Programm befindet sich hier eine Downloadmöglichkeit: Partyprobleme

Polyturtle

Eine Polyturtle ist ein Gebilde, das aus mehreren unabhängig voneinander operierenden Turtles besteht. In dem folgenden Beispiel sitzen die Turtles in den Ecken eines Quadrates. Auf ein Kommando hin starten sie zur Verfolgungsjagd; T1 läuft hinter T2, T2 hinter T3, T3 hinter T4 und T4 hinter T1 her. Das Programm wird dahingehend verändert, dass zwischen der Position der Schildkröte und ihres Ziels die Verbindungsstrecke gezeichnet wird.  Das Programm lässt sich weiter abändern. T1 verfolgt im ersten Lauf T2, T2 T3 usw. In einem zweiten Lauf verfolgt T1 T4, T4 T3 usw. Man kann auch die Zahl der Turtle erhöhen.

 

Hangman

Fischen

Der Fischteich: ein biologisches System. Im Fischteich befinden sich Friedfische und Raubfische. Die friedlichen Fische ernähren sich von den im Teich anzutreffenden Pflanzen und Futter des Züchters, während die Raubfische die Friedfische fressen. Der Teich bietet Platz für 3000 Friedfische. Im ersten Beispiel sollen 200 Friedfische den Teich bevölkern; die Raubfische haben noch keine Bedeutung. In jeder Periode vermehren sich die Friedfische um 8%, während 2% von ihnen sterben.

Zustandsgleichungen
Fische. Neu <-- Fische.alt + dt*(ZuFische-AbFische)
Startwert Fische = 200

Zustandsänderungen
ZuFische = GeburtenFische
AbFische = ToteFische

Konstanten

Zwischenwerte
GeburtenFische = Fische*0,08
ToteFische= Fische*0,02

In dieser Simulation wird schnell klar, dass es zu einem exponentiellen Wachstum kommt. Im zweiten Beispiel wird die Vermehrung der Fische durch die Kapazität des Teiches beschränkt. Die Geburtenrate wird durch einen Faktor ergänzt, der abhängig von der Kapazität des Teiches ist.

Ein Wachstumsvorgang, der durch einen begrenzenden  Faktor eingeschränkt wird, heißt logistisches Wachstum.

Zustandsgleichungen
Fische.neu <-- Fische.alt + dt*(ZuFische-AbFische)
Startwert Fische = 200

Zustandsänderungen
ZuFische = GeburtenFische
AbFische = ToteFische


Konstanten
MaxFisch = 3000

Zwischenwerte
Geburtenrate = 0,08*(MaxFisch-Fische)/1000
GeburtenFische = Fische*Geburtenrate
ToteFische= Fische*0,02

In einer weiteren Simulation sollen folgende Vorgaben gemacht werden:

 

Zustandsgleichungen
Fische.neu <-- Fische.alt + dt*(ZuFische-AbFische)
Startwert Fische = 2700

Zustandsänderungen
ZuFische = GeburtenFische
AbFische = ToteFische  + Angler

Konstanten
Teichfassungsvermögen = 3000
Fangziel = 200

Zwischenwerte
GeburtenFische = Fische*0,08*(FMax-Fische)/1000
ToteFische= Fische*0,02
Angelbeschränkung = FMax/10
Angler = Wenn (Fische > Angelbeschränkung)
            Dann Angler = 200
            Sonst Wenn (Fische > Fangziel)
                    Dann Angler ) Zufall(Fangziel)
                    Sonst Angler = Zufall (Fische/10)
        

 

 

Hasen

Die in einem bestimmten Gebiet vorhandene Weidefläche lässt (bei Abwesenheit von Räubern) den Bestand der beute (hier Hasen) bis an die Grenze der Weidekapazität wachsen. Räuber (hier Füchse) verringern jedoch den Beutebestand entsprechend der Häufigkeit des Zusammentreffens zwischen Beute und Räuber, die vom Bestand der beiden Populationen abhängt. Ohne Beute verhungert der Räuber.

Folgende Modellgleichungen werden angenommen (sie können natürlich variiert werden):

Zustandsgleichungen
Hasen.neu <-- Hasen.alt + dt*(Hasenzuwachs-Hasenabnahme)
Startwert Hasen = 200
Fuechse.neu <-- Fuechse.alt + dt*(Fuchszunahme-Fuchsabnahme)
Startwert Füchse = 50

Zustandsänderungen
Hasenzuwachs = 0.001*Hasen*freieWeide*Hasenzuwachsrate
Hasenabnahme = 0.002*Treffen
Fuchszunahme = 0.0004*Treffen
Fuchsabnahme = Energieverlust*Füchse

Konstanten
Energieverlust = 0.2
Hasenzuwachsrate = 0.08
Weidekap = Wenn(Zeit<100;2000;500)

Zwischenwerte
Treffen = Hasen*Füchse
freieWeide = Weidekap-Hasen

Es werden zwei Objekte benötigt: Hasen und Füchse.

 

 

 

Radioaktiver Zerfall

Eine radioaktive Substanz zerfällt in eine Tochtersubstanz und diese wiederum in ein stabiles Endprodukt. Für jede Substanz wird die prozentual vorhandene Restmasse über die Zerfallszeit angezeigt. Dazu werden drei Zeichenobjekte gebraucht, die jeweils eigene Skripts haben. Diese werden über ein Hauptskript angesprochen. Dieses Hauptskript kann bei einem Zeichenobjekt eingerichtet werden (das ist hier der Fall), es könnte aber auch als Skript der Bühne formuliert werden.