1172 |
wsym |
Winkelsymetrale |
Kategorie: | GRAFIK |
Klasse: | leicht |
Eingabe: | Float |
Ausgabe: | Float fixed |
|
Abzugebende Files: wsym.txt, wsym.java |
Kurzbeschreibung:
Zwei zweidimensionale Vektoren werden eingelesen; die Winkelsymetrale wird ausgegeben.
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:
Lesen Sie zuerst die Vektoren ein, die aus jeweils zwei Floatzahlen bestehen.
Die Winkelsymetrale erhält man durch Addition der zu den Vektoren gehörenden
Einheitsvektoren. Den Einheitsvektor zu einem Vektor erhält man, indem der
x-und y-Wert des Vektors durch den Betrag des Vektors dividiert wird.
Einheitsvektor
wobei
Eingabedaten:
Lesen Sie die Komponenten x1, y1, x2, y2 der Vektoren (x1 y1) und (x2 y2) in
dieser Reihenfolge als Zahlen vom Typ Float ein.
Ausgabedaten:
Bei korrekten Eingabedaten soll Ihr Programm den Vektor der Winkelsymetrale
als Summe der Einheitsvektoren ermitteln und die Komponenten dieses Vektors
als Zahlen vom Typ Float ausgeben.
Trennen Sie die beiden Zahlen durch ein Leerzeichen und geben Sie am Ende
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.
Enthält der Eingabedatensatz einen ungültigen Datentyp, so soll einmal das Zeichen "?", gefolgt von einem Zeilenvorschub, ausgegeben werden.
Sind die Datentypen bei allen Eingaben richtig, die
eingegebenen Daten aber inhaltlich nicht korrekt oder erfüllen nicht die
Bedingungen, so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.
Beispiele:
Eingabedaten
|
0 10 1 0
4.73 12.193 -0.4 -13.777
|
Ausgabedaten
|
1.000 1.000
0.333 -0.067
|
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 wsym < wsym.i1 > wsym.out1
Das erzeugte File wsym.out1 können Sie dann mit dem mitgelieferten Outputfile wsym.o1 vergleichen.