studyklar
GdI 1 · Übungsblatt 4 · Aufgabe 6

Sekunden in Stunden, Minuten und Sekunden umrechnen

Aus einer Zahl von Sekunden soll eine Zeitangabe wie auf einer Stoppuhr werden: 1234 Sekunden sind 0:20:34. Erst zerlegen wir die Zahl auf Papier, dann schreiben wir das Programm und testen es mit den Werten der Aufgabe. Rechts steht die Grafik zum aktuellen Teil. Mit Weiter geht es Schritt für Schritt voran.

Die Aufgabe

Aufgabe 4.6

Schreiben Sie ein Java-Programm A4_6, welches eine im Programm vorgegebene Anzahl von Sekunden in die Anzahl Stunden, Minuten und Sekunden umrechnet und die Ergebnisse ausgibt. Beispielsweise soll die Sekundenzahl 1234 zur Ausgabe 0:20:34 führen. Testen Sie Ihr Programm mit mehreren Eingaben, z. B. 0, 59, 60, 100, 3600 und 4000.

Das Programm heißt A4_6. Die Sekundenzahl wird nicht eingelesen, sie steht fest im Programm. Ausgegeben wird sie im Format h:mm:ss: Stunden, dann zwei Stellen Minuten, dann zwei Stellen Sekunden, getrennt durch Doppelpunkte. So verlangt es das Beispiel 0:20:34. Zum Testen ändert man die Zahl im Programm und startet es neu.

Merke: Eine Stunde hat 3600 Sekunden (60 · 60), eine Minute 60 Sekunden. Zerlegt wird von der größten Einheit zur kleinsten.
  1. Ganzzahlige Division und Rest verstehen.
  2. 1234 in Stunden, Minuten und Sekunden zerlegen.
  3. Minuten und Sekunden immer zweistellig ausgeben.
  4. Das Programm schreiben und mit allen Testwerten laufen lassen.

Ganzzahlige Division und Rest

ganzzahlige Division und Rest an einem kleinen Beispiel
7 / 2=37 % 2=1denn 7=3⋅2+17 \,/\, 2 = 3 \qquad 7 \,\%\, 2 = 1 \qquad \text{denn } 7 = 3 \cdot 2 + 1

Zum Zerlegen braucht man zwei Rechenarten. / zwischen zwei ganzen Zahlen ist in Java eine ganzzahlige Division: Sie sagt, wie oft die zweite Zahl ganz in die erste passt, und lässt Nachkommastellen weg. % (Modulo) liefert den Rest, der dabei übrig bleibt.

Beispiel: 2 passt 3-mal in 7, denn 3 · 2 = 6. Übrig bleibt 7 − 6 = 1. Gegeben ist in unserer Aufgabe die Sekundenzahl 1234.

Aus Skript 4, Folie 4-24 („Arithmetische Ausdrücke“): / Division, % Modulo (Divisionsrest). Bei ganzzahligen Operanden ist das Ergebnis ebenfalls ganzzahlig.

Die Stunden und der Rest

Stunden
h=1234 / 3600=0Rest=1234 % 3600=1234h = 1234 \,/\, 3600 = 0 \qquad \text{Rest} = 1234 \,\%\, 3600 = 1234

Eine Stunde hat 3600 Sekunden. Wie viele ganze Stunden stecken in 1234 Sekunden? 3600 passt 0-mal hinein, also h = 0. Der Rest sind die Sekunden, die nicht zu einer ganzen Stunde reichen: alle 1234.

Noch 9 Schritte bis zum Ergebnis
Den ganzen Lösungsweg sehen Studierende und Lehrende der HS KL. Registriere dich mit deiner Adresse @stud.hs-kl.de oder @hs-kl.de, dann geht es hier direkt weiter.

Abbildung 1Der Rechenweg

1234 Sekunden zerlegen

GrößeRechnungWert
Eingabevorgegeben1234
Stunden h??
Rest??
Minuten m??
Sekunden s??
Ausgabe??
Legendegerade gemeint? = folgt in einem späteren Schritt1234 Sekunden, zerlegt in h, m und s.