• Keine Ergebnisse gefunden

Programmier-Klausur Programmieren 2 – PZR 1 (24.1.2020)

N/A
N/A
Protected

Academic year: 2022

Aktie "Programmier-Klausur Programmieren 2 – PZR 1 (24.1.2020)"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Programmier-Klausur

Programmieren 2 – PZR 1 (24.1.2020)

Erlaubte Hilfsmittel:

Rechner (auch der eigene)

IDE (IntelliJ, Netbeans, Eclipse)

Dokumentationen Java (auch die Online-Javadoc von Oracle)

Nur bei der Abgabe: Webbrowser um die Lösungen in Moodle einzustellen Ablauf:

Dauer: 90 Minuten

1. Lesen Sie die Aufgabe aufmerksam!

2. Implementieren Sie die Aufgabe!

3. Laden Sie die Lösung auf Moodle hoch.

Fragen? Fragen Sie so, dass alle Ihre Frage hören können.

Aufgabe:

Implementieren Sie einen Rechner. Ein UI ist nicht nötig. Der Rechner arbeitet generell mit Integerwerten. Er soll über einen Speicher verfügen, in dem das Ergebnis der letzten Operation gespeichert wird. Dieser Speicher wird mit 0 initialisiert.

Der Rechner verfügt über zwei Operationen: Addieren und Subtrahieren. Beide Operationen erhalten lediglich einen Parameter. Dieser Parameter wird zu dem Wert im Speicher addiert bzw. subtrahiert. Das Ergebnis steht wiederum im Speicher.

Es soll eine Methode existieren, die den Speichers auf 0 zurück setzt. Es soll eine weitere Methoden existieren, die den Wert des Speichers zurück gibt.

Eine letzte Methode ermöglicht es, den Speicher auf der vorherigen Wert

zurück zu setzen. Damit kann jeweils die letzte Operation rückgängig gemacht werden. Das Zurücksetzen soll nicht nur einmal funktionieren, sondern beliebig oft bis zum Zurücksetzen der ersten Operation.

Der Rechner speichert alle notwendigen Daten (welche das sind, ist Ihnen überlassen) in einem File. Nach einem neuen Erzeugen des Rechner-Objektes hat es den gleichen Zustand wie zuvor – insbesondere können weiterhin die vorherigen Operationen rückgängig gemacht werden.

Für die Implementierung der Persistenz nutzen Sie ausschließlich Input- und Outputstream, konkret File(in/out)putStream und Data(in/out)putStream.

Nutzen Sie nicht das Serialization-Interface.

Beweisen Sie die Funktionsfähigkeit des Programms mittels Tests und halten Sie sich an die Konventionen guten Stils und beachten Sie Prinzipien guten Programmierens wie z.B. program-to-interface in Java.

Referenzen

ÄHNLICHE DOKUMENTE

Es soll durch einen Weltraum fliegen, indem es Asteroiden, einzusammelndes Leergut und gefrorene Wasserstoffklumpen, n¨ utzlich als Treibstoff, gibt, beim Fliegen soll es

Geben Sie dieser Klasse einen geeigneten Namen und überlegen Sie sich geeignete Methoden.. Beachten Sie die diskutierten Regeln

Implementieren Sie einen endlichen deterministischen Automaten. Ein solcher Automat startet in einem Startzustand. Dann kann man ihm Zeichen übergeben. Wir nehmen einen String

Implementieren Sie einen endlichen deterministischen Automaten. Ein solcher Automat startet in einem Startzustand. Dann kann man ihm Zeichen übergeben. Wir nehmen einen String

Die Eingabe bewirkt, dass das Element mit dem Namen gelöscht wird.. Gibt es das Element nicht,

Der Automat soll nach dem Lesen der gesamten Eingabe ein Symbol für Ja / Nein zurück geben – es bietet sich ein boolean-Wert an.. Er teilt so mit, ob die gelesenen Zeichen einen

• Man kann eine Zahl zum aktuellen Speicher addieren (unäre Operation).. • Der Speicher kann in einem File persistent gemacht

Diese Klassen soll außerdem in der Lage sein, Werte aus einem File zu lesen und und anhand der Werte Asset-Objekte zu erzeugen.. Überlegen Sie, ob sich auch bei der