www.vorwissen.de
Ein Projekt von vorhilfe.de
Das gesammelte Wissen der Vorhilfe
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Teams · Forum · Wissen · Kurse · Impressum
Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Softwaretechnik und Programmierung" - Prolog-Rätsel
Prolog-Rätsel < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Prolog-Rätsel: Programmierfehler im Programm?
Status: (Frage) überfällig Status 
Datum: 17:50 So 19.06.2011
Autor: Blackwolf1990

Aufgabe
Lösen Sie das folgende Rätsel. Sie soll nur die gegebenen Fakten und Regeln zum Lösen des Rätsels, aber keine von Ihnen zusätzlich herausgefundenen Fakten enthalten.
Gestern Nacht wurde der Tresor einer Bank ausgeraubt. Finden Sie unter
den fünf Männern, die die Kombination kennen, den heraus, der gestern
abend allein war. Es gibt folgende Hinweise:
2 Mr. Jones ist dick und fährt einen VW.
 Mr. Smith fährt einen Jaguar und ist Engländer.
 Der dünne Mann fährt einen Fiat.
 Mr. Poole ist Schotte.
 Mr. Kent trägt einen blauen Anzug.
 Der dicke Mann trägt einen schwarzen Anzug.
 Der dünne Mann ist Ire.
 Mr. Bright trägt einen grünen Anzug und fährt einen Renault.
 Der kleine Mann ist Schotte.
 Der dünne Mann trägt einen blauen Anzug.
 Der Mann normaler Statur ist Kanadier.
 Der Mann im grauen Anzug fährt einen Mazda.
 Der Mann im schwarzen Anzug ist Waliser.
 Der große Mann trägt einen braunen Anzug.
 Letzte Nacht war der Waliser mit dem Kanadier zusammen.
 Letzte Nacht war der große Mann mit dem Mazdafahrer zusammen.


Hallo liebe Kommilitionen!
In unserem Programmiermodul müssen wir dieses RÄtsel in PROLOG umsetzen. Es soll nur eine Lösung herauskommen, aber ich bekomme mit meinem Programm immer wieder false! :-/ Vielleicht könnt ihr mir da weiterhelfen ?!?


/* person(NAME,NATION,KÖRPER,KLEIDUNG,AUTO,ALLEIN) */

person(X) :-
X=[_,_,_,_,_,_],
member([jones,_,dick,_,vw,_],X),
member([smith,englaender,_,_,jaguar,_],X),
member([_,_,duenn,_,fiat,_],X),
member([poole,schotte,_,_,_,_],X),
member([kent,_,_,blauerAnzug,_,_],X),
member([_,_,dick,schwarzerAnzug,_,_],X),
member([_,ire,duenn,_,_,_],X),
member([bright,_,_,gruenerAnzug,renault,_],X),
member([_,schotte,klein,_,_,_],X),
member([_,_,duenn,blauerAnzug,_,_],X),
member([_,kanadier,normal,_,_,_],X),
member([_,_,_,grauerAnzug,mazda,_],X),
member([_,waliser,_,schwarzerAnzug,_,_],X),
member([_,_,gross,braunerAnzug,_,_],X),
not(member([_,waliser,_,_,_,nichtAllein],X)),
not(member([_,kanadier,_,_,_,nichtAllein],X)),
not(member([_,_,gross,_,_,nichtAllein],X)),
not(member([_,_,_,_,mazda,nichtAllein],X)),
member([_,_,_,_,_,allein],X).

Wäre wirklich dankbar, denn ich glaube, bei mir steckt da einfach ein riesiger Denkfehler drin.. :)

LG

        
Bezug
Prolog-Rätsel: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:25 So 19.06.2011
Autor: elchzucht

Musst auch wie ich wahrscheinlich bald abgeben. Hab aber auch keine funktionierende Lösung bis jetzt.
Dein Denkfehler ist, dass X eine Liste ist, die die 5 Lösunglisten enthält. Also es müssten anstellen der 6  Unterstriche 5 sein und das mit dem not ist humburg. Ich zeig dir mal, was ich bis jetzt hab:

run:-
X=[_,_,_,_,_],
member([jones,dick,vw,_,_,_],X),
member([smith,_,jaguar,englaender,_,_],X),
member([_,duenn,fiat_,_,_],X),
member([poole,_,_,schotte,_,_],X),
member([kent,_,_,_,blauenanzug,_],X),
member([_,dick,_,_,schwarzenanzug,_],X),
member([_,duenn,_,ire,_,_],X),
member([bright,_,renault,_,gruenenAnzug,_],X),
member([_,klein,_,schotte,_,_],X),
member([_,duenn,_,_,blauenanzug,_],X),
member([_,normal,_,kanadier,_,_],X),
member([_,_,mazda,_,grauenanzug,_],X),
member([_,_,_,waliser,schwarzenanzug,_],X),
member([_,gross,_,_,braunenanzug,_],X),
member([_,_,_,waliser,_,a],X),
member([_,_,_,kanadier,_,a],X),
member([_,gross,_,_,_,a],X),
member([_,_,mazda,_,_,a],X),
member([_,_,_,_,_,a],X),
write(X),nl.


Bezug
                
Bezug
Prolog-Rätsel: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 00:13 Di 21.06.2011
Autor: cycore

Hallo elchzucht, es freut mich dir mitteilen zu dürfen, dass deines an sich läuft..Es liegt nur ein kleiner Tippfehler vor in der Zeile 5:

member([_,duenn,fiat_,_,_],X),

da fehlt ein Komma, nicht wahr ;)

Ansonsten ist das ganze in der letzten Komponente unterbestimmt und ich verstehe den Sinn und Zweck der Zeile

member([_,_,_,_,_,a],X),

nicht?

gruß cycore

Bezug
        
Bezug
Prolog-Rätsel: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:20 Do 23.06.2011
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorwissen.de
[ Startseite | Mitglieder | Teams | Forum | Wissen | Kurse | Impressum ]