Stadt-Land-Fluss
Eine Bootsfahrt über Flüsse in Deutschland
Kann man von Saarbrücken aus eine Bootsfahrt nach Köln / Frankfurt / Regensburg machen? Die Bootsfahrt soll dabei nur über Flüsse führen. Wir setzen voraus, dass alle (größeren) Flüsse in Deutschland mit einem kleinen Boot befahrbar sind. Wir setzen weiterhin voraus, dass keine Kanäle benutzt werden sollen.
Wir gehen also von einer Miniwelt "Städte an Flüssen" aus und betrachten die folgende Modellierung dieser Miniwelt. Beachte, dass hier nur wenige Flüsse und wenige Städte an diesen Flüssen aufgeführt sind. Beachte auch, dass die Mündung eines Flusses in einen anderen Fluss hier immer an einer bestimmten Stadt liegt (z.B. mündet die Saar bei Konz in die Mosel).
% Fakten zu Städten an Flüssen
staedte_am_fluss(mosel, [metz, konz, trier, bernkastel, cochem, koblenz]).
staedte_am_fluss(saar, ['Saarbrücken', saarburg, konz]).
staedte_am_fluss(rhein, [basel, mannheim, mainz, koblenz, 'Köln', 'Düsseldorf']).
staedte_am_fluss(donau, [ulm, ingolstadt, regensburg, wien, budapest]).
staedte_am_fluss(main, [schweinfurt, 'Würzburg', offenbach, frankfurt, mainz]).
Aufgabe 1
Erstelle zunächst eine Skizze, in der die Flüsse und Städte strukturgetreu abgebildet sind. Es geht dabei insbesondere um die Frage "Welcher Fluss mündet bei welcher Stadt in welchen anderen Fluss?".
Wenn du dich mit Flüssen in Deutschland nicht so gut auskennst, solltest du dich vorab über die Namen der Flüsse und die Lage von Städten an diesen Flüssen informieren, z.B. auf der Webseite zum Wasserstraßennetz.
Aufgabe 2
Du sollst eine Bootstour von Saarbrücken nach Köln / Würzburg / Regensburg planen.
(a) Erstelle selbst (ohne Prolog) Listen mit allen Stationen der Bootstouren.
(b) Welche Listenoperationen sollte man ausführen können, um das "Bootstourproblem" automatisiert lösen zu können? Ergänze hierzu die folgende Aufzählung.
- überprüfen, ob ein Element (Stadt) in einer Liste vorkommt
- ...
Das Lösen dieser Listenprobleme wird dann Gegenstand der weiteren Abschnitte sein.