1156 |
umrech |
Umrechnung von Masseinheiten |
Kategorie: | Mathematik |
Klasse: | mittel |
Eingabe: | String |
Ausgabe: | float fixed |
|
Abzugebende Files: umrech.txt, umrech.java |
Kurzbeschreibung:
Eine (physikalische) Größe wird in eine andere Maßeinheit umgerechnet.
Allgemeine Hinweise:
-
Ihr Programm darf nur genau jene Ausgabedaten liefern, die in der Spezifikation
verlangt werden. Die Ausgaben Ihres Programmes werden automatisch mit
Referenzdaten verglichen; etwaige Abweichungen führen zu Punkteabzügen!
-
Testen Sie Ihr Programm vor der Abgabe mit der mitgelieferten Eingabedatei.
Geben Sie Ihre Lösung erst ab, wenn die Ausgaben Ihres Programmes mit der
ebenfalls mitgelieferten Ausgabedatei übereinstimmen! Testen Sie Ihr
Programm auch mit anderen Eingabedaten.
-
Verwenden Sie nur das von uns mitgelieferten Package eprog
für Ihre Ein/Ausgaben. Programme, die Packages oder Klassen ausserhalb der verwendeten Übungsumgebung (Java2, Standard Edition, Version 1.3.1_1) verwenden, können von uns
nicht getestet werden und werden mit 0 Punkten bewertet!
-
Schreiben Sie Ihr Programm möglichst allgemein und kommentieren Sie es gut.
Erstellen Sie weiters eine übersichtliche und verständliche Dokumentation.
Damit erhöhen Sie Ihre Chancen, daß andere Studenten in den nächsten Runden
Ihr Programm wählen und Ihnen damit zu Zusatzpunkten verhelfen!
Aufgabenstellung:
Ihr Programm soll einen String einlesen, der aus einer Zahl und einer Maßeinheit (z.B. m) besteht.
Weiters wird ein zweiter String eingelesen, der eine
andere Maßeinheit (z.B. km) angibt. Die Größe wird in die zweite Maßeinheit
umgerechnet.
Ihr Programm soll folgende Maßeinheiten kennen:
a) Länge: mm, cm, m, km
b) Zeit: s, min, h
c) Geschwindigkeit: km/h, m/s
d) Masse: g, kg, t
Umrechnungsfaktoren:
a) 1 m = 100 cm = 1000 mm = 0.001 km
b) 1 h = 60 min = 3600 s
c) 1 m/s = 3.6 km/h
d) 1 kg = 0.001 t = 1000 g
Bitte machen Sie sich nicht die Mühe, weitere Maßeinheiten in Ihr Programm
einzubauen. Derartige Fleißaufgaben bewirken im besten Fall gar nichts und
führen im schlimmsten Fall zu Punkteabzügen!
Eingabedaten:
Lesen Sie den String ein, der umgewandelt werden soll. Dieser darf maximal 10
Zeichen lang sein muß aus einer Zahl und der Maßeinheit bestehen. Diese Zahl
kann auch Nachkommastellen haben, die durch einen Punkt getrennt sind. Es muß
aber zumindest eine Ziffer vor dem Punkt stehen; wenn ein Dezimalpunkt auftritt, dann muß
auch zumindest eine Nachkommastelle folgen (richtig: 1s 0.1kg
123.456m FALSCH: 1.s .1kg). Negative Zahlen sind verboten. Die Maßeinheit muß
eine aus der oben stehenden Liste sein, wobei nur Kleinbuchstaben vorkommen
dürfen.
Danach wird ein String eingelesen, der die zweite Maßeinheit enthält. Die
zweite Maßeinheit muß ebenfalls aus der oben genannten Liste stammen, in
Kleinbuchstaben geschrieben sein und zur ersten Maßeinheit umrechnungskompatibel sein.
Es ist beispielsweise nicht möglich, kg in km/h umzurechnen.
Ausgabedaten:
Bei korrekten Eingabesätzen soll Ihr Programm das Ergebnis der Umrechnung als
Float-Zahl ausgeben (OHNE Maßeinheit!!!).
Geben Sie danach einen Zeilenvorschub aus.
Fehlerbehandlung:
Sämtliche Eingabedatensätze sind immer vollständig einzulesen.
Generell wird bei fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.
Sind eingegebenen Daten inhaltlich nicht korrekt oder erfüllen nicht die
Bedingungen, so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.
Beispiele:
Eingabedaten
|
10min kg
1234m km
|
Ausgabedaten
|
FALSCHE EINGABE
1.234
|
Bemerkung: Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und
müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie
bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung
können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei
erzeugen:
java umrech < umrech.i1 > umrech.out1
Das erzeugte File umrech.out1 können Sie dann mit dem mitgelieferten Outputfile umrech.o1 vergleichen.