Prolog: komme bei aufgabe nicht weiter

freddmann

Ensign
Registriert
Sep. 2005
Beiträge
241
Im naturwissenschaftlichen Teil eines Schulgebäudes unterrichten Lehrerinnen und
Lehrer für Informatik, Mathematik, Biologie, Physik und Chemie. Zwischen einigen
herrscht Funkstille.
Informatiker sprechen mit Mathematikern und Biologen, Chemiker sprechen mit
Biologen, Mathematiker sprechen mit Physikern. Natürlich unterhalten sich die Lehrer
auch mit den Kollegen, die das gleiche Fach unterrichten. Außerdem spricht jeder mit
demjenigen, der in einem Zimmer direkt neben ihm sitzt (Wand an Wand), aber nicht,
wenn er dafür quer über den Flur laufen muss. Ferner schwatzt die Putzfrau nur mit
Frauen, während sich der Schulgeist nur mit sich selbst unterhält. Außer dem Schulgeist
führt niemand Selbstgespräche.
Wer spricht mit wem?

unbenannt3ke7.jpg


1. Entwickeln Sie ein PROLOG-Programm, das ermittelt, wer mit wem spricht.
(2. Kommentieren Sie ihren Quelltext. )
3. Formulieren Sie eine Regel, mit der man ermitteln kann, wer mit wem nicht spricht.

also. daraus habe ich folgende datenbasis entwickelt, die aber sicherlich schon falsch ist :(
Code:
weibl(fraubyte).
weibl(frauvolta).
weibl(fraupuls).
weibl(fraupol).
weibl(putzfrau).

maennl(herrbit).
maennl(herrprozent).
maennl(herrhelium).
maennl(herrstoff).
maennl(schulgeist).

/* fach(X,Y) heißt: Y unterrichtet im fach X */
fach(info,herrbit).
fach(info,fraubyte).
fach(physik,frauvolta).
fach(bio,fraupulsa).
fach(mathe,herrprozent).
fach(mathe,fraupol).
fach(chemie,herrhelium).
fach(chemie,herrstoff).

/* raumnebeneinander(X,Y) heißt: die räume von X und Y sind nebeneinander */
raumnebeneinander(herrbit,fraubyte).
raumnebeneinander(fraubyte,frauvolta).
raumnebeneinander(frauvolta,fraupuls).
raumnebeneinander(herrprozent,fraupol).
raumnebeneinander(fraupol,herrhelium).
raumnebeneinander(herrhelium,herrstoff).

/* gleichesfach(X,Y) heißt: Y unterrichtet im selben fach wie X */
gleichesfach(herrbit,fraubyte).
gleichesfach(herrprozent,fraupol).
gleichesfach(herrhelium,herrstoff).
(die putzfrau und den schulgeist hab ich aussen vor gelassen)

meine frage jetzt, ist die datenbasis richtig?
und wie geht die regel, irgendwie in der art:
Code:
sprichtmit(lehrer1,...,lehrer2):-  ....
danke für etwaige hilfe
 
Zurück
Oben