Beruflich Dokumente
Kultur Dokumente
Praktikum 6
Statische Methoden und Parameter
Allgemeine Hinweise
Lösungen der Aufgaben dieses Aufgabenblatts müssen über die Lernplattform abgegeben
werden, um Punkte für die Klausurzulassung zu erhalten.
Da die Lösungen automatisch überprüft werden, müssen die Spezifikationen und die
Ausgaben der Lösungen genauso eingehalten werden wie sie auf diesem Aufgabenblatt
definiert sind. Hierfür lassen sich die auf der Lernplattform verfügbaren Programmier-
Templates (Projekte) als Vorlage nutzen. Für die Abgabe laden Sie nur die Dateien hoch, die
die einzelnen Klassen enthalten, bitte nicht das gesamte Programmier-Template hochladen.
Es werden nur die Lösungen der Aufgaben bewertet, zu denen eine Punktzahl angegeben ist.
Für Aufgaben oder Aufgabenteile, die als Zusatzaufgaben gekennzeichnet sind, werden keine
Punkte vergeben. Die Bearbeitung ist dennoch sinnvoll für eine Vertiefung der Inhalt. Falls
Sie diese Aufgaben abgeben möchten, nutzen Sie hierfür separate Klassen und Dateien.
Details zu der Klausurzulassung, dem Ablauf des Praktikums und den Abgaben können dem
Leitfaden entnommen werden, der sich auf der Lernplattform befindet. Dort befinden sich
auch der Stundensonderplan und der Semesterterminplan.
a) Öffnen Sie mit Visual Studio Code (VSC) mit Java Extensions das Projekt Methoden, das
sich in dem Zip-Archiv „Methoden.zip“ auf der Lernplattform befindet. Öffnen Sie die
Java-Datei Muster.java in dem Java-Paket aufgaben/_01muster.
Erstellen Sie eine neue statische Methode druckeMuster innerhalb der Klasse (und
nicht innerhalb der main-Methode), die keinen Rückgabewert hat (void) und den
Parameter anzahlPlusSymbole vom Typ int aufweist. Diese Methode soll ein
Basismuster mit einer Variablen Anzahl von Plus-Symbolen (+) und einem Minus-Symbol
(-) am Ende auf der Kommandozeile ausgeben. Beispielsweise sollen mit dieser Methode
Prof. Dr. Lehn, Prof. Dr. Igel, Prof. Dr. Menküc, Prof. Dr. Wöhrle
Programmierung I
c) Fügen Sie Quellcode in die main-Methode ein, wodurch erst ein Basismuster und dann
die durch anzahlBasismuster definierte Anzahl von Basismustern ausgegeben
wird. Beispielausgaben sollen folgendermaßen aussehen:
anzahlPlusSymbole: 1
anzahlBasismuster: 1
Basismuster = +-
+-
anzahlPlusSymbole: 2
anzahlBasismuster: 5
Basismuster = ++-
++-++-++-++-++-
anzahlPlusSymbole: 4
anzahlBasismuster: 6
Basismuster = ++++-
++++-++++-++++-++++-++++-++++-
d) Testen Sie Ihr Programm mit möglichst vielen unterschiedlichen Eingabewerten und
beheben Sie ggf. Fehler.
a) Öffnen Sie mit Visual Studio Code (VSC) mit Java Extensions das Projekt Methoden, das
sich in dem Zip-Archiv „Methoden.zip“ auf der Lernplattform befindet. Öffnen Sie die
Java-Datei MovingAverageFilter.java in dem Java-Paket
aufgaben/_02moving_average_filter.
In diesem Paket befindet sich die weitere Klasse SensorData mit der Methode
nextSample, die bei einem Aufruf einen Wert des Typs double zurückliefert, der aus
einer normalverteilten Zufallsfolge stammt. Diese Klasse und Methode müssen für diese
Aufgabe lediglich genutzt, aber nicht verändert werden.
Prof. Dr. Lehn, Prof. Dr. Igel, Prof. Dr. Menküc, Prof. Dr. Wöhrle
Programmierung I
Hierbei akquiriert diese Filter-Methode durch den Aufruf von nextSample einen
neuen Messwert und filtert diesen, bis ein Messwert größer als der Schwellwert auftritt.
Nach dem Überschreiten dieses Schwellwerts werden der letzte Messwert und die
Meldung Alarm! ausgegeben.
• Falls s_t0 > 2.42 ist, ist der Schwellwert überschritten. In diesem Fall soll
keine neue Ausgabe berechnet und die Filterung beendet werden. Weiterhin
sollen der letzte Messwert s_t0 und die Meldung Alarm! ausgegeben werden.
• Andernfalls soll mittels nextSample ein neuer Wert bezogen werden, s_t0,
s_t1 und s_t2 aktualisiert und ein neuer Filterschritt durchgeführt werden.
• Nach jedem Filterschritt werden der Wert s_t0 und das Filterergebnis result
zusammen mit der entsprechenden Zuordnung auf der Kommandozeile
ausgegeben.
Damit nach dem Start des Programms die simulierte Filterung beginnen kann, muss in
der main-Methode der Klasse MovingAverageFilter die Methode filter
entsprechend aufgerufen werden.
Prof. Dr. Lehn, Prof. Dr. Igel, Prof. Dr. Menküc, Prof. Dr. Wöhrle
Programmierung I
a) Öffnen Sie mit Visual Studio Code (VSC) mit Java Extensions das Projekt Methoden, das
sich in dem Zip-Archiv „Methoden.zip“ auf der Lernplattform befindet. Öffnen Sie die
Java-Datei Rechner.java in dem Java-Paket aufgaben/_03rechner.
Prof. Dr. Lehn, Prof. Dr. Igel, Prof. Dr. Menküc, Prof. Dr. Wöhrle
Programmierung I
weisen zwei Parameter vom Typ double auf und liefern das Ergebnis der
entsprechenden Berechnung als double-Wert zurück. Keine dieser Methoden gibt ein
Ergebnis auf der Kommandozeile aus.
Rufen Sie jede dieser Methoden in der main-Methode jeweils mit den eingelesenen
Werten wert1 und wert2 auf und geben Sie das Ergebnis – zusammen mit
erläuternden Informationen – auf der Kommandozeile aus. Ein Beispielergebnis soll
folgendermaßen aussehen:
wert1: 8
wert2: 2
Summe: 10.0
Differenz: 6.0
Produkt: 16.0
Quotient: 4.0
Rufen Sie jede diese Methoden ebenfalls in der main-Methode mit dem eingelesenen
Werte wert1 auf und geben Sie das Ergebnis – zusammen mit einer erläuternden
Information – auf der Kommandozeile aus. Zusammen mit der Ausgabe aus dem
vorherigen Aufgabenteil soll ein Beispielergebnis folgendermaßen aussehen:
wert1: 81
wert2: 3
Summe: 84.0
Differenz: 78.0
Produkt: 243.0
Quotient: 27.0
Quadratwurzel: 9.0
d) Zusatzaufgabe (0 Punkte): Erweitern Sie diesen Rechner so, dass weitere Mathematische
Operationen genutzt werden können. Beispielsweise sollen sich Potenzen und Werte
trigonometrischer Funktionen berechnen lassen.
e) Zusatzaufgabe (0 Punkte): Erweitern Sie diesen Rechner um eine einfach interaktive Ein-
und Ausgabe über die Kommandozeile. Nach dem Start des Programms soll ein Menü
angezeigt werden, in dem sich auswählen lässt, dass die Operanden eingelesen werden
sollen und welche mathematische Operation auf diese Operanden angewandt werden
soll. Nach einer Auswahl eines Menüpunkt soll die entsprechende Funktion ausgeführt
werden und das Menü erneut angezeigt werden.
Prof. Dr. Lehn, Prof. Dr. Igel, Prof. Dr. Menküc, Prof. Dr. Wöhrle