Você está na página 1de 3

Segue cdigo

%P (Nome, Posicao, Programa, Horario)


gera (p (N, B, E, H)):member (N, [breno, duda, luis, cezar]),
member (B, [ala_esquerda, atacante, centro, pivo, defesa]),
member (E, [retrospectiva, basquete_e_vc, plantao_esportivo,
puro_esporte]),
member (H, [22:00, 21:00, 20:30, 20:00, 21:00]).
Dif (p (N1, B1, E1, H1), p (N2, B2, E2, H2)):N1\== N2, B1\==B2, E1\== E2, H1\== H2.
todas_dif (P1, P2, P3, P4):dif(P1, P2), dif(P2, P3), dif(P1, P4),
dif(P2, P3), dif(P2, P4), dif(P3, P4).

Solucao (S):S = [P1, P2, P3, P4],


gera (P1), gera (P2), gera (P3), gera (P4),
todas_dif(P1, P2, P3, P4),
member (p(_, defesa, _, 21:00), S), cezar\== retrospectiva,
member (p(luis, _, _, 20:00), S), luis\== atacante,
member (p(breno, _, _, ala_esquerda), S),
member (p(atacante, _, _, basquete_e_vc), S),
member (p(pivo, _, _, esporte_na_rede), S), duda\==
plantao_esportivo,
member (p(plantao_esportivo, _, _, 22:30), S).

gera_ef(P1, P2, P3, P4) :-

P1 = p(breno, _, _, _),
P2 = p(duda, _, _, _),
P3 = p(luis, _, _, _),
P4 = p(cezar, _, _, _),
gera(P1), gera(P2), gera(P3), gera(P4),
todas_dif(P1, P2, P3, P4).

solucao2(S) :S = [P1, P2, P3, P4],


gera(P1), gera(P2), gera(P3), gera(P4),
member(p(_, defesa, _, 21:00), S), cezar\== retrospectiva,
member(p(luis, _, _, 20:00), S), luis\== atacante,
member(p(breno, _, _, ala_esquerda), S),
member(p(atacante, _, _, basquete_e_vc), S),
member(p(pivo, _, _, esporte_na_rede), S), duda\==
plantao_esportivo,
member(p(plantao_esportivo, _, _, 22:30), S),!.

Você também pode gostar