Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 22. 05. 2013 01:16

zbysekS
Zelenáč
Příspěvky: 1
Škola: Mendelu PEF
Pozice: student
Reputace:   
 

Prolog Einsteinova hadanka prosim radu

Prosim o radu jak vypsat celou tabulku plus kdo chova ryby.

Code:

problem = [
    domov(1, narodnost1, barva1, zvire1, napoj1, cigarety1),
    domov(2, narodnost2, barva2, zvire2, napoj2, cigarety2),
    domov(3, narodnost3, barva3, zvire3, napoj3, cigarety3),
    domov(4, narodnost4, barva4, zvire4, napoj4, cigarety4),
    domov(5, narodnost5, barva5, zvire5, napoj5, cigarety5)
],

%1. Anglican zije v cervenem dome
clen(domov(_,anglican,cerveny,_ ,_ ,_), problem),
%2. Sved chova psy
clen(domov(_,sved,_, psy,_,_), problem),
%3. Dan pije caj
clen(domov(_,dan,_,_,caj,_), problem),
%4 Zeleny dum je hned nalevo od bileho
%5 Obyvatel zeleneho domu pije kavu
clen(domov(N,_,zeleny,_,kava,_),problem),
clen(domov(M,_,bily,_,_,_),problem),
vlevo(N,M),
%6 Ten kdo kouri Pall Mall chova ptaky
clen(domov(_,_,_,ptaci ,_ ,pallmall), problem),
%7 Obyvatel zluteho domu kouri Dunhill
clen(domov(_,_,zluty,_ ,_ ,dunhill), problem),
%8 Ten co zije v prostrednim dome pije mleko
clen(domov(3,_,_,_ ,mleko ,_), problem),
%9 Nor zije v prvnim dome
clen(domov(1,nor,_,_ ,_ ,_), problem),
%10 Ten co kouri Blend, zije vedle toho co chova kocky
clen(domov(N,_,_,_,_,blend),problem),
clen(domov(M,_,_,kocky,_,_),problem),
vedle(N,M),
%11 Ten co chova kone, zije vedle toho, co kouri Dunhill
clen(domov(N,_,_,kone,_,_),problem),
clen(domov(M,_,_,_,_,dunhill),problem),
vedle(N,M),
%12 Ten co kouri Blue Master, pije pivo
clen(domov(_,_,_,_ ,pivo ,bluemaster), problem),
%13 Nemec kouri Prince
clen(domov(_,nemec,_,_ ,_ ,prince), problem),
%14 Nor zije vedle modreho domu
clen(domov(N,nor,_,_,_,_),problem),
clen(domov(M,_,modry,_,_,_),problem),
vedle(N,M),
%15 Ten co kouri Blend, ma souseda, ktery pije vodu
clen(domov(N,_,_,_,_,blend),problem),
clen(domov(M,_,_,_,vodu,_),problem),
vedle(N,M),
%kdo ryba
clen(domov(_,_,ryby,_,_),problem),

clen(H, [H | _]).
clen(X, [_|T]) :- clen(X,T) .
vedle(X,Y):- vlevo(X,Y); vlevo(Y,X).
vlevo(X,Y):- X is Y - 1.

init:- prvek(dum(_,kdo,_,ryby,_,_), write(kdo).

Offline

 

#2 13. 03. 2015 18:54 — Editoval Teressina (13. 03. 2015 19:03)

Teressina
Zelenáč
Příspěvky: 15
Reputace:   
 

Re: Prolog Einsteinova hadanka prosim radu

Vím, že je to s hodně hodně velkým zpožděním, ale všimla jsem si toho až dneska, takže se omlouvám...:)) ale snad lepší pozdě než nikdy, tak tady to je (jestli to ještě k něčemu bude, nebo nemáš výsledky):

žlutý        modrý        červený         zelený         bílý
Nor          Dán           Angličan        Němec        Švéd
Dunhill     Blend         Pall Mall        Prince         Blue Master
voda        čaj             mléko           káva           pivo
kočky       koně          ptáci             ryby           psy

Těžko popsat řešení - já jsem si udělala tabulku a ze zadání doplnila co šlo a zbytek jsem postupně doplňovala tak, že jsem si napsala u všeho, co jsem nevěděla možnosti a postupně odškrtávala, např. voda - modrý, bílý, žlutý --- žlutý atd.
Nejsnáze najděš barvy domů (to je základ) a od toho budeš postupně přidávat další údaje, není to tak těžké, chce to jen trpělivost a přehledný zápis...;))

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson