Stadt-Land-Fluss

Beschreibung von Objekten

Wenn man ein Geoinformationssystem mit Prolog erstellen möchte, muss man sich u.a. um die Darstellung der Objekte der "Geo-Miniwelt" kümmern. Hier eine erste Skizze:

% Stadt
stadt(trier).
stadt(mainz).
stadt(koblenz).
stadt(berlin).
stadt('Köln').
stadt('München').
% Land
land('D').
land(deutschland).
land('A').
land(oesterreich).
% Fluss
fluss(mosel).
fluss(rhein).
fluss(spree).
fluss('Isar').
% Eigenschaften
flaeche(deutschland, 357111.91).
flaeche(oesterreich, 83879).
% Beziehungen
liegt_am_fluss(trier, mosel).
liegt_am_fluss(mainz, rhein).
liegt_am_fluss('Köln', rhein).

Aufgabe 1

(a) Wie werden die Städte dargestellt?. Teste hierzu auch die folgende Anfrage an die vorgegebene Wissensbasis.

:- stadt(S).

(b) Warum darf man das Darzustellende und seine Darstellung nicht identifizieren? Teste hierzu auch die folgende Anfrage an die vorgegebene Wissensbasis.

:- land(L).

(c) In der Wissensbasis kommen auch Zahlen vor. Formuliere selbst eine Anfrage (umgangssprchlich und in Prolog), in der die Ergebnisse Zahlen sind.

Beschreibung zusammengesetzter Objekte

Objekte der "Geo-MiniweltWelt" können auch etwas komplizierter sein. Die folgenden Fakten zeigen einige Möglichkeiten auf.

% Einwohnerzahl eines Landes
einwohnerzahl(deutschland, 8.403, datum(1, 10, 2010)).
einwohnerzahl(oesterreich, 81.751, datum(30, 6, 2010)).
% Nationalfeiertag eines Landes
nationalfeiertag(deutschland, datum(3, 10, Jahr)).
nationalfeiertag(oesterreich, datum(26, 10, Jahr)).
% Geografische Lage einer Stadt
lage(berlin, nord(52), ost(13)).
lage('Köln', nord(51), ost(7)).
% Städte am Fluss
staedte_am_fluss(mosel, [metz, 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]).

Aufgabe 2

(a) Stelle die folgende Anfrage an die vorgegebene Wissensbasis.

?- einwohnerzahl(Land, _Zahl, Datum).

Was wird mit dieser Anfrage ermittelt? Wie werden die Ergebnisse dargestellt?.

(b) Stelle Anfragen zur geografischen Lage von Städten. Verwende auch die folgende alternative Darstellung der Daten.

lage(berlin, koordinaten(nord(52), ost(13))).
lage('Köln', koordinaten(nord(51), ost(7))).

(c) An welchem Fluss liegt Trier? An welchen Flüssen liegt Koblenz? Wie wird die Beziehung "Stadt liegt am Fluss" hier dargestellt?

X

Fehler melden

X

Suche