Grundlagen der Programmierung
Exam 2
Neue Probeklausur mit zwei Aufgaben
Bearbeitung
Bearbeiten Sie beide Aufgaben in der Klasse App. Alle Aufgabenmethoden sind public static. Die geforderten Namen, Parameter und Rückgabetypen sind in den Aufgaben beschrieben. Die Formatierung der Rückgabewerte und Konsolenausgaben ist genau einzuhalten.
Diese eigenständig erstellte Probeklausur orientiert sich an der bereitgestellten Prüfung von 2020: eine Umrechnungsaufgabe mit Rückgabewert und eine Statistikaufgabe mit wiederholter Eingabe, Gültigkeitsprüfung und Abbruchbedingung. Die 90 Minuten und zweimal 5 Übungspunkte dienen der Simulation; sie sagen weder die Aufgaben noch die Bewertung der echten Prüfung voraus.
Verwenden Sie keine Arrays, Collections, Streams oder Rekursion. Die übliche Signatur main(String[] args) bleibt davon unberührt. Während des Versuchs gelten wie in eurer aktuellen Ankündigung: keine KI, kein Internet und keine Kommunikation; lokale oder gedruckte Unterlagen sind erlaubt. Dieses Blatt enthält keine Lösungen und benötigt keine Testumgebung.
Aufgabe 1
Zeitspanne umrechnen (5 Übungspunkte)
Schreiben Sie eine Methode namens timeUnitConverter, welche eine Zeitspanne in ganzen Minuten in Tage, Stunden und verbleibende Minuten umrechnet. Die Methode nimmt genau einen Parameter minutes vom Typ int entgegen und liefert einen String zurück.
Ein Tag besteht aus 24 Stunden, eine Stunde aus 60 Minuten. Der Rückgabewert enthält die Anzahl vollständiger Tage und anschließend die Stunden und Minuten, die danach noch übrig bleiben. Die Stunden liegen somit zwischen 0 und 23, die verbleibenden Minuten zwischen 0 und 59. Auch Einheiten mit dem Wert 0 werden angegeben.
Ist minutes kleiner als 0, liefern Sie genau Invalid value. zurück. Für gültige Eingaben ist dieses Format einzuhalten:
d: anzahl_tage, h: anzahl_stunden, min: restminutenNach jedem Doppelpunkt und jedem Komma steht genau ein Leerzeichen. Geben Sie keine führenden Nullen an. Die Methode liest nichts ein und gibt nichts auf der Konsole aus.
| Aufruf | Rückgabewert |
|---|---|
timeUnitConverter(3077) | d: 2, h: 3, min: 17 |
timeUnitConverter(-1) | Invalid value. |
Aufgabe 2
Lernzeiten auswerten (5 Übungspunkte)
Schreiben Sie eine Methode namens studyStatistics, welche tägliche Lernzeiten in Minuten von der Konsole einliest und auswertet. Die Methode hat keine Parameter und keinen Rückgabewert. Es darf angenommen werden, dass ausschließlich ganze Zahlen eingegeben werden.
Lesen Sie so lange Werte ein, bis -1 eingegeben wird. Gültige Lernzeiten liegen zwischen 1 und 1440 Minuten, jeweils einschließlich. Alle anderen Zahlen sind ungültig, ausgenommen das Endezeichen -1. Das Endezeichen wird weder gezählt noch in eine Berechnung aufgenommen.
Geben Sie vor jeder Eingabe eine eigene Zeile im Format k. Minutes: aus. Die Nummer k beginnt bei 1 und erhöht sich nur nach einer gültigen Lernzeit. Bei einem ungültigen Wert geben Sie die Zeile Invalid value. aus. Der Wert wird nicht berücksichtigt; die nächste Eingabeaufforderung trägt dieselbe Nummer. Auch 0 ist ungültig.
Nach dem Ende der Eingabe geben Sie in genau einer Zeile den Durchschnitt, die Summe und die Anzahl der gültigen Lernzeiten in dieser Reihenfolge aus:
Average minutes: durchschnitt Sum: summe Count: anzahlDurchschnitt und Summe werden auf genau zwei Nachkommastellen ausgegeben, die Anzahl als ganze Zahl. Zwischen den Bestandteilen steht jeweils ein Leerzeichen, am Zeilenende keines. Die Beispiele verwenden einen Dezimalpunkt; ein Dezimalkomma bei entsprechender Systemeinstellung ist ebenfalls zulässig.
Wurde bis zum Endezeichen keine gültige Lernzeit eingegeben, geben Sie stattdessen ausschließlich die Ergebniszeile No valid study time entered. aus. Jede Eingabeaufforderung, Fehler- und Ergebniszeile endet mit einem Zeilenumbruch. Text in Rot in den Beispielen kennzeichnet Benutzereingaben; diese werden nicht vom Programm ausgegeben.
1. Minutes: 60 2. Minutes: 90 3. Minutes: -1 Average minutes: 75.00 Sum: 150.00 Count: 2
1. Minutes: 0 Invalid value. 1. Minutes: -1 No valid study time entered.
1. Minutes: 1500 Invalid value. 1. Minutes: 45 2. Minutes: -1 Average minutes: 45.00 Sum: 45.00 Count: 1