Hallo ich will dieses logische Rätsel in Prolog aufschreiben:
Vieleicht kann mir da ja mal jemand nen Tip für geben.
"Fünf Männer wohnen in füunf nebeneinander liegenden Häusern unterschiedlicher
Farbe. Sie haben unterschiedliche Geschmacksvorlieben bei Speisen und Getränken und
halten unterschiedliche Haustiere. Ordnen Sie den Häusern die anderen 4 Eigenschaften
zu. Beantworten Sie damit die folgende Frage: Welche Nationalität hat der Halter des
Goldfischs?
1. Der Finne wohnt im ersten Haus
2. Der Holl¨ander wohnt im gr¨unen Haus
3. Der Grieche trinkt gerne Milch
4. Das rote Haus liegt links vom blauen
5. Derjenige, der gern Pizza isst, wohnt neben demjenigen, der eine Katze h¨alt
6. Derjenige, der im gelben Haus wohnt, liebt Schokolade
7. Der Tscheche isst gern Fisch
8. Derjenige, der das Haus in der Mitte bewohnt, trinkt gern Tee
9. Derjenige, der gern Pizza isst, hat einen Nachbarn, der am liebsten Wasser trinkt
10. Derjenige, der am liebsten Bockwurst isst, h¨alt sich V¨ogel
11. Der Franzose h¨alt sich Hunde
12. Der Finne wohnt neben dem weißen Haus
13. Der Liebhaber von Pommes Frites trinkt gern Kaffee
14. Der Pferdeliebhaber wohnt neben dem gelben Haus
15. Im roten Haus trinkt man am liebsten Bier"
Folgende Regeln sind schon vorgegeben:
bei([A1|A0],A):-A1=A;bei(A0,A).
bei([A1|A0],A,[B1|B0],B):-A1=A,B1=B;bei(A0,A,B0,B).
nach(A0,A,[_|B0],B):-bei(A0,A,B0,B).
neben(A0,A,B0,B):-nach(A0,A,B0,B);nach(B0,B,A0,A).
loesung(
[P1,F1,E1,D1,T1],
[P2,F2,E2,D2,T2],
[P3,F3,E3,D3,T3],
[P4,F4,E4,D4,T4],
[P5,F5,E5,D5,T5]):-
[P1,P2,P3,P4,P5]=P,
[F1,F2,F3,F4,F5]=F,
[E1,E2,E3,E4,E5]=E,
[D1,D2,D3,D4,D5]=D,
[T1,T2,T3,T4,T5]=T.
P steht für Personen, F für Farben, E für Gerichte, D für Getränke, T für Tiere
Jetzt müsst ich doch nur noch die 15 Punkte von oben in Prolog-Sprache schreiben oder?
Hab aber schon bei Nummer 1 Probleme...
Bei 5 würd ich sagen heißt es: neben(E,pizza,T,katze).
Würde das so stimmen?
Vieleicht kann mir da ja mal jemand nen Tip für geben.
"Fünf Männer wohnen in füunf nebeneinander liegenden Häusern unterschiedlicher
Farbe. Sie haben unterschiedliche Geschmacksvorlieben bei Speisen und Getränken und
halten unterschiedliche Haustiere. Ordnen Sie den Häusern die anderen 4 Eigenschaften
zu. Beantworten Sie damit die folgende Frage: Welche Nationalität hat der Halter des
Goldfischs?
1. Der Finne wohnt im ersten Haus
2. Der Holl¨ander wohnt im gr¨unen Haus
3. Der Grieche trinkt gerne Milch
4. Das rote Haus liegt links vom blauen
5. Derjenige, der gern Pizza isst, wohnt neben demjenigen, der eine Katze h¨alt
6. Derjenige, der im gelben Haus wohnt, liebt Schokolade
7. Der Tscheche isst gern Fisch
8. Derjenige, der das Haus in der Mitte bewohnt, trinkt gern Tee
9. Derjenige, der gern Pizza isst, hat einen Nachbarn, der am liebsten Wasser trinkt
10. Derjenige, der am liebsten Bockwurst isst, h¨alt sich V¨ogel
11. Der Franzose h¨alt sich Hunde
12. Der Finne wohnt neben dem weißen Haus
13. Der Liebhaber von Pommes Frites trinkt gern Kaffee
14. Der Pferdeliebhaber wohnt neben dem gelben Haus
15. Im roten Haus trinkt man am liebsten Bier"
Folgende Regeln sind schon vorgegeben:
bei([A1|A0],A):-A1=A;bei(A0,A).
bei([A1|A0],A,[B1|B0],B):-A1=A,B1=B;bei(A0,A,B0,B).
nach(A0,A,[_|B0],B):-bei(A0,A,B0,B).
neben(A0,A,B0,B):-nach(A0,A,B0,B);nach(B0,B,A0,A).
loesung(
[P1,F1,E1,D1,T1],
[P2,F2,E2,D2,T2],
[P3,F3,E3,D3,T3],
[P4,F4,E4,D4,T4],
[P5,F5,E5,D5,T5]):-
[P1,P2,P3,P4,P5]=P,
[F1,F2,F3,F4,F5]=F,
[E1,E2,E3,E4,E5]=E,
[D1,D2,D3,D4,D5]=D,
[T1,T2,T3,T4,T5]=T.
P steht für Personen, F für Farben, E für Gerichte, D für Getränke, T für Tiere
Jetzt müsst ich doch nur noch die 15 Punkte von oben in Prolog-Sprache schreiben oder?
Hab aber schon bei Nummer 1 Probleme...
Bei 5 würd ich sagen heißt es: neben(E,pizza,T,katze).
Würde das so stimmen?