Ziele der Aufgaben
Die hier gestellte erste Aufgabe ist ein typisches, wenn auch kleines Forschungsproblem, wie es einem sowohl bei der Arbeit an der Universität, als auch bei der praktischen Arbeit als Informatiker jederzeit über den Weg laufen kann.
Zuerst einmal gilt es, überhaupt eine Lösung zu finden, die funktioniert und diese computergerecht zu beschreiben, einen Algorithmus eben. Wie schon erwähnt, gibt es dabei viele Möglichkeiten, und es gilt, eine möglichst gute zu finden, was in dem Fall heißt, eine, die möglichst wenig Vertauschungen braucht (und dabei auf dem Rechner möglichst schnell läuft).
Die zweite Aufgabe ist eine schwierigere Variante desselben Problems. Das ist auch typisch, man fängt erst einmal mit einer einfachen Variante an und arbeitet sich dann langsam bis zum tatsächlichen Problem vor.
Darüber hinaus sollte man noch anmerken, dass wir es in den beiden Aufgaben hier mit „Spielzeugproblemen“ zu tun haben, die an sich relativ sinnlos sind: wer will schon Wörter umdrehen oder die Reihenfolge der Wörter in einem Satz. Sie sind aber von derselben Art wie Probleme, die tatsächlich in der Praxis auftreten. In der Lehre und zur Veranschaulichung von Methoden sind solche Spielzeugprobleme oft sehr nützlich und begegnen einem von daher auch öfter im Studium.