Das System
wirklich
nicht leicht.«
»›Wenn Du mich kennst‹ … was könnte er damit gemeint haben?«
»Keine Ahnung.«
»Vielleicht muss man den Code einfach rückwärts lesen?«
Lisa machte eine abwehrende Handbewegung. »Dabei käme nur Unfug heraus, mit dem der Compiler absolut nichts anfangen könnte.
Auch die Reihenfolge der Zeilen zu verändern, bringt nichts. Die Reihenfolge, in der die Funktionen definiert werden, ist
völlig egal, und innerhalb einer Funktion bringt man nur die Logik durcheinander. Sieh mal hier, wenn ich eine If-then-else-Struktur
habe, kann ich ja nicht einfach mit dem Else anfangen, oder?«
Mark erinnerte sich noch dunkel, dass es sich dabei um eine Wenn-Dann-Verzweigung handelte, bei der das »Else« den Fall markierte,
in dem die Bedingung der Verzweigung nicht zutraf. Lisa hatte recht – ein simples Umkehren der Reihenfolge brachte nichts.
|294| Er fühlte sich hilflos – schließlich hatte er vom Programmieren kaum eine Ahnung. Wie sollte er Lisa helfen, die offenbar
genauso im Dunkeln tappte wie er selbst?
Er versuchte, dem Problem mit logischem Denken näher zu kommen. Es gab zwei Möglichkeiten: Entweder war der Code auf der CD
schlicht falsch – dann hatten sie keine Chance und jedes weitere Nachdenken war sinnlos. Oder er war irgendwie verschlüsselt,
auf eine Weise, die nicht sofort erkennbar war …
»Hast du mal was zu schreiben?«
Lisa sah ihn fragend an. Als keine Erklärung folgte, reichte sie ihm einen billigen Kuli mit dem Werbeaufdruck einer Reifenfirma
und einen Notizblock, der mit flüchtig skizzierten Diagrammen, Codefragmenten und Umrechnungen von Dezimal- in Hexadezimalzahlen
in Lisas krakeliger Schrift bekritzelt war. Mark dachte nach, schrieb eine halbe Seite voll, strich ein paar Worte aus und
schmierte Verbesserungen darüber. Nach einiger Zeit war er zufrieden, schrieb den Text noch einmal ab, damit man ihn lesen
konnte, und gab ihn Lisa, die ihn neugierig beobachtet hatte.
Sie las den Text laut vor: »Unser Geschichtslehrer, Herr Bohlke, hat heute eine sehr interessante Geschichtsstunde gehalten.
Das Gute ist, dass ich jetzt viel über die Römerzeit gelernt habe. Ein interessantes Thema war vor allem, wie mit einem großen
Knall das Römische Reich untergegangen ist. Das war in meinem Kopf vorher noch nie so klar.«
Lisa sah ihn fragend an. »Was soll das denn?«
Mark grinste vor Stolz. »In der Schule hab ich mal mit einem Freund eine Geheimschrift entwickelt. Wir haben einfach unsere
Botschaften in einem längeren Text versteckt. Der Trick war ganz einfach: Jedes zehnte Wort, beginnend mit dem vierten, gehörte
zu der Botschaft, alles andere war nur Fülltext.«
Lisa unterstrich die entsprechenden Worte im Text: »… Bohlke … ist … Ein … Knall … Kopf …«, las sie vor. Sie |295| musste lachen. »Damit hast du also deine Unterrichtszeit vertrödelt. Kein Wunder, dass du am Ende nur Betriebswirtschaft studiert
hast!« Sie wurde wieder ernst. »Aber du könntest recht haben. Das sehen wir gleich.« Sie klickte ein paar Mal. »Hmmm. Es sind
49607 Programmzeilen. Mal sehen. Ungerade Zahl. Durch drei geht nicht, durch fünf sowieso nicht, durch sieben … nein. Elf
auch nicht. Für den Rest brauch ich den Rechner, das geht schneller.«
Ihre Finger flogen über die Tastatur, während sie ein kleines Programm schrieb. Mark beobachtete fasziniert, in welcher Geschwindigkeit
sich der Bildschirm mit Programmzeilen füllte. Nach wenigen Minuten hatte sie ihre Arbeit beendet und ließ den Compiler die
Quellcode-Zeilen in ein ausführbares Programm umwandeln. Als sie das Programm startete, erschien nur ein kleines Fenster mit
einem Eingabefeld und einem Button mit der Aufschrift »Input«.
Sie gab die Zahl 49607 ein. Augenblicklich erschien ein neues Fenster mit einem Textfeld, in dem zwei Zahlen standen: »113,
439«.
»Na bitte!«
»Was bedeutet das?«, fragte Mark. »Was ist das für ein Programm, das du da geschrieben hast?«
»Primfaktoren-Zerlegung. Eine der ersten Übungen in meinem alten C++-Lehrbuch für Anfänger. Den Code kann ich immer noch auswendig.«
»Und was heißt das jetzt?«
»Das heißt, dass ich leider zugeben muss, dass du anscheinend doch nicht so blöd bist, wie ich immer dachte. 49607 ist das
Produkt zweier Primzahlen, 113 und 439. Das ist garantiert kein Zufall. Es bedeutet, dass man den Text in gleichlange Blöcke
von jeweils 113 oder 439 Zeilen zerlegen kann.
Weitere Kostenlose Bücher