Login  Register

Re: Squeak im Unterricht

Posted by Markus Gälli-3 on Jun 01, 2004; 10:44am
URL: https://forum.world.st/Squeak-im-Unterricht-tp130382p130386.html

Hallo Klaus,

>
> Ich bräuchte, um's zu verstehen, eine grobe Liste der Schritte, die
> man macht, um eine solche Aufgabe _mit EToys_ zu lösen.
>
> Beispiel auf die klassische Weise (schnell und naiv skizziert):
>
>    1. Vorüberlegungen:
>       1. Fibonaccis sind eine Folge von ganzen Zahlen.
>       2. Man benötigt zu Berechnen der Zahlen zwei "Zustände": die
> aktuelle Zahl und die vorige Zahl.
Die sind die gleichen.
>    2. Programmieren -> ClassBrowser
>       1. Ich richte also eine Klasse ein mit zwei Instanzvariablen
> ('akt' und 'letzt'), die von #new auf '1' gesetzt werden.
>       2. Es gibt eine Methode 'weiter', die letztendlich
> akt:=letzt+akt und  letzt := akt ausführt (aber richtig!)
>       3. Es gibt eine Methode 'wert', die mir 'akt' zurückliefert.

Die Idee ist, _drei_ Texte in ein "FibonacciFeld" zu werfen, diese mit
Zahlen zu bestücken, und dann in jeder Runde den dritten in den
zweiten, den zweiten in den ersten zu kopieren, und in den dritten die
Summe vom ersten und zweiten zu packen. Also ganz analog Deinem
Vorgehen, nur dass ich direkt Objekte nehme und zwar gleich drei davon.

Aus Supplies (Esther, schimpf bitte nicht mit mir,  hab grad ein
englisches Squeak da... ;-) ein Playfield und die Texte holen und auf
den Bildschirm werfen (Texte in Playfield).
Benennen ("Fibonacci1" oder so), eine "1" eintragen, das Teil zweimal
kopieren (grünes Halo ist in dem Fall ok, da kein Verhalten geteilt
wird).
Dann das FibonacciFeld "verantwortlich" machen, das heißt von ihm
mittels des Auges einen "Viewer" öffnen, ein neues Skript erzeugen, und
aus den Viewern der Fib1 bis Fib3 untenstehendes zusammenstöpseln.
(Reglerwert findet sich in der "Text"-Kategorie der Text-Morphs und
dient dem numerischen Setzen und Lesen von Werten.
Ein Trick ist im _ersten_ Feld am Anfang ein Leerzeichen zu setzen, das
wird ja ohnehin gleich überschrieben.


Viele Grüße,

Markus



>    3. Testen
>       - In einem Transcript probiere ich diesen Entwurf aus.
>
> Squeak erlaubt es mir, den Zyklus schnell und ohne überflüssigen
> Ballast auch wiederholt zu durchlaufen.
>
> Erweiterungen der Aufgabe, Thema: OOP-Programmierpraxis:
>
>    * Schreibe eine Methode 'wert: n', die die n-te Fibonacci-Zahl
> erzeugt.
>    * Erweitere diese Aufgabe so, dass beliebige arithmetische und
> geometrische Folgen modelliert werden können. Entwerfe die
> Klassenhierarchie.
>
> Erweiterung der Aufgabe, Thema: GUI
>
>    * Schreibe einen Button-Morph, der die aktuelle Fibonacci-Zahl als
> Beschriftung trägt und bei Betätigung 'weiter' aufruft.
>
> Erweiterung in Richtung Programmier-Paradigmen:
>    * Unendliche Folgen in imperativen und _funktionalen_ Sprachen.
>
> kf
>

fibonacci.png (67K) Download Attachment
fibonacci.png (8K) Download Attachment