Station - Register

Simulation eines Registers

Ein Register ist eine Speichereinheit, mit deren Hilfe man Daten zwischenspeichern kann. Wir werden hier den Hardware-Baustein Register mit einem Software-Baustein Register simulieren.

Die Datei registermaschine.py enthalte die folgende Klassendeklaration:

#-------------------------------------------
# Klasse Register
#-------------------------------------------
class Register(object):

    def __init__(self, w):
        self.wert = w

    def getAusgang(self):
        return self.wert

    def setEingang(self, wert):
        self.wert = wert

Aufgabe 1

(a) Analysiere zunächst die Klasse Register. Was leisten die Operationen getAusgang und setEingang? Beschreibe deren Verhalten möglichst genau.

(b) Die Klasse soll mit dem folgenden Testprogramm getestet werden. Stell zunächst eine Vermutung auf, was das Programm bewirkt. Führe es anschließend aus.

from registermaschine import *

# Erzeugung der Register
r1 = Register("01101100")
r2 = Register("10000010")
r3 = Register("00000000")

# Verarbeitung der Registerinhalte
r1.setEingang("11111111")
r3.setEingang(r2.getAusgang())

# Ausgabe der Registerinhalte
print("r1:", r1.wert)
print("r2:", r2.wert)
print("r3:", r3.wert)

Aufgabe 2

Das unten abgebildete Testprogramm ist dem oben gezeigten sehr ähnlich. Wo liegen die Unterschiede? Welches Testprogramm ist wohl näher an der Hardware?

from registermaschine import *

# Erzeugung der Register
r1 = Register(5)
r2 = Register(3)
r3 = Register(0)

# Verarbeitung der Registerinhalte
r1.setEingang(9)
r3.setEingang(r2.getAusgang())

# Ausgabe der Registerinhalte
print("r1:", r1.wert)
print("r2:", r2.wert)
print("r3:", r3.wert)
X

Fehler melden

X

Suche