Benutzer-Werkzeuge

Webseiten-Werkzeuge


info10:aufgaben:kuehlschrank

Kühlschrank

Ein einfacher Kühlschrank besitzt einen Ein-Aus-Schalter, der jederzeit betätigt werden kann. Im eingeschalteten Zustand kann er auf die Kühlstufen 1, 2 oder 3 eingestellt werden. Dafür gibt es die Tasten ▲ zum Hochschalten und ▼ zum Herunterschalten der Kühlstufe. Nach dem Ein- schalten befindet sich der Kühlschrank immer auf Kühlstufe 2.

a) Modellieren Sie den beschriebenen Kühlschrank mithilfe eines Zustandsübergangsdiagramms (einschließlich der drei auslösenden Aktionen „hochschalten“, „herunterschalten“ und „einausschalten“).

b) Erstellen Sie die dazugehörige Zustandsübergangstabelle.

c) Implementieren Sie den Kühlschrank durch Definition einer geeigneten Klasse, wobei die möglichen Zustände des Kühlschranks durch die Attribute stufe und eingeschaltet und die auslösenden Aktionen durch die Methoden hochschalten(), herunterschalten() und einausschalten() realisiert werden sollen.

Testen Sie Ihre Implementierung, indem Sie die Zustandsübergänge nach unterschiedlichen Methodenaufrufen mit dem Zustandsdiagramm vergleichen. Definieren Sie dazu eine Methode zustandAusgeben(), die den Zustand des Kühlschranks auf dem Bildschirm ausgibt.

d) Alle Zustandsübergänge des Kühlschranks sollen nun anstatt mit drei Methoden wie in Teil- aufgabe c mit einer einzigen Methode zustandWechseln(String aktion) möglich sein, wobei die auslösende Aktion durch die Variable aktion eingegeben wird. Implementieren Sie diese Methode.

Diskutieren Sie, welche Vor- und Nachteile die Realisierung der Zustandsübergänge mit nur einer Methode mit sich bringt.

e) Es ist möglich, den Kühlschrank mit einem einzigen Attribut zustand vollständig zu beschreiben. Diskutieren Sie wie in Teilaufgabe d Vor- und Nachteile dieser Realisierung und passen Sie Ihre Implementierung entsprechend an.

f) Bei realen Kühlschränken lässt sich der Grad der Kühlung oft stufenlos einstellen. Erläutern Sie, warum sich ein derartiger Kühlschrank nicht mit einem Zustandsdiagramm modellieren lässt.

info10/aufgaben/kuehlschrank.txt · Zuletzt geändert: 2021/06/28 11:45 von Ulrich Schneider