1104 drei Dreieck
Kategorie:Mathematik
Klasse:leicht
Eingabe:Float
Ausgabe:Float im Fixpunktf.
Abzugebende Files: drei.txt, drei.java

Kurzbeschreibung:

Die Seitenlängen eines Dreiecks werden eingelesen. Ihr Programm soll überprüfen, ob es sich um ein rechtwinkeliges Dreieck handelt bzw. eine fehlende Seitenlänge auf ein rechtwinkeliges Dreieck ergänzen und den Flächeninhalt ausgeben.

Allgemeine Hinweise:

Aufgabenstellung:

Lesen Sie die Seitenlängen a,b und c eines Dreiecks ein. Dabei sollen a und b die Katheten und c die Hypothenuse eines rechtwinkeliges Dreiecks sein.

Wenn für einen dieser Werte 0 eingegeben wird, so ermitteln Sie diesen fehlenden Wert mittels pythagoräischem Lehrsatz und geben ihn aus:

c² = a² + b²

(HINWEIS: Eine Wurzelfunktion findet sich in der Klasse math.)

Falls alle drei Werte eingegeben wurden, so überprüfen Sie, ob es sich tatsächlich um ein rechtwinkeliges Dreieck handelt. Lassen Sie dabei eine Toleranz von 0.3 zu (|c² - a² - b²| <= 0.3 ).

Wenn es sich um ein rechtwinkeliges Dreieck handelt, so berechnen Sie die Fläche und geben Sie diese aus: A = a*b/2

Eingabedaten:

Lesen Sie die Seitenlängen in der Reihenfolge a, b, c als Zahlen vom Typ Float ein. Einer dieser Werte darf 0 sein und muß in diesem Fall von ihrem Programm ergänzt werden.

Ausgabedaten:

Bei korrekten Eingabedaten soll folgende Ausgabe erfolgen:

Falls eine der Seitenlängen 0 war, so geben die den ermittelten Wert für diese Seite sowie den Flächeninhalt des Dreiecks aus (getrennt durch ein Leerzeichen).

Wenn für alle drei Seiten ein Wert angegeben wurde und das Dreieck rechtwinkelig ist, so geben Sie nur den Flächeninhalt aus.

Wenn drei Seitenlängen eingegeben werden, die ein nicht rechtwinkeliges Dreieck bilden, so geben Sie die Meldung "KEIN RECHTER WINKEL" aus.

In allen Fällen ist anschließend ein Zeilenvorschub auszugeben.

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 (z.B. zwei Seiten sind 0 oder negative Kantenlängen), so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.

Beispiele:

Eingabedaten
1.0 1.0 1.0

13.0 23.0 0.0

24.5 12.5 27.5

Ausgabedaten
KEIN RECHTER WINKEL

26.420 149.500

153.125

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 drei < drei.i1 > drei.out1

Das erzeugte File drei.out1 können Sie dann mit dem mitgelieferten Outputfile drei.o1 vergleichen.