Beispiel: (5(7+4))/(2(1+3))
Ich rechne: Nimm 7, addiere 4, multipliziere mit 5 --- Nimm 1, addiere 3, multipliziere mit zwei -- dividiere das vorher gefundene Ergebnis
für den Zähler durch das zuletzt gefundene Ergebnis für den Nenner. (Punkt vor Strichrechnung, Klammern gehen vor.)
Die genannten Zwischenergebnisse werden automatisch auf einem Stapel (Stack) gespeichert und müssen nicht extra behandelt werden. Verwendet wird die umgekehrte polnische Notation (oder postfix-Notation), die nach einem polnischen Mathematiker mit angeblich unaussprechlichem Namen benannt wurde (angenehm, Kokavecz).
Die Eingabe der Beispielaufgabe sieht dann so aus:
7 [ENTER] 4 + 5 * 1 [ENTER] 3 + 2 * /
Die Enter-Taste ist erforderlich, um aufeinanderfolgende Zahleneingabe voneinander zu trennen.
Wäre es nach mir gegangen, so hätte man in der Schule ausschließlich solche Rechner verwenden dürfen, damit die Schüler auch bei der Benutzung des Taschenrechners nicht "hirnlos" formal arbeiten, sondern stets die Rechenregeln anwenden. - Aber mich fragt ja nie irgend jemand !
Taschenrechner der hier beschriebenen Art gibt es immer noch, nätürlich war es schon immer etwas teuerer, etwas Besonderes haben zu wollen. In der Computersimulation zählen aber keine Preisvorteile, eher die Möglichkeit, die Programmierung zu vereinfachen! Für die Programmierung habe ich mir den HP21 vorgenommen, von dem ich auch noch ein REALMODELL besitze, so dass man die Anforderungsdefinition nicht aus dem Bauch heraus, sondern überprüfbar exakt formulieren kann. Die Analyse des Analyseobjekts ist dabei gar nicht so einfach!
Für den Informatikunterricht nicht ganz unwichtig ist die Tatsache, dass man bei der Gelegenheit auch den Stapel (Stack) einführen und thematisieren kann. Bewährt hat sich die völlige Trennung von Fachkonzept und GUI. Deshalb werden zunächst nur das Fachkonzept modelliert, später wurde das GUI entwickelt (getrennt nach Tastatur, Siebensegmentanzeige (zu jeder Zifferndarstellung gehört ein Anzeigemuster)) und dann eine Kopplung mit Hilfe des mvc_Managers vorgenommen. Die Abbildung gibt einen Überblick über die Beziehungen der in den einzelnen Modulen deklarierten Klassen und deren Objekte.
T 0 Es wird die 0 Es wird die 0 Z 0 Zahl 4 ein- 0 Enter-Taste 0 Y 0 gegeben: 0 gedrückt: 4 X (Anzeige) 0 4 4 ------------------------------------------------------- Nun wird 0 Nun wird die 0 usw. die Zahl 7 0 + - Taste 0 eingegeben 4 gedrückt: 0 7 28
Die Analyse des Realobjekts (Analyseobjekts) ist nicht einfach und führt auf eine komplexe Beschreibung der einzelnen Objekte und ihres Verhaltens. Im Verzeichnis SOFTWARE, das Sie beim Download der Seiten mit erhalten, ist der funktionsfähige Rechner mit einigen Modulen im Quelltext. Er ist noch nicht ganz fertig programmiert.
Hier können Sie den fast fertigen Code des Fachkonzepts "Rechner" sehen, und hier eine Abbildung des simulierten Rechners.
Dr. Bernd Kokavecz