Aus der Schule wissen Sie noch, daß jeder Punkt dieser Erde mit Koordinaten versehen ist. Die Koordinaten werden in Längen- und Breitengraden angegeben, Ulm hat beispielsweise die Koordinaten . Die Koordinaten bestehen also aus zwei Winkeln für Breite () und Länge (), die immer aus der Angabe in Grad, Bogenminuten und Bogensekunden und der Information über die geographische Länge bzw. Breite.
Diese Darstellung kann über die Formel
Für die spätere Berechnung der Entfernung werden die Winkel allerdings nicht in Grad, sondern in Radians benötigt, es gilt .
Die Entfernung zwischen zwei Orten und mit Koordinaten
und
Schreiben Sie ein Programm, welches die Entfernung in Kilometern zwischen zwei durch geographische Koordinaten festgelegte Orte berechnet.
Für jeden Ort sollen zwei Zeilen eingelesen werden, die die Breite und Länge des Ortes beschreiben. Eine Zeile besteht aus drei Zahlen für Grad, Bogenminute und Bogensekunde und einem Buchstaben, ''N'' und ''S'' für die Angabe von nördlicher bzw. südlicher Breite oder ''O'' und ''W'' für die Angabe von östlicher bzw. westlicher Länge. Die Koordinaten von Ulm sehen wie folgt in dieser Darstellung aus:
48,24,0,N 9,59,0,O
Erzeugen Sie aus den Eingaben die Koordinaten (-Winkel) in Radians und berechnen Sie mit der angegebenen Formel die Entfernung in Kilometern und geben Sie diese anschließend aus.
48,24,0,N 9,59,0,O 59,9,30,N 18,4,0,O
Entfernung: 1307 km
Zur Bearbeitung der Aufgabe bietet es sich an, Variablen vom Typ String zu verwenden, dieser wird in den Übungen vorgestellt. Von besonderem Interesse sind die Methoden indexOf(), substring(), equals().
Alle benötigten mathematischen Funktionen befinden sich in der Klasse Math. Auch diese wird in den Übungen vorgestellt.
Wenn ein String nur aus Zahlen besteht, kann dieser mit der Methode Integer.valueOf() in einen int-Wert konvertiert werden.