Skip to content

Fachkräftemangel in der Softwareentwicklung Multi-Cache

A cache by mb_ Message this owner
Hidden : 6/8/2024
Difficulty:
4 out of 5
Terrain:
2.5 out of 5

Size: Size:   regular (regular)

Join now to view geocache location details. It's free!

Watch

How Geocaching Works

Please note Use of geocaching.com services is subject to the terms and conditions in our disclaimer.

Geocache Description:


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.

Additional Hints (Decrypt)

Uvajrvf Cebtenzz: Qnf Cebtenzz raguäyg arora qrz sruyraqra Fdhvttyr-Cnenzrgre mjrv Sruyre. Fvrur Xbzzragne vz Cebtenzz. Qvr Svanyxbbeqvangra fvaq mh Shß thg reervpuone, nore avpug qverxg "arorana". Uvajrvf Fdhvttyrcnenzrgre: Fcrpug.

Decryption Key

A|B|C|D|E|F|G|H|I|J|K|L|M
-------------------------
N|O|P|Q|R|S|T|U|V|W|X|Y|Z

(letter above equals below, and vice versa)