Herzlich willkommen bei der Software-Profi GmbH
wir sind auf der Suche nach Softwarefachkräften wie Ihnen.
Keine Sorge! Wenn Sie heute noch keine Softwarefachkraft sind, dann werden wir Sie dabei unterstützen eine zu werden.
Wir brauchen dringend Ihre Hilfe!
Navigationssoftware
Unser Großkunde Brumm-Brumm-Automotive (BBA) braucht dringend eine Anpassung am Navigationssystem der neusten Generation. Leider haben weder BBA noch wir Experten an Bord, die das Problem lösen können.
Wenn Sie das Problem für uns lösen können, werden Sie final reichlich entlohnt!
Der Programmcode
Wir haben bereits begonnen mit der Softwareentwicklung. Aber wir kommen nicht zu einer funktionierenden Lösung. Schauen Sie sich bitte den folgenden Programmcode an und versuchen Sie eine Lösung zu finden. Der Programmcode ist in der Programmiersprache Python geschrieben.
import re
# Unsere aktuelle Position.
ausgangskoordinaten = "N 48* 54.878 E 009* 04.313"
# Issue #4711: Finden Sie den Squiggle-Parameter
# und vervollstaendigen Sie den Programmcode hier.
squiggleparameter = ???
# Wir wissen auch nicht so ganz genau, wozu der Wobbleparameter dient.
# Darum kann sich irgendjemand irgendwann kuemmern. :)
wobbleparameter = [311, 483, 183, 149, 908, 550]
# Issue #0815: Irgendetwas stimmt hier nicht.
# Analysieren und beheben Sie die Probleme.
m = re.match(r"N (\d+)\* (\d+)\.(\d+) E (\d+)\* (\d+)\.(\d+)",
ausgangskoordinaten)
N = [ int(m.group(1), 10), int(m.group(2), 16), int(m.group(3), 10) ]
E = [ int(m.group(4), 10), int(m.group(1), 10), int(m.group(6), 10) ]
# Zielkoordinaten berechnen.
NZ = [ n ^ s ^ w
for n, s, w in
zip(N, squiggleparameter[0:3], wobbleparameter[0:3])
]
EZ = [ e ^ s ^ w
for e, s, w in
zip(E, squiggleparameter[3:6], wobbleparameter[3:6])
]
# Zielkoordinaten formatieren.
ziel_N = f"N {NZ[0]:02}* {NZ[1]:02}.{NZ[2]:03}"
ziel_E = f"E {EZ[0]:03}* {EZ[1]:02}.{EZ[2]:03}"
# Zielkoordinaten ausgeben.
print(ziel_N, ziel_E)
Laden Sie das Programm am besten hier herunter, statt Kopieren&Einfügen zu benutzen, um Formatierungsfehler zu vermeiden.
Das Programm ausführen
Zur Ausführung des Programmcodes können Sie jeden beliebigen Python-Interpreter nutzen. Suchen Sie bitte im App-Store ihres Gerätes nach einem Python-Interpreter, oder nutzen Sie den kostenlosen Referenz-Interpreter auf Ihrem PC.
Der wichtige Squiggle-Parameter
Leider hat einer unserer Mitarbeiter einen für die Programmausführung wichtigen Parameter verlegt. Der Squiggle-Parameter ist unerlässlich für die Berechnung der Koordinaten!
Der Mitarbeiter glaubt den Parameter am Wegpunkt 02 verlegt zu haben. Bitte begeben Sie sich zu den Startkoordinaten N 48° 54.878′ E 9° 04.313′. Von dort aus gelangen Sie zum Wegpunkt 02 bei N 48° 54.916′ E 9° 04.149′. Viel Erfolg bei der Suche!
Bitte klemmen Sie den Squiggle-Parameter wieder fest! Tiere sind auch daran interessiert der BBA zu helfen. Das finden wir gut, aber leider landet der Parameter oft auf dem Boden.
Ziel
Das Navigationsprogramm soll mit den gegebenen Startkoordinaten die Zielkoordinaten für das Final berechnen.
Bitte ändern Sie das Programm so, dass es fehlerfrei durchläuft und plausible Final-Koordinaten ausgibt.
Vielen Dank für Ihre Mithilfe und viel Spaß bei der Wanderung zum Final.
Gelände
Dieser Geocache erfordert ordentliches und festes Schuhwerk und ist nicht mit Sonntagsschlappen oder Programmierersandalen zu machen.
Es wird empfohlen diesen Cache nicht bei Nässe, nicht bei Glätte und auch nicht bei Nacht zu versuchen.