HSG |
|
Einfache Bonsai-Programme wie ein Additionsprogramm lassen sich ohne systematische Techniken erstellen. Es gibt "Naturtalente", die auch komplexere Programme intuitiv erstellen können, allerdings mit stetig wachsendem Fehlerrisiko.
Für andere ist bereits ein "ordentliches" Additionsprogramm eine kleine Hürde.
Es soll nun anhand einiger Beispiele eine Methode vorgestellt werden, wie ein "Hochsprachen"-Programm Schritt für Schritt vereinfacht und schließlich in BONSAI-Assembler übersetzt werden kann.
Ausgehend von dem Python-Programm potenz3.py soll systematisch ein Python-Programm in ein 'goto-Python'-Programm übersetzt werden. Diese Übersetzung ist begonnen, aber noch nicht fertig.
a) Bestätige (anhand dokumentierter Tests) und begründe, dass die Anweisung h2 = 0 in der inneren while-Schleife entfallen kann.
b) Bestätige und begründe, dass die Anweisung h1 = 0 am Anfang der äußeren while-Schleife hinter die Anweisung p = h1 verlegt werden kann.
c) Erstelle und teste potenz4.py, das nur noch while-Schleifen und Anweisungen der Form u = u + 1 bzw. v = v - 1 enthält. Bedenke, dass p = h1 gefolgt von h1 = 0 leichter übersetzt werden kann als p = h1 allein. Außerdem kann von p = 0 ausgegangen werden, warum?
d) Erstelle auch potenz5.py, das keine while-Anweisungen mehr enthält und direkt in ein Bonsai-Programm 'potenz.bon' übersetzt werden kann.
e) Erstelle und teste potenz.bon.