Das Problem isst folgendes:
Wir arbeiten mit dem Buch "Informatik mit Prolog, Sek II" herrausgegebn vom Hessischen Kultusministerium, und benutzen die Software SWI-Prolog Editor.
Unser Thema ist gerade Listenoperatoren, aber das ist momentan eher nebensächlich.
Denn wir, der Lehrer und ich, sind auf folgendes Problem gestoßen:
Nomalerweise gibt man die Zugehörigkeit wie folgt an:
Was soviel heisst wie: Paul ist der Vater von Maria.
Abfragen tut man wie folgt:
Die Antwort fällt positiv aus, also ist die Anfrage korrekt.
Unser Problem ist das wir Listen keinen Namen zuweisen können:
Bei einer Anfrage wie z.B.
Kommt immer ein "no" bei raus.
Wenn man bei der Abfrage die Liste komplett mit angibt:
funktioniert es.
Es kann doch nicht sein dass man keinen Datensatz vorgeben kann um ihn dann per Namen abzurufen und zu benutzen.
Die Frage ist wie man einer Liste einen verwendbaren Namen zuweist.
P.S.:
Im letzten Code habe ich die Klammern wahrscheinlich vertauscht, bitte nicht schlagen, korrigiert mich lieber.
Danke
Jack
Wir arbeiten mit dem Buch "Informatik mit Prolog, Sek II" herrausgegebn vom Hessischen Kultusministerium, und benutzen die Software SWI-Prolog Editor.
Unser Thema ist gerade Listenoperatoren, aber das ist momentan eher nebensächlich.
Denn wir, der Lehrer und ich, sind auf folgendes Problem gestoßen:
Nomalerweise gibt man die Zugehörigkeit wie folgt an:
Code:
vater(paul, maria).
Abfragen tut man wie folgt:
Code:
?- vater(paul, maria).
yes.
Die Antwort fällt positiv aus, also ist die Anfrage korrekt.
Unser Problem ist das wir Listen keinen Namen zuweisen können:
Code:
liste1(a,a,a,b,b,c,c).
mitglied(X, [X|_]).
mitglied(X, [_|Y]):-
mitlgied(X, Y).
Bei einer Anfrage wie z.B.
Code:
?- mitglied(b,liste1).
Kommt immer ein "no" bei raus.
Wenn man bei der Abfrage die Liste komplett mit angibt:
Code:
?- mitglied(b, [liste1(a,a,a,b,b,c,c)]).
Es kann doch nicht sein dass man keinen Datensatz vorgeben kann um ihn dann per Namen abzurufen und zu benutzen.
Die Frage ist wie man einer Liste einen verwendbaren Namen zuweist.
P.S.:
Im letzten Code habe ich die Klammern wahrscheinlich vertauscht, bitte nicht schlagen, korrigiert mich lieber.
Danke
Jack