Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %Presentes de Natal
- /*
- Substituindo os nomes:
- _________________________
- | Atual | Original |
- |-----------|-------------|
- |--willian--|---cristian--|
- |--marcos---|---mario-----|
- |--vitor----|---pedro-----|
- |- vinicius-|---eduardo---|
- |--paul-----|---alex------|
- +-------------------------+
- */
- go :- casas([A,B,C,D,E]),
- writeln("Casa 1:":A),
- writeln("Casa 2:":B),
- writeln("Casa 3:":C),
- writeln("Casa 4:":D),
- writeln("Casa 5:":E).
- %N: nome, I: idade, S: suco, P: profissao, PR: presente, CR: cor.
- casas( [(N1, I1, S1, P1, PR1, CR1),
- (N2, I2, S2, P2, PR2, CR2),
- (N3, I3, S3, P3, PR3, CR3),
- (N4, I4, S4, P4, PR4, CR4),
- (N5, I5, S5, P5, PR5, CR5)]):-
- /* INFO CONHECIDA SOBRE NOMES */
- nome(N1), nome(N2), nome(N3), nome(N4), nome(N5),
- alldifferent([N1, N2, N3, N4, N5]),
- %18. Pedro mora na terceira casa.
- N3 == vitor,
- %19. Eduardo mora exatamente à direita de Pedro. Eduardo == vinicius , Pedro == vitor.
- (
- (N1 == vitor, N2 == vinicius);
- (N2 == vitor, N3 == vinicius);
- (N3 == vitor, N4 == vinicius);
- (N4 == vitor, N5 == vinicius)
- ),
- /* INFO CONHECIDA SOBRE IDADES */
- idade(I1), idade(I2), idade(I3), idade(I4), idade(I5),
- alldifferent([I1, I2, I3, I4, I5]),
- %15. O menino mais novo mora na quinta casa.
- I5 == 6,
- %16. O garoto de 10 anos está em algum lugar entre o de 7 e o de 9 anos, nessa ordem.
- (
- (I2 == 10, (I1 == 7, I3 == 9));
- (I3 == 10, (I2 == 7, I4 == 9));
- (I4 == 10, (I3 == 7, I5 == 9))
- ),
- /* INFO CONHECIDA SOBRE SUCOS */
- suco(S1), suco(S2), suco(S3), suco(S4), suco(S5),
- alldifferent([S1, S2, S3, S4, S5]),
- %6. O menino que gosta de suco de laranja esta em uma das pontas
- (S1 == laranja;S5 == laranja),
- %7.O garoto que gosta de limonada está exatamente à esquerda do que gosta de suco de Morango.
- (
- (S1 == limao, S2 == morango);
- (S2 == limao, S3 == morango);
- (S3 == limao, S4 == morango);
- (S4 == limao, S5 == morango)
- ),
- %9.Cristian gosta de suco de Limão.
- (
- (N1 == willian, S1 == limao);
- (N2 == willian, S2 == limao);
- (N3 == willian, S3 == limao);
- (N4 == willian, S4 == limao);
- (N5 == willian, S5 == limao)
- ),
- /* INFO CONHECIDA SOBRE PROFISSOES */
- profissao(P1), profissao(P2), profissao(P3), profissao(P4), profissao(P5),
- alldifferent([P1, P2, P3, P4, P5]),
- %1.O garoto que quer ser Bombeiro mora em alguma das casas das pontas.
- (P1 == bombeiro ; P5 == bombeiro),
- %2.Quem gosta de Maracujá quer ser Médico.
- (
- (S1 == maracuja, P1 == medico);
- (S2 == maracuja, P2 == medico);
- (S3 == maracuja, P3 == medico);
- (S4 == maracuja, P4 == medico);
- (S5 == maracuja, P5 == medico)
- ),
- %3. Na terceira casa está o garoto que quer ser Professor.
- P3 == professor,
- %4. Em uma das pontas mora o menino que quer ser Policial.
- (P1 == policial;P5 == policial),
- %5. Na quinta casa está o garoto que deseja ser Bombeiro quando crescer.
- P5 == bombeiro,
- %8.Quem quer ser Médico está exatamente à direita de quem gosta de suco de Abacaxi.
- (
- (S1 == abacaxi, P2 == medico);
- (S2 == abacaxi, P3 == medico);
- (S3 == abacaxi, P4 == medico);
- (S4 == abacaxi, P5 == medico)
- ),
- %17. O garoto de 9 anos quer ser Professor quando crescer.
- (
- (I1 == 9, P1 == professor);
- (I2 == 9, P2 == professor);
- (I3 == 9, P3 == professor);
- (I4 == 9, P4 == professor);
- (I5 == 9, P5 == professor)
- ),
- /* INFO CONHECIDA SOBRE PRESENTES */
- presente(PR1), presente(PR2), presente(PR3), presente(PR4), presente(PR5),
- alldifferent([PR1, PR2, PR3, PR4, PR5]),
- %10. O menino de 8 anos mora ao lado do que quer um Computador de presente.
- (
- (I1 == 8, PR2 == computador);
- (I2 == 8, (PR1 == computador ; PR3 == computador));
- (I3 == 8, (PR2 == computador ; PR4 == computador));
- (I4 == 8, (PR3 == computador ; PR5 == computador));
- (I5 == 8, PR4 == computador)
- ),
- %11. O garoto que quer um Skate está exatamente à esquerda da casa do Alex.
- (
- (PR1 == skate, N2 == paul);
- (PR2 == skate, N3 == paul);
- (PR3 == skate, N4 == paul);
- (PR4 == skate, N5 == paul)
- ),
- %13. Na primeira casa mora o garoto que quer uma Bola de presente de natal.
- PR1 == bola,
- %14. Quem quer uma Bicicleta mora ao lado de quem deseja um Vídeo Game de presente.
- (
- (PR1 == bicicleta, PR2 == videogame);
- (PR2 == bicicleta, (PR1 == videogame ; PR3 == videogame));
- (PR3 == bicicleta, (PR2 == videogame ; PR4 == videogame));
- (PR4 == bicicleta, (PR3 == videogame ; PR5 == videogame));
- (PR5 == bicicleta, PR4 == bicicleta)
- ),
- /* INFO CONHECIDA SOBRE CORES */
- cor(CR1), cor(CR2), cor(CR3), cor(CR4), cor(CR5),
- alldifferent([CR1, CR2, CR3, CR4, CR5]),
- %12. Na casa de cor Branca mora o menino que deseja um Vídeo Game de natal.
- (
- (PR1 == videogame, CR1 == branca);
- (PR2 == videogame, CR2 == branca);
- (PR3 == videogame, CR3 == branca);
- (PR4 == videogame, CR4 == branca);
- (PR5 == videogame, CR5 == branca)
- ),
- %20. Eduardo mora na casa de cor Verde.
- (
- (N1 == vinicius, CR1 == verde);
- (N2 == vinicius, CR2 == verde);
- (N3 == vinicius, CR3 == verde);
- (N4 == vinicius, CR4 == verde);
- (N5 == vinicius, CR5 == verde)
- ),
- %21. A casa de cor Branca está exatamente à esquerda da casa do menino que gosta de suco de Maracujá.
- (
- (CR1 == branca, S2 == maracuja);
- (CR2 == branca, S3 == maracuja);
- (CR3 == branca, S4 == maracuja);
- (CR4 == branca, S5 == maracuja)
- ),
- %22. A casa de cor Azul está exatamente à esquerda da casa do garoto que quer um Vídeo Game.
- (
- (CR1 == azul, PR2 == videogame);
- (CR2 == azul, PR3 == videogame);
- (CR3 == azul, PR4 == videogame);
- (CR4 == azul, PR5 == videogame)
- ),
- %23. A primeira casa é Amarela.
- CR1 == amarela.
- %-----FATOS-----
- cor(amarela).
- cor(azul).
- cor(branca).
- cor(verde).
- cor(vermelha).
- %Nomes
- /*
- _________________________
- | Atual | Original |
- |-----------|-------------|
- |--willian--|---cristian--|
- |--marcos---|---mario-----|
- |--vitor----|---pedro-----|
- |- vinicius-|---eduardo---|
- |--paul-----|---alex------|
- +-------------------------+
- */
- nome(willian).
- nome(marcos).
- nome(vitor).
- nome(vinicius).
- nome(paul).
- idade(6).
- idade(7).
- idade(8).
- idade(9).
- idade(10).
- presente(bola).
- presente(bicicleta).
- presente(videogame).
- presente(skate).
- presente(computador).
- suco(limao).
- suco(maracuja).
- suco(morango).
- suco(abacaxi).
- suco(laranja).
- profissao(policial).
- profissao(astronauta).
- profissao(professor).
- profissao(medico).
- profissao(bombeiro).
- %-------------------
- alldifferent([]).
- alldifferent([H|T]):- not(member(H,T)),
- alldifferent(T).
- %Fim
- % ☆*:.。. o(≧▽≦)o .。.:*☆
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement