Aufgabe Vorschlag A - 2.5.2 · Abitur Hessen Praktische Informatik LK 2022
Thema: Client-Server und Nebenläufigkeit · Aus der Prüfung LK (2022)
Aufgabenstellung
Material 6
UML-Klassendiagramm Aquariumssteuerung
Material 7
Belegung der Ports (schematisch)
Hinweise: Der Temperatursensor LM 35 hat eine Empfindlichkeit von und einen messbaren Temperaturbereich von bis . Die Formel zur Berechnung der Temperatur in Abhängigkeit vom gemessenen Wert am analogen Eingang lautet:
2.5.2 Die Steuerung soll um die Lichtregelung mit folgenden Anforderungen erweitert werden:
Eine dimmbare LED-Beleuchtung für ein Aquarium zeichnet sich durch ihr Modell und die maximale Leistung in Lumen aus. Die optimale Lichtmenge, die Farbtemperatur und die Tageslänge (Dauer der Beleuchtung pro Tag) werden entsprechend der Herkunft der Lebensgemeinschaft festgelegt.
Die Lichtsteuerung soll durch entsprechendes Dimmen der Leuchte einen natürlichen Tagesablauf simulieren (Sonnenaufgang, Sonnenuntergang, Mondphasen usw.).
Die Steuerung von Temperatur und Licht müssen gleichzeitig ablaufen.
Entwickeln Sie auf Grundlage von Material 6 ein UML-Klassendiagramm mit Attributen, Konstruktoren, Methoden und Assoziationen, das die genannten Anforderungen zusätzlich umsetzt.
Hinweis: Set- und get-Methoden müssen nicht dargestellt werden.

Lösung
Nach den offiziellen Korrekturhinweisen
Entwickeln Sie auf Grundlage von Material 6 ein UML-Klassendiagramm mit Attributen, Konstruktoren, Methoden und Assoziationen, das die genannten Anforderungen zusätzlich umsetzt.
Lösung: Das erweiterte UML-Klassendiagramm umfasst: - Klasse `Thread` mit den Methoden `+ run()` und `+ start()`. - Klassen `LichtThread` und `HeizThread`, die von `Thread` erben. - `LichtThread`: Konstruktor `+ LichtThread(st : Steuerung)`, Methode `+ run()` sowie gerichtete Assoziation auf `Steuerung` (`- st`). - `HeizThread`: Konstruktor `+ HeizThread(st : Steuerung)`, Methode `+ run()`, `+ ermittleAktuelleTemp() : float` sowie gerichtete Assoziation auf `Steuerung` (`- st`). - Beide Threads werden von `Steuerung` erzeugt (`<<create>>`). - Klasse `Steuerung`: erweiterte Attribute (`optimaleLumenMax : int`, `optimaleFarbtemperatur : int`, `optimaleTageslaenge : int`), erweiterter Konstruktor sowie zusätzliche Methoden (`ermittleOptimaleLumenMax()`, `ermittleOptimaleFarbtemperatur()`, `ermittleOptimaleTageslaenge()`, `tageszeitInMinuten()`). Gerichtete Assoziation auf `LEDBeleuchtung` (`- led`). - Klasse `LEDBeleuchtung`: Attribute `- modell : String`, `- lumenMax : int`, `- lumenAktuell : int`, `- farbtemperatur : int`, Konstruktor `+ LEDBeleuchtung(modell : String, lumenMax : int)` und Methode `+ dimmen(werte : int[])`.
Die ausführliche Erklärung Schritt für Schritt (mit KI) gibt es mit Premium. Premium
Löse sie direkt hier: automatische Korrektur, Hinweise und Lösung Schritt für Schritt.
Aufgabe Vorschlag B - 1 · LK 2022 ›