Vergleiche

Lagevergleiche mit Geokoordinaten

Liegt Köln südlich von Frankfurt? Mit den Geokoordinaten der beiden Städte lässt sich diese Frage direkt beantworten.

Wir erweitern die Wissensbasis um ein Prädikat liegt_suedlich_von/2, mit dem man die oben formulierte Frage auch automatisiert auswerten kann.

% Städte mit Geokoordinaten - Version 2
lage(berlin, nord(52.5), ost(13.0)).
lage('Köln', nord(50.93), ost(6.95)).
lage(mainz, nord(50), ost(8.27)).
lage(frankfurt, nord(50.1), ost(8.68)).
lage('München', nord(48.13), ost(11.57)).
lage(hamburg, nord(53.5), ost(10.0)).

liegt_suedlich_von(StadtA, StadtB) :-
  lage(StadtA, nord(NA), ost(_OA)),
  lage(StadtB, nord(NB), ost(_OB)),
  NA < NB.

Hier das Ergebnis einer Anfrage mit dem liegt_suedlich_von-Prädikat:

?- liegt_suedlich_von('Köln', frankfurt).

No

Vergleichsoperatoren

Prolog stellt zum Vergleich von Zahlen folgende Operatoren zur Verfügung.

Vergeich Bedeutung
X < Y X ist kleiner als Y
X > Y X ist größer als Y
X =< Y X ist kleiner oder gleich Y
X >= Y X ist größer oder gleich Y
X =:= Y X und Y sind numerisch gleich
X =\= Y X und Y sind numerisch ungleich

Beachte, dass die Variablen mit Werten belegt sein müssen, damit eine Auswertung eines Vergleichs erfolgen kann.

Aufgabe 1

Entwickle entsprechend ein Prädikat liegt_oestlich_von/2.

X

Fehler melden

X

Suche