Sie sind auf Seite 1von 2

Friedrich-Schiller-Universität Jena

Fakultät für Mathematik und Informatik


Institut für Informatik

Peter Dittrich Valentin Wesp


https://users.fmi.uni-jena.de/~dittrich/, R3430 valentin.wesp@uni jena.de

Übung zur Vorlesung

Strukturiertes Programmieren
WS 2023/24

Übungsblatt 6: JAVA – Datenabstraktion und Methoden


Abgabe: 27.11.2023 (12:00 Uhr) Besprechung: 28.11.2023

Hinweise:

1. Abgabe immer via Moodle bis zum nächsten Montag 12:00 (nicht später!).
2. Bearbeitungszeit: ca. 8h
3. Maximale Punktzahl: 6 Punkte

1 Wiederholung (2h)

Arbeiten Sie das Skript (Folien) zur laufenden Vorlesung durch; insbesondere die Teile, die nicht in der Übung
behandelt werden
Alles klar soweit? Was
ist unklar geblieben?
Investierte Zeit neben
den 6 Präsenzstunden
(4V+2Ü):
Zusammengearbeitet
mit:

1
2 Postfixinterpreter (2h / 3P)
Implementieren Sie einen Postfixinterpreter mit Hilfe eines String-Stacks entsprechend der
Vorlesung. Erweitern Sie ihn, sodass er mit mindestens einer Variablen umgehen kann (z.B.: 3 * x).
Testen Sie das Programm mit geeigneten Beispielaufrufen.

3 Komplexe Zahlen (1h / 1P)


Implementieren Sie einen abstrakten Datentyp, der komplexe Zahlen darstellen kann.
Hinweis: Komplexe Zahlen bestehen aus einem reellen Teil und einem imaginären Teil (oft markiert
mit einem i dahinter). Beispiel: 2 + 3𝑖𝑖 : 2 ist der reelle Teil, 3i der imaginäre.

4 Hundeteam erweitern (2h / 2P)

Wir haben in der Vorlesung das Speicherabbild für das Beispiel „Hundeteam“ gezeichnet und das
Problem, das hier beim „klonieren“ von Hund otto auftritt, gesehen.

1. Schreiben Sie eine Funktion clone, die das Problem löst. Die Funktion kann dann so
angewendet werden: Hund otto2 = clone(otto);
clone soll den Namen übernehmen und das Alter auf 1 setzen.
2. Erweitern Sie die Klasse Hund um ein Attribut, sodass ein Hund weiß, zu welchem Team er
gehört. D.h., die Klasse Hund soll um ein Attribut team erweitert werden, das eine Referenz
auf das Team enthält, in dem sich der Hund befindet.
3. Schreiben Sie eine Funktion join(hund, team, position) und nutzen Sie sie in obigem
Beispiel.
4. Zeichnen Sie für das Programm das Speicherbild.

Viel Spaß und Erfolg!

Das könnte Ihnen auch gefallen