Belegaufgabe - Register-Maschine
Bei den Belegaufgaben im WS 99/00 stand auch eine Aufgabe zur Auswahl,
die eine Realisierung einer Register-Maschine als Applet forderte, wobei
der Hauptaugenmerk auf der Verdeutlichung der Arbeitsweise einer solchen
Maschine lag.
Was ist eine Register-Maschine ?
Man kann eine (maschinennahe) Präzisierung des Algorithmenbegriffs
mittels Registermaschinen vornehmen. Somit stellen sie eine relativ simple
Abstraktion der programmierbaren Rechners dar.
Die Register-Maschine ist ein formales Algorithmenmodell.
Definition: Registermaschine
-
Eine Registermaschine besteht aus den Registern b,
c0, c1, ..., cn und einem Programm.
-
b heißt Befehlszähler,
c0
heißt Arbeitsregister oder Akkumulator, und jedes der Register c1
und cn (mit n
>= 1) heißt Speicherregister. Jedes der Register enthält
als Wert eine natürliche Zahl. Das unendliche Tupel (b,
c0, c1, ..., cn, ...) heißt
Konfiguration der Registermaschine.
-
Das Programm ist eine endliche Folge von Befehlen. Durch die Anwendung
eines Befehls wird die Konfiguration der Registermaschine geändert.
Es gibt Ein- und Ausgabebefehle, arithmetische Befehle, Sprungbefehle und
dem Stopbefehl.
Wer genaueres wissen möchte, sollte sich die formale
Beschreibung anschauen.
Das Registermaschinen-Applet
Zum Applet ...
Das Applet bietet eine Eingabemöglichkeit für die Registerbefehle
und die Register. Ist ein Programm eingegeben und sind die Register gesetzt,
kann danach das Programm ausgeführt werden. Dabei kann man jeden Befehl
einzeln abarbeiten lassen, um so dessen Wirkung verfolgen zu können.
Unterhalb des Applets ist eine Bedienungsanleitung
(Kurzhilfe). Wenn man im Applet die Aktiv-Hilfe aktiviert, wird
der entsprechende Hilfetext im Frame unter dem Applet angezeigt, sobald
mit dem Mauszeiger über eine GUI-Komponente gefahren wird.
Um das Projekt ein wenig zu dokumentieren, haben wir auch den Quelltext
aufbereitet, so das man einen Überblick über die Implementierung
der Objekte und der GUI erhält.
erstellt: April/Mai 2000 von: Rainer
Habrecht, Lothar Schlesier