Markus Gaelli wrote:
Hallo,
angeregt durch Esthers berechtigte Kritik, dass Autofahren auf Dauer langweilig ist, werde ich am Linuxtag mit einer oder zwei Unterrichtseinheiten:
"Goldener Schnitt und Fibonacci-Zahlen mit Etoys"
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. 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. 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