4111 umfang Bauklotzumfang berechnen
Kategorie:Geometrie
Klasse:mittel
Eingabe:Siehe Spezifikation
Ausgabe:Siehe Spezifikation
Abzugebende Files: umfang.txt, Main.java, umfang/*.java , 4578.txt, 5177.txt

Kurzbeschreibung:

2-D Bauklötze sollen zu einem Gebilde zusammengesetzt werden. Dieses Gebilde soll mit einer Lackschicht überzogen werden und der Umfang des lackierten Gebildes soll errechnet werden.

Allgemeine Hinweise:

Aufgabenbeschreibung:

Lesen Sie mehrere Strings ein, die durch Leerzeichen getrennt sind. Diese Strings enthalten jeweils zwei Koordinatenpunkte eines Rechteckes. Die Eingabe wird mit einem String abgeschlossen, welcher die Lackschichtdicke enthält.

Form des Eingabestrings: (x1/y1,x2/y2) Wobei x1/y1 für den linken unteren Koordinatenpunkt des Rechtecks steht, x2/y2 für den rechten oberen. Die Rechtecke müssen sich mindestens an einer, maximal an allen 4 Seiten mit einem der anderen Rechtecke berühren. Es darf sich aber kein Rechteck mit einem anderen Überschneiden!

Errechnen Sie nun den Umfang des so entstandenen Gebildes und erhöhen Sie diesen um die nötige Länge je nach Lackschichtdicke.

Eingabedaten:

Lesen Sie zuerst alle Objekte in Form von Strings ein. Sämtliche Zahlenangaben müssen ganzzahlig und vom Typ Short sein. Zusätzlich muss gelten: x1<x2 und y1<y2 .

Ausgabedaten:

Bei korrekter Eingabe soll Ihr Programm den Umfang des, durch die zusammengesetzten Rechtecke, entstandenen Gebildes, welches mit einer Lackschicht überzogen ist, ausgeben. Ausgabe vom Typ int sein. Schliessen Sie einem Zeilenvorschub ab.

Fehlerbehandlung:

Generell wird fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.

Wenn der Eingabestring nicht den Bedingungen genügt, soll vom Programm die Fehlermeldung "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub ausgegeben werden.

Beispiele:

Eingabedaten
(0/2,2/5) (2/0,4/7) (4/0,6/5) (3/5,6/7) 2

(0/2,2/5) (2/0,4/7) (4/0,6/5) (4/5,6/7) (6/0,9/3) 1

Ausgabedaten
FALSCHE EINGABE

40


Testen:

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 Main < umfang.i1 > umfang.out1

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